Tuấn Sữa

Triển khai một ứng dụng Laravel với gitlab CI/CD

Khi tôi muốn triển khải cập nhật mới nhất lên VPS, tôi luôn luôn kết nối vào Server với SSH và pull code từ project về, cài đặt Packages mới nhất, chạy migrations. Tôi thấy lười khi phải lặp đi lặp lại quá trình này. Auto deployment đến giúp tôi giải quyết nó. Vậy nên bất cứ khi nào tôi sửa code và push nó, tôi muốn dự án của mình khởi động và chạy với bản cập nhật mới nhất. Tôi có nhiều sự lựa chọn để giải quyết vấn đề này bao gồm Jenkins, TeamCity, CircleCi và nhiều cách khác. Nhưng mà dự án của tôi được lưu trữ trên Gitlab và tôi không có nhiều dung lượng cho công cụ hàng trăm MB trên VPS của tôi.

Tôi sẽ cài đặt trên Ubuntu 16.04. Các bước chúng ta sẽ làm là:

Tạo người dùng deployer

ssh root@your_ip_address
sudo adduser deployer      # Fill in user info and password
sudo usermod -g www-data deployer # Assign group www-data(primary)
ssh deployer@your_ip_address
ssh-keygen
cat /home/deployer/.ssh/id_rsa #show private key in terminal, and copy it using mouse

Cài đặt gitlab runner

Trong Gitlab, Runners chạy  các công việc trong .gitlab-ci.yml. Một Runner có thể là 1 máy chủ ảo, một VPS,  một máy bare-metal, một docker container hoặc một cluster container. Gitlab và Runners giao tiếp thông qua API. Vì vậy, yêu cầu duy nhất là máy chạy Runner có quyền truy cập mạng vào máy chủ GitLab.

Cài đặt Runners

ssh root@your_ip_address
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash

a

Exit mobile version