thetvbytesoft

Gitab CI cơ chế hoạt động thế nào và làm sao để tăng tốc

Đánh giá bài viết

1 post trong bài viết này

Khái niệm CI/CD không còn xa lạ, khi đã xong hoàn tất, việc kiểm tra code trở thành nhu cầu thiết yếu với mọi người project. Lập trình viên có thể sử dụng Travis, Jenkin, Gitlab CI, hỗ trợ cho quá trình học tập
 
%2BGitab-CI-co-che-hoat-dong-the-nao-lam
 
Hôm nay, chúng tôi xin giới thiệu về Gitlab CI, nền tảng hoạt động nó như thế nào, cùng là một vài tuỳ chỉnh giúp tốc độ xử lý của nó nhanh hơn và tối ưu tích hợp luôn
 
Xem thêm: viết phần mềm
 
Nền tảng Gitlab CI hoạt động thế nào
 
 
Để Gitlab công nhận repository cần ứng ụng CI, cần khi báo 1 file .gitlab-ci.yml nằm ở thư mục gốc. File này phải được đặt đúng tên và có định dạng hợp lệ, khi ấy gitlab mới xác định và áp dụng CI cho  repository của bạn.
 
 
Xem thêm: lập trình website
 
Bất cứ khi nào bạn commit gì đó lên repository , GitLab sẽ tìm kiếm file .gitlab-ci.yml  và bắt đầu công việc trên Runners theo những nhiệm vụ được định nghĩa trên file ".yml". Nội dung file gồm những section, lệnh thực thi, biến,  ... mà bạn muốn thực hiện trong quá trình triển khai.
 
Lưu ý rằng: ".gitlab-ci.yml" là một tệp YAML vì vậy bạn cần chú ý đến thụt đầu dòng. Luôn sử dụng dấu cách, không phải tab.
 
Gitlab runner
 
Các nhiệm vụ được định nghĩa trong tệp  ".gitlab-ci.yml" nhưng để thực hiện chúng cần tới Gitlab runner
 
Runner có thể là một chương trình, 1 container, nó thực thi những câu lệnh và báo kết quả trả về cho gitlab. Runner có nhiều loại, phân biệt dựa vào executor. Khi khởi tạo runner, việc chọn executor nào sẽ quyết định môi trường thực thi các câu lệnh trong file yml kể trên.
 
Để liên kết runner với gitlab, cần thực hiện đăng ký với mỗi repository áp dụng CI, token được lấy tại Settings ➔ CI / CD trong từng repo
 
Sau khi đăng ký thành công, runner sẽ thực hiện các câu lệnh được khai báo thành các pipeline, trong đó gồm các jobs được định nghĩa trong tệp ".gitlab-ci.yml
 
Tăng tốc việc thực thi
 
Quá trình biên dịch , xử lý, test, ... có thể mất hàng chục phút để hoàn thành, thậm chí hàng giờ, một số cấu hình dưới đây sẽ giúp rút ngắn thời gian đó.
 
1. Cài đặt Gitlab Local
 
Thay vì quản lý và triển khai dự án trên gitlab global, bạn có thể cài đặt gitlab và gitlab runner trên local. Cụ thể bạn có thể sử dụng docker cho quá trình đó, nó sẽ giúp việc thực hiện nhanh hơn do sử dụng tài nguyên trên chính các máy chủ của bạn.
 
2. Sử dụng trình điều khiển overlay2
 
Theo mặc định, khi sử dụng docker: dind, Docker sử dụng trình điều khiển vfs  trên mọi lần chạy. Thay vào đó, sử dụng trình điều khiển overlay2 sẽ giúp quá trình thực thi nhanh hơn, việc cấu hình cũng rất đơn giản, dễ dàng khai báo trong tệp ".gitlab-ci.yml"
 
3. Tối ưu hóa source code
 
Thay vì sử dụng quá nhiều cài đặt phụ thuộc, hay  biên dịch lại Dockerfile mỗi lần thực thi, bạn có thể tối ưu việc cài đặt thêm những thư viện trong quá trình biên dịch, hoặc sử dụng cache cho việc build docker image nhằm rút ngắn thời gian.
 
4. Sử dụng các job song song thay vì lần lượt các job
 
Điều đó thực sự hữu ích với các công việc có thể độc lập thực hiện mà không phải chờ kết quả của công việc khác
 
5. Hạn chế chia câu lệnh ra quá nhiều job
 
Bởi, trước mỗi job thực hiện sẽ có khoảng thời gian pending cho việc đó. Chính vì vậy, hãy gộp những câu lệnh có thể vào chung job, thời gian pending rút ngắn cũng không phải là ít. Lưu ý, không gộp chung quá nhiều câu lệnh, khi biên dịch 1 câu lệnh có lỗi, sẽ khiến cả job phải chạy lại.
 
6. Sử dụng cache của gitlab
 
Giả sử mỗi lần thực thi lại cần cài đặt đầy đủ nodee module cho một project nodejs, quá trình đó sẽ tốn rất nhiều thời gian, thay vào đó, Gitlab cho phép bạn sử dụng cache nhằm rút ngắn thời gian.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Đăng nhập

Already have an account? Sign in here.


Sign In Now