You are on page 1of 6

HOW TO USE GITLAB STEP-BY-STEP

Basic Only

Expecially for my big chief - Dũng NV

* Gitlab là một công cụ rất quan trọng để quản lý source code khi vận hành hệ thống, đặc biệt là
đối với các hệ thống NAT và VPN trên IDC của Vccorp. Bởi vì yếu tố đặc thù của hệ thống này
là sử dụng Keepalived – VRRP để chạy master-backup và đồng bộ dữ liệu, chưa kể là hai hệ
thống này sẽ thường được các dự án yêu cầu thay đổi route liên tục. Do đó việc sử dụng gitlab để
quản trị các file add route và add rule iptables là vô cùng cần thiết để cho những nhân sự trẻ
trong team có thể nắm được thông tin khi vận hành hệ thống. Tuy nhiên đây chỉ là việc ta thao
tác với git để đồng bộ file source code giữa server và gitlab, chứ không ảnh hưởng trực tiếp
đến file source code chính đang chạy, khi cần thực hiện yêu cầu của dự án thì ta vẫn phải
thay đổi trực tiếp trên file source code chính.

Link gitlab source code của hai hệ thống NAT và VPN trên IDC (phải truy cập thông qua VPN)
http://git.cnht.vn/manhnh/GatewayFailOver
http://git.cnht.vn/manhnh/VPN

* Lưu ý
Khi thực hiện thay đổi context các file ví dụ như master.sh trên server NAT hay gre_add_fpt.sh
trên server VPN thì ta sẽ không sửa trực tiếp trên những file này mà ta sẽ clone file này từ trên
gitlab về để thay đổi sau đó mới commit để lưu. Việc thay đổi code này sẽ phải thực hiện 2
lần, một là trên file code chính đang chạy theo đường dẫn /etc/keepalived và hai là trên file
code ta clone về từ git để commit

* All the step-by-step to use gitlab


Ví dụ trên server VPN NPS 2
• Step 1
Đứng ở đường dẫn thư mục người dùng ví dụ như /home/lamtn rồi clone thư mục VPN trên
gitlab về bằng command sau

git clone https://git.cnht.vn/manhnh/VPN.git


Lấy đường dẫn này bằng cách truy cập vào http://git.cnht.vn/manhnh/VPN trên trình duyệt web

Khi clone git về server, thì ta sẽ bị hỏi thông tin đăng nhập vào trang git.cnht.vn bao gồm
user/pass

• Step 2
Chuyển thư mục đang đứng hiện tại về đường dẫn thư mục của git, ví dụ như ta đang đứng ở trên
server VPN NPS 2 và cần thay đổi file gre_add_fpt.sh thì ta sẽ vào thư mục sau

lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ pwd
/home/lamtn/VPN/NPS_FPT/NPS2
lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ ls
gre_add_fpt.sh gre_del_fpt.sh keepalived.conf

sau đó, kiểm tra tình trạng hiện tại của các file này (file đã được thay đổi gì chưa, thời gian thay
đổi như nào, thêm thắt ra sao,...) trong thư mục này bằng command “git status”
lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
Nếu trả về kết quả như này, thì tức là các file code trên server và trên git là đồng bộ như nhau và
chưa được thay đổi gì.

• Step 3
Sử dụng câu lệnh git add để thêm tất cả các file code mới hoặc các file code cần được chỉnh sửa
vào reposirory

$ git add your_file_name - Thêm một file (thêm mới hoặc chỉnh sửa) vào staging area

$ git add * - Thêm tất cả các file (thêm mới hoặc chỉnh sửa) vào staging area

Ví dụ, ta sẽ cần chỉnh sửa file gre_add_fpt.sh thì ta sẽ add file đó để thao tác

lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ git add gre_add_fpt.sh

Sau khi add xong, kiểm tra lại bằng command “git status” và trả lại được về kết quả như sau thì
ta có thể chỉnh sửa file tùy theo yêu cầu của dự án như bình thường

lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ git status


On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: gre_add_fpt.sh

• Step 4
Sau khi đã chỉnh sửa và lưu lại file code xong, ta sử dụng command “git commit”
Đây là câu lệnh được sử dụng phổ biến nhất, câu lệnh này sẽ giúp chúng ta lưu các thay đổi ở các
file trong vùng staging area xuống repository.
Có thể hiểu git add dùng để thêm thêm các file được thay đổi hoặc thêm mới vào vùng staging
area, và chúng sẽ sẵn sàng để commit và sau đó những thay đổi này sẽ được lưu xuống
repository.

git commit -m “your useful commit message”

Ví dụ ở đây, sẽ là
lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ git commit -m "lamtn test commit"
[master 6275cdb] lamtn test commit
1 file changed, 1 insertion(+)

• Step 5
Khi đã kết nối giữa local và dịch vụ lưu trữ git, chúng ta cần sử dụng lệnh git push để đồng bộ
những thay đổi được commit trên local lên dich vụ lưu trữ.

$ git push -u <short_name> <your_branch_name>

Hoặc ta có thể set git push về thư mục mặc định trên git cùng tên với nó như sau, rồi push lên git

lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ git config --global push.default matching


lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ git push
Username for 'https://git.cnht.vn': lamtn
Password for 'https://lamtn@git.cnht.vn':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 527 bytes | 0 bytes/s, done.
Total 5 (delta 2), reused 0 (delta 0)
To http://git.cnht.vn/manhnh/VPN.git
cad02db..6275cdb master -> master
Ta có thể kiểm tra lại trên trình duyệt web như sau

Hoặc là, ta có thể thay đổi trực tiếp file source code trên trình duyệt web sau đó pull file source
code đấy về server bằng command “git pull”, kết quả sẽ trả về như sau nếu pull thành công.

lamtn@VPN-VDC-2:~/VPN/NPS_FPT/NPS2$ git pull


Username for 'https://git.cnht.vn': lamtn
Password for 'https://lamtn@git.cnht.vn':
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
From http://git.cnht.vn/manhnh/VPN
6275cdb..f816cce master -> origin/master
Updating 6275cdb..f816cce
Fast-forward
NPS_FPT/NPS2/gre_add_fpt.sh | 1 +
1 file changed, 1 insertion(+)

You might also like