digi2936
03-10-2019, 02:52 PM
định nghĩa CI/CD ko còn mới, việc tự động hóa công đoạn trẻ tự học lập trình (https://mindx.edu.vn/course/fullstack-web) khai triển và kiểm tra code phát triển thành nhu cầu cấp thiết có mọi project. Những công cụ hoàn hảo như Travis, Jenkin, Gitlab CI đã tương trợ đa số cho lập trình viên trong đông đảo các thời kỳ đó.
Bài viết xin giới thiệu về Gitlab CI và phương pháp hoạt động của nó, cùng có ấy là một đôi tùy chỉnh giúp tăng tốc và tối ưu việc tích hợp.
Gitlab CI hoạt động thế nào
Để Gitlab nhận biết repository cần áp dụng CI, cần khi báo một file .gitlab-ci.yml nằm ở thư mục gốc. File này phải được đặt đúng tên và sở hữu định dạng hợp thức, khi đó gitlab mới xác định và vận dụng CI cho repository của bạn.
Bất cứ lúc 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 khái niệm trên file ".yml". Nội dung file gồm các section, lệnh thực thi, biến, ... Mà bạn muốn thực hành trong quá trình triển khai.
Gitlab runner
các nhiệm vụ được khái niệm trong tệp ".gitlab-ci.yml" nhưng để thực hiện chúng cần đến Gitlab runner
Runner với thể là 1 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 sở hữu đa dạng dòng, 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 hành đăng ký sở hữu mỗi repository vận dụng CI, token được lấy tại Settings ➔ CI / CD trong từng repo
Sau lúc đăng ký thành công, runner sẽ thực hiện những câu lệnh được khai báo thành các pipeline, trong ấy gồm các jobs được khái niệm trong tệp ".gitlab-ci.yml"
tăng tốc việc thực thi
thời kỳ biên dịch , xử lý, test, ... Sở hữu khoa hoc lap trinh game danh cho tre em (http://mindx.edu.vn/course/game-basic) thể mất hàng chục phút để hoàn tất, 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 kì ấy.
1. Cài đặt Gitlab Local
Thay vì quản lý và khai triển Công trình trên gitlab global, bạn với thể cài đặt gitlab và gitlab runner trên local. Cụ thể bạn sở hữu thể dùng docker cho công đoạn đấy, nó sẽ giúp việc thực hiện tốc độ hơn do tiêu dùng tài nguyên trên chính những máy chủ của bạn.
2. Sử dụng trình điều khiển overlay2
Theo mặc định, lúc tiêu dùng docker: dind, Docker tiêu dùng trình điều khiển vfs trên mọi lần chạy. Thay vào đấy, tiêu dùng trình điều khiển overlay2 sẽ giúp thời kỳ thực thi nhanh hơn, việc cấu hình cũng rất thuần tuý, tiện lợi khai báo trong tệp ".gitlab-ci.yml"
3. Tối ưu hóa source code
Thay vì tiêu dùng quá phổ thông cài đặt phụ thuộc, hay biên dịch lại Dockerfile mỗi lần thực thi, bạn mang thể tối ưu việc cài đặt thêm các thư viện trong giai đoạn biên dịch, hoặc dùng cache cho việc build docker image nhằm rút ngắn thời kì.
4. Dùng những job cùng lúc thay vì tuần tự các job
Điều đấy thực thụ có ích mang các công tác có thể độc lập thực hành mà chẳng hề chờ kết quả của công việc khác
5. Hạn chế chia câu lệnh ra quá phổ biến job
Bởi, trước mỗi job thực hiện sẽ có khoảng thời gian pending cho việc đấy. Chính do vậy, hãy gộp các câu lệnh sở hữu thể vào chung job, thời kì pending rút ngắn cũng ko phải là ít. Lưu ý, ko gộp chung quá phổ quát câu lệnh, lúc biên dịch 1 câu lệnh với lỗi, sẽ khiến cho cả job phải chạy lại.
Xem thêm =>> https://mindx.edu.vn/course/fullstack-web
(https://mindx.edu.vn/course/fullstack-web)
6. Tiêu dùng cache của gitlab
ví thử mỗi lần thực thi lại cần cài đặt gần như nodee module cho 1 project nodejs, quá trình ấy sẽ tốn gần như thời gian, thay vào đó, Gitlab cho phép bạn tiêu dùng cache nhằm rút ngắn thời gian.
Chuyện học tập & làm việc ở MindX
Bài viết xin giới thiệu về Gitlab CI và phương pháp hoạt động của nó, cùng có ấy là một đôi tùy chỉnh giúp tăng tốc và tối ưu việc tích hợp.
Gitlab CI hoạt động thế nào
Để Gitlab nhận biết repository cần áp dụng CI, cần khi báo một file .gitlab-ci.yml nằm ở thư mục gốc. File này phải được đặt đúng tên và sở hữu định dạng hợp thức, khi đó gitlab mới xác định và vận dụng CI cho repository của bạn.
Bất cứ lúc 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 khái niệm trên file ".yml". Nội dung file gồm các section, lệnh thực thi, biến, ... Mà bạn muốn thực hành trong quá trình triển khai.
Gitlab runner
các nhiệm vụ được khái niệm trong tệp ".gitlab-ci.yml" nhưng để thực hiện chúng cần đến Gitlab runner
Runner với thể là 1 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 sở hữu đa dạng dòng, 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 hành đăng ký sở hữu mỗi repository vận dụng CI, token được lấy tại Settings ➔ CI / CD trong từng repo
Sau lúc đăng ký thành công, runner sẽ thực hiện những câu lệnh được khai báo thành các pipeline, trong ấy gồm các jobs được khái niệm trong tệp ".gitlab-ci.yml"
tăng tốc việc thực thi
thời kỳ biên dịch , xử lý, test, ... Sở hữu khoa hoc lap trinh game danh cho tre em (http://mindx.edu.vn/course/game-basic) thể mất hàng chục phút để hoàn tất, 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 kì ấy.
1. Cài đặt Gitlab Local
Thay vì quản lý và khai triển Công trình trên gitlab global, bạn với thể cài đặt gitlab và gitlab runner trên local. Cụ thể bạn sở hữu thể dùng docker cho công đoạn đấy, nó sẽ giúp việc thực hiện tốc độ hơn do tiêu dùng tài nguyên trên chính những máy chủ của bạn.
2. Sử dụng trình điều khiển overlay2
Theo mặc định, lúc tiêu dùng docker: dind, Docker tiêu dùng trình điều khiển vfs trên mọi lần chạy. Thay vào đấy, tiêu dùng trình điều khiển overlay2 sẽ giúp thời kỳ thực thi nhanh hơn, việc cấu hình cũng rất thuần tuý, tiện lợi khai báo trong tệp ".gitlab-ci.yml"
3. Tối ưu hóa source code
Thay vì tiêu dùng quá phổ thông cài đặt phụ thuộc, hay biên dịch lại Dockerfile mỗi lần thực thi, bạn mang thể tối ưu việc cài đặt thêm các thư viện trong giai đoạn biên dịch, hoặc dùng cache cho việc build docker image nhằm rút ngắn thời kì.
4. Dùng những job cùng lúc thay vì tuần tự các job
Điều đấy thực thụ có ích mang các công tác có thể độc lập thực hành mà chẳng hề chờ kết quả của công việc khác
5. Hạn chế chia câu lệnh ra quá phổ biến job
Bởi, trước mỗi job thực hiện sẽ có khoảng thời gian pending cho việc đấy. Chính do vậy, hãy gộp các câu lệnh sở hữu thể vào chung job, thời kì pending rút ngắn cũng ko phải là ít. Lưu ý, ko gộp chung quá phổ quát câu lệnh, lúc biên dịch 1 câu lệnh với lỗi, sẽ khiến cho cả job phải chạy lại.
Xem thêm =>> https://mindx.edu.vn/course/fullstack-web
(https://mindx.edu.vn/course/fullstack-web)
6. Tiêu dùng cache của gitlab
ví thử mỗi lần thực thi lại cần cài đặt gần như nodee module cho 1 project nodejs, quá trình ấy sẽ tốn gần như thời gian, thay vào đó, Gitlab cho phép bạn tiêu dùng cache nhằm rút ngắn thời gian.
Chuyện học tập & làm việc ở MindX