Giới thiệu tổng quan GitLab CI -

Giới thiệu tổng quan GitLab CI -

Giới thiệu tổng quan GitLab CI -

Giới thiệu tổng quan GitLab CI -

Giới thiệu tổng quan GitLab CI -
Giới thiệu tổng quan GitLab CI -
(028) 35124257 - 0933 427 079

Giới thiệu tổng quan GitLab CI

25-08-2020

1.Giới thiệu GitLab CI

Hiện nay, hầu như các bạn đã từng nghe đến hệ thống CI/CD. Mục tiêu của nó là tự động hóa các khâu trong quy trình phát triển phần mềm hiện nay cũng như là tự động hóa cấu hình cho các thiết bị mạng.

Có rất nhiều hệ thống như Gitlab, JenkinCircle-CI có thể giúp bạn làm được điều đó. Trong bài viết này, sẽ giới thiệu với các bạn tổng quan Gitlab CI và cách để xây dựng một hệ thống cơ bản.

2.Git và GitLab Flow cơ bản

a.Git cơ bản

 

Các command cần thiết sẽ như sau:

Đây là các command basic khi tạo mới một project.

b.Gitlab CI - Flow cơ bản

Developer hoàn thành một feature nào đó và push lên Gitlab để mọi người review. Khi đó GitLab cũng bắt đầu thực hiện công việc mà nó được giao.

Để GitLab CI cỏ thể hoạt động được chúng ta sẽ cần 02 thành phần:

File .gitlab-ci.ym: nằm trong thư mục gốc của repo, file này sẽ định nghĩa các Job để thực hiện, các Job sẽ chạy như thế nào, ở đâu và cấu hình project sử dụng các Runner.

Gitlab Runner: Có nhiệm vụ clone project về, đọc file .gitlabci.yaml và thực hiện các hưởng dẫn trong file. Luồng thực hiện như sau:

Khi chúng ta chạy git push hoặc click vào pipeline thì gitlab repo sẽ thông báo đến cho gitlab runner, khi đó gitlab runner sẽ pull code mới về, đọc file gitlab-ci.yaml và thực hiện theo các bước đã được định nghĩa trong đó.

Một Pipeline CI sinh ra và report sẽ được hiển thị giao diện sau.

Vậy Pipelines là gì?

Là thành phần cấp cao nhất của tích hợp, phân phối và triển khai liên tục.

Pipelines are the top-level component of continuous integration, delivery, and deployment.

Pipeline bao gồm:

  • Jobs: Các công việc được giao thực thi. (Ví dụ: biên dịch mã hoặc chạy test)
  • Stage: Xác định các thời điểm và cách thực hiện. (Ví dụ: test chỉ chạy sau khi biên dịch thành công)

Pipeline hoạt động theo nguyên tắc sau :

  • Tất cả các công việc trong cùng một stage được Runner thực hiện song song, nếu có đủ số lượng Runner đồng thời.
  • Nếu Success, pipeline chuyển sang stage tiếp theo.
  • Nếu Failed, pipeline sẽ dừng lại. Có một ngoại lệ là nếu job được đánh dấu làm thủ công, thì dù bị fail thì pipeline vẫn tiếp tục.

Bên dưới là ví dụ về đồ thị Pipeline thông thường :

Tóm lại, các bước để Gitlab CI hoạt động như sau :

  • Thêm.gitlab-ci.yml vào thư mục gốc của repo.
  • Cấu hình gitlab Runner

3.Cấu hình GitLab CI

a.Tạo và clone project trên gitlab

Để tạo được project trên GitLab, bạn cần thực hiện:

 

  • Cấu hình ssh-key để có thể thực hiện clone, pull, push,… code

Tạo và sao chép thông tin public:

Cấu hình public key đã tạo ở trên như sau:

b.Cấu hình .gitlab-ci.yml

 

image: python:latest

 

stages:

  - validate

  - test

  - build

  - deploy

  - request deploy to production

validate:

  stage: validate

  script:

    - echo "VALIDATE"

test:

  stage: test

  script:

    - echo "TEST"

build:

  stage: build

  script:

    - echo "BUILD"

 

deploy:

  stage: deploy

  script:

    - echo "DEPLOY"

request deploy to production:

  stage: request deploy to production

  script:

    - echo "request deploy to production:"

  only:

    - master

.gitlab-ci.yml được viết theo định dạng YAML.

Như đã đề cập ở trên, .gitlab-ci.yml cho Runner biết những công việc cần phải làm. Mặc định, nó sẽ chạy một pipelines với 05 stage :

  • validate
  • build
  • test
  • deploy
  • request deploy to production

Tuy nhiên, chúng ta không cần phải sử dụng cả 05 stage, các stage không được giao việc sẽ được bỏ qua.

Khi define xong, chúng ta sẽ chạy các command sau để commit và push lên repo của gitlab:

  • git add.gitlab-ci.yml
  • git commit -m "Add.gitlab-ci.yml"
  • git push origin master

c.Gitlab Runner

Trong gitlab, các Runner thực thi các jobs được định nghĩa trong file .gitlab-ci.yml.

Một Runner có thể xác định cụ thể cho một dự án nhất định hoặc phục vụ cho nhiều dự án trong Gitlab. Nếu nó phục vụ cho tất cả project thì được gọi là Shared Runner. Trong bài viết này sẽ không nói sâu vào cái đặt và cấu hình Runner, sẽ dung Shared Runner mặt định trên gitalb.com.

Cụ thể hơn về cài đặt và cấu hình Runner sẽ được giới thiệu ở loạt bài viết sau.

Để xác định xem Runner nào được chỉ định cho project của bạn. Vào Settings -> CI/CD.

d.Kết quả Pipeline

Với file .gitlab-ci đã cấu hình ở trên và sử dụng default runner của gitlab.com thì Pipelines sẽ như sau:

Chúng ta cũng có thể xem cụ thể từng Jobs bằng cách truy cập Pipelines -> Jobs, chọn job cụ thể cần xem. Xem từng Jobs để có thể biết được cụ thể từng Jobs các lỗi

 


FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0