Gitlab-CI

Cài đặt gitlab server và gitlab runner
Cài đặt gitlab server bằng repositories:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
# Lệnh kiểm tra các version có sẵn
# apt-cache madison gitlab-ee
sudo apt-get install gitlab-ee=17.1.0-ee.0
Cài đặt gitlab runner:
sudo apt update
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
sudo apt install gitlab-runner -y
Cấu hình SSL cho gitlab server
Tạo CA certificate:
openssl genrsa -out CA.key 2048
openssl req -x509 -sha256 -new -nodes -days 3650 -key CA.key -out CA.pem
Tạo SSL certificate signing request:
openssl genrsa -out gitlab_hoangpv_com.key 2048
openssl req -new -key gitlab_hoangpv_com.key -out gitlab_hoangpv_com.csr
Tạo file text dùng để ký certificate signing request gitlab_hoangpv_com.ext
:
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = gitlab.hoangpv.com
IP.1 = 192.168.1.102
Ký SSL certificate:
openssl x509 -req -in gitlab_hoangpv_com.csr -CA CA.pem -CAkey CA.key -CAcreateserial -days 3650 -sha256 -extfile gitlab_hoangpv_com.ext -out gitlab_hoangpv_com.crt
Tạo thư mục ssl
ở trong /etc/gitlab/
, sau đó chuyển file gitlab_hoangpv_com.key
và gitlab_hoangpv_com.crt
vào đó:
sudo cp gitlab_hoangpv_com.crt gitlab_hoangpv_com.key /etc/gitlab/ssl/
Cấu hình file /etc/gitlab/gitlab.rb
, tìm và chỉnh sửa các dòng này:
external_url 'https://gitlab.hoangpv.com'
nginx['enable'] = true
nginx['listen_port'] = 443
nginx['listen_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.hoangpv.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.hoangpv.com.key"
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
Áp dụng thay đổi:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
Lấy cert CA từ server ra bên ngoài máy cá nhân:
# Lấy CA.pem tạo từ đầu
scp hoangpv@192.168.1.102:/tmp/ssl/CA.pem .
Mở trình duyệt Chrome và tìm chrome://certificate-manager/
:
Vì bạn đang sử dụng domain tự tạo, nên muốn truy cập bên ngoài cần thêm dòng sau vào file C:\Windows\System32\drivers\etc\hosts
:
host path windows
192.168.1.102 gitlab.hoangpv.com
Truy cập vào domain:
Liên kết gitlab runner với dự án
Lấy token cho runner dự án:
Trên server gitlab runner:
gitlab-runner register
Điền một số thông tin cần thiết:
Chạy gitlab runner:
nohup gitlab-runner run --working-directory /home/gitlab-runner/ --config /etc/gitlab-runner/config.toml --service gitlab-ru
nner --user gitlab-runner 2>&1 &
—working-directory: thư mục làm việc
—config: file config
nohup: giúp tiến trình không dừng khi đóng terminal
&: giúp tiến trình chạy nền
2>1&: ghi log
Subscribe to my newsletter
Read articles from Phan Văn Hoàng directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
