Ci/cd là gì

Có lẽ các bạn đã từng có lần nghe ở chỗ nào đó về continuous integration (CI - tích thích hợp liên tục) cùng continuous deployment (CD - thực thi liên tục). Trong bài viết này mình đang gắng gằng phân tích và lý giải và gợi ý chúng ta setup áp dụng Gitlab CI, CD một phương pháp dễ hiểu duy nhất.

Bạn đang xem: Ci/cd là gì

CI - Tích vừa lòng liên tục là gì?

Nghe thương hiệu thôi là cũng xấp xỉ sát phát âm rồi, nôm mãng cầu nó là phương pháp cách tân và phát triển ứng dụng yên cầu dev nộp code thường xuyên, nộp code hằng ngày. Code được “tích hợp” thường xuyên lên thử nghiệm VPS, lúc một đoạn code bị lỗi, cả team có thể nhanh chóng vạc hiện tại với sửa chữa thay thế tức thì mau chóng.

CD - Triển khai tiếp tục là gì?

Đồng hành thuộc tích phù hợp liên tục, tiến hành thường xuyên là tiếp tục release phiên bản mới lên môi trường kiểm tra, Việc này được ra mắt auto, sút trọng trách mang lại thiết kế viên để xây dựng viên tập trung vào vấn đề code mà thôi.

ví dụ như thông thường, để xuất phiên bản website, các bạn đề nghị có tác dụng không hề ít máy, tự upload code lên server, chạy migrate tài liệu, thông số kỹ thuật tệp tin config những loại, siêu tốn thời hạn với dễ sai sót. Thì cùng với thực hiện thường xuyên, bạn chỉ việc push code lên git là các sản phẩm được auto deploy lên VPS thử nghiệm nhưng chúng ta không cần phải chạm chân chạm tay gì.

Nội dung chủ yếu của nội dung bài viết này đang chỉ dẫn chúng ta thiết lập làm sao nhằm nó “trường đoản cú động” được.

Continuous Deployment với Gitlab CI - CD

Gitlab là mã mối cung cấp mở nhằm tạo git server, nôm na là để sinh sản hệ thống như là github. Gitlab CI - CD là 1 trong tool tự động hóa deploy ứng dụng, thật ra thì có tương đối nhiều tool tương tự (ví dụ Jenkins, Travis CI) tuy nhiên vào độ lớn nội dung bài viết này, bản thân đã gợi ý các bạn thực hiện Gitlab CI - CD để tự động deploy áp dụng.

Thêm chiếc hình sơ trang bị mang đến nó nguy hiểm:

*

Theo sơ thiết bị trên, trước tiên, một thằng dev làm sao kia push code lên gitlab.

Lúc code trên gitlab biến hóa, Gitlab đang Hotline thằng Gitlab runner đã làm được cài đặt sẵn trên server của chính bản thân mình.

Gitlab runner nghe thấy, nó sẽ làm tất cả những quá trình sót lại, đem code về, download những packages, copy file, sửa file config… vân vân với vân vân, nó có tác dụng tất cả đa số gì họ chỉ định và hướng dẫn cho nó.

Đến đây thì có lẽ rằng các bạn đang thấy hí hửng rồi, câu hỏi của dev chỉ nên push code lên cùng đi uống coffe, tất cả những bài toán còn lại là auto.

Xem thêm: Ground Beef Là Gì - (2021) ✔️ Cẩm Nang Tiếng Anh ✔️

Cài đặt như vậy nào?

Phần 1: Cấu hình gitlab CI

Để gitlab đọc được rằng repo của họ có áp dụng tính năng tự động deploy, bọn họ đề nghị chế tạo tệp tin .gitlab-ci.yml đặt tại thư mục gốc của project. Đây là file .gitlab-ci.yml của mình:


deploy-test: before_script: - "which ssh-agent || ( yum update -y && yum install openssh-client -y )" - eval $(ssh-agent -s) - eđến "$SSH_PRIVATE_KEY" | tr -d " " | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh - whoamày - cd /var/www/html/project_thư mục script: - git pull - cp app/install/.server_test_db.php app/config/database.php - php index.php migrate only: - test-server
Giải thích:

Chúng ta sẽ đặt một job thương hiệu là deploy-demo, chúng ta cũng có thể thêm các job không giống tương tự phụ thuộc vào mong muốn.

before_script: là đoạn script mặc đinh, nó đã chạy trước tiên, ở đây nó đang chứng thực private key (tí mình đang nói ở vị trí dưới), có tác dụng vài ba thiết bị linc tinh cùng cd vào tlỗi mục dự án.

script: là tất cả phần lớn lệnh nhưng bạn muốn gitlab runner đã chạy, rõ ràng sống ví dụ này, bản thân sửa tệp tin .htaccess để lấy website về chính sách bảo dưỡng, rước code về, copy file cấu hình database vào đúng địa điểm, chạy migrate dữ liệu và msinh sống lại trang web. Tóm lại là bạn muốn nó làm những gì thì cđọng điền câu lệnh buộc phải làm vào chỗ này.

only: là nhánh bạn cần deploy, tại chỗ này bản thân chế tạo luôn một nhánh tên là test-server rồi, cứ mẫu nhánh này có đổi khác code thì job đã chạy.

Phần 2: Cài đặt gitlab runner:

Như phân tích và lý giải sinh sống hình bên trên, gitlab runner là 1 tool được cài bên trên server, chú ý lắng tai, bao giờ được bảo làm gì thì làm cho kia.

Cách thiết lập thì bên trên document của chính nó bao gồm rồi, dẫu vậy theo kinh nghiệm của chính bản thân mình, bạn chớ sở hữu phiên bản 10, lỗi bản thân không Chịu trách nhiệm :)

Trên centos bản thân tải bản 9 nhỏng sau:


curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | suvì bashsubởi yum install gitlab-ci-multi-runner
Cài đặt hoàn thành, bước tiếp theo sau chúng ta buộc phải đăng ký một runner, trước tiên các bạn vào Settings - CI - CD mtại phần Runners settings để đưa token.

*

Giờ thì chúng ta đăng ký runner mới bởi lệnh này:


Quá trình đăng ký runner khá đơn giản và dễ dàng, nó vẫn hỏi đầy đủ những phong cách, bài toán của bạn là cứ trả lời theo nó thôi, lúc nó hỏi token thì paste token sinh sống bước trước vào.

Phần 3: Kết nối gitlab runner cùng với repo của mình:

Bây giờ gitlab với gitlab runner vẫn không thấy được nhau, ta nên kết nối thằng gitlab runner này cùng với repo của bản thân. Muốn liên kết được bọn họ buộc phải add key vào gitlab, để gitlab rất có thể Điện thoại tư vấn mang đến VPS của họ. Quý Khách chạy ssh-keygen để tạo ra ssh kehệt như bình thường, trường hợp gồm key rồi thì thôi.

Mlàm việc nó ra bởi trình biên soạn thảo thích thú của bạn:


quý khách hàng hãy copy nội dung private key, quay trở về gitlab, dán tổng thể ngôn từ sẽ copy dán vào, tên variable key cần phải là SSH_PRIVATE_KEY

*

Đến trên đây thì các bạn đã kết thúc thiết lập sẽ hoàn chỉnh, chúng ta có thể coi list những task, tâm lý task được run thành công hay là không, pass tốt fail.

Xem thêm: " When It Comes To Là Gì - When It Comes To Có Nghĩa Là Gì

*

Kể từ phía trên cđọng mỗi lần chúng ta push code lên, nó sẽ auto có tác dụng đông đảo sản phẩm, quá nhàn rỗi, cuộc đời thật là sáng chóe.