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.keygitlab_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:

💡
Nếu không đúng path, lên chrome search 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

0
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

Phan Văn Hoàng
Phan Văn Hoàng