Cách thiết lập đường ống tích hợp liên tục với Drone trên Ubuntu 16.04
Drone là một nền tảng phân phối và tích hợp liên tục được viết bằng Go. Thông qua tích hợp với nhiều dịch vụ kiểm soát version phổ biến, bạn có thể sử dụng nó để xây dựng, kiểm tra và cung cấp phần mềm tự động khi nào mã của bạn được cập nhật.Trong hướng dẫn này, ta sẽ phân nhánh một repository GitHub mẫu và sử dụng Drone để xây dựng và thử nghiệm dự án.
Yêu cầu
Trước khi bắt đầu hướng dẫn này, bạn cần cài đặt, cấu hình và liên kết Drone với account GitHub của bạn . Các hướng dẫn sau đây sẽ giúp bạn đạt được điều đó:
- Cách cài đặt và sử dụng Docker trên Ubuntu 16.04 : Cài đặt Docker bằng Bước 1 và Bước 2 .
- Cách cài đặt Docker Compose trên Ubuntu 16.04 : Cài đặt Docker Compose bằng Bước 1
- Cách cài đặt Nginx trên Ubuntu 16.04 : Cài đặt Nginx trên server bằng Bước 1 và Bước 2
- Cách bảo mật Nginx bằng Let's Encrypt trên Ubuntu 16.04 : Bảo mật Nginx bằng certificate SSL
- Cách cài đặt và cấu hình Drone trên Ubuntu 16.04 : Cài đặt Drone và liên kết nó với account GitHub của bạn
Khi hoàn tất, bạn nên đăng nhập vào Drone, tại một màn hình tương tự như sau:
Đây là console của Drone. Nó cho thấy rằng ta đã đăng nhập, nhưng không có repository nào được cài đặt trong Drone. Hãy tạo một repository ngay bây giờ.
Tạo repository mẫu
Đầu tiên, ta cần một repository GitHub với một số mã để xây dựng và thử nghiệm. Bạn có thể sử dụng Drone với nhiều kho điều khiển version khác nhau, nhưng trong yêu cầu , ta đã liên kết Drone với account GitHub, vì vậy ta sẽ sử dụng điều đó trong suốt hướng dẫn này. Đăng nhập vào GitHub và chuyển đến repo sau:
https://github.com/do-community/hello_hapi
Nhấp vào nút Fork ở góc trên bên phải để sao chép kho này vào account của bạn . Nếu bạn có quyền truy cập vào nhiều tổ chức GitHub, bạn có thể được yêu cầu chọn nơi phân phối repository . Chọn account user bình thường của bạn. Sau một lúc, bạn sẽ được đưa đến repository hello_hapi đã được sao chép vào account của bạn.
Tiếp theo, ta sẽ xem xét cách ta cấu hình Drone để xây dựng và kiểm tra mã của ta .
Tìm hiểu file .drone.yml
Drone tìm kiếm file cấu hình có tên .drone.yml
trong repository lưu trữ của bạn để xác định cách nó xử lý mã của bạn. Tệp này đã được đưa vào repository mà ta vừa chia nhỏ:
pipeline: build: image: node:latest commands: npm install test: image: node:latest commands: npm run test
Đây là một file YAML xác định một đường dẫn . Đường ống là một quá trình tích hợp liên tục chạy nhiều bước, bước này sang bước khác. Trong trường hợp của ta , ta có một đường ống hai bước.
Bước đầu tiên, được gọi là build
sẽ sử dụng hình ảnh node:latest
new Docker để chạy npm install
trong repository lưu trữ của ta . Thao tác này sẽ download và cài đặt tất cả các thư viện cần thiết để chạy thử nghiệm.
Bước tiếp theo được gọi là test
. Nó sử dụng cùng một Docker image để chạy bộ thử nghiệm của ta . Thông thường, bạn sẽ chạy cả lệnh build
và test
trong một bước, nhưng ta đã tách chúng ra để chứng minh tốt hơn các đường ống.
Lưu ý tất cả các bước trong một đường dẫn đều chia sẻ cùng một không gian làm việc, vì vậy các file được tạo ở bước đầu tiên sẽ có sẵn trong các bước sau. Drone có nhiều tùy chọn khác có thể được cấu hình bằng .drone.yml
, bạn có thể đọc thêm trong tài liệu về Drone . Một số tính năng này bao gồm:
- Bản dựng ma trận, nơi bạn xây dựng và thử nghiệm dựa trên nhiều version của thư viện hoặc thời gian chạy để kiểm tra tính tương thích
- Thông báo qua email hoặc dịch vụ nhắn tin
- Xuất bản các sản phẩm xây dựng lên npm, đăng ký containers hoặc server lưu trữ trang web tĩnh
Tiếp theo, ta sẽ yêu cầu Drone theo dõi các thay đổi đối với repository của ta và sau đó kích hoạt một bản dựng.
Kích hoạt Chạy Tích hợp Liên tục
Đăng nhập vào Drone, nếu bạn chưa đăng nhập. Trang chủ sẽ trông khá thưa thớt cho đến khi ta cài đặt nó. Thanh bên trống nhắc ta Kích hoạt kho của bạn để bắt đầu .
Nhấp vào liên kết Kích hoạt để hiển thị danh sách tất cả các repository GitHub của bạn:
Tìm repo hello_hapi và nhấp vào lựa chọn đổi màu xám ở cột bên phải để kích hoạt nó. Lựa chọn sẽ lật và chuyển sang màu xanh lục. Đằng sau mức thấp , Drone sẽ sử dụng API của GitHub đảm bảo nó nhận được thông báo khi nào mã của ta thay đổi.
Quay lại console của trang chủ bằng cách nhấp vào biểu trưng Drone ở góc trên bên trái của màn hình hoặc bằng cách sử dụng menu ở góc trên bên phải bên cạnh biểu tượng user của bạn:
Control panel bây giờ sẽ có repository mới của ta được liệt kê trong cột bên trái. Chưa có thông tin trạng thái vì ta chưa chạy bản dựng:
Nhấp vào tên repository hello_hapi để vào chế độ xem chi tiết cho repository . Nó sẽ có một số tab nơi ta có thể cập nhật cài đặt, thêm bí mật như mã thông báo và password , và nhận huy hiệu trạng thái bản dựng có thể nhúng. Theo mặc định, ta đang ở trên tab xây dựng, và không xây dựng được liệt kê nêu ra.
Hãy kích hoạt một bản dựng ngay bây giờ.
Để trang Drone của bạn mở và chuyển đến repository GitHub của hello_hapi trong một tab hoặc cửa sổ khác. Ta sẽ thêm một file vào dự án để kích hoạt một bản dựng. Bất kỳ file sẽ làm. Nhấp vào nút Tạo file mới ở phía trên cùng của danh sách file trong repository của bạn:
Chọn bất kỳ tên file nào. Trong trường hợp này, ta chọn trigger-file
. Nhập bất kỳ nội dung nào:
Sau đó, cuộn xuống cuối editor nội dung và nhấp vào nút Commit file mới :
Sau khi commit , GitHub sẽ thông báo cho cài đặt Drone của ta về sự thay đổi.Drone sau đó sẽ bắt đầu xây dựng mới. Chuyển trở lại cửa sổ trình duyệt Drone của bạn. Giao diện sẽ cập nhật khá nhanh và một mũi tên xoay tròn sẽ cho biết rằng bản dựng đang diễn ra.
Quá trình này có thể đã hoàn tất nếu bạn dành một chút thời gian để chuyển trở lại Drone. Ta hãy xem xét các chi tiết xây dựng tiếp theo.
Xem kết quả CI / CD
Nhấp vào bản dựng để xem chi tiết. Nếu quá trình xây dựng vẫn đang được tiến hành, bạn có thể quan sát từng bước đường ống trong thời gian thực.
Bạn có thể nhấp vào mũi tên tiết lộ cho mỗi bước xây dựng để hiển thị thêm chi tiết. Đây là kết quả của bước kiểm tra của ta :
Nếu bước vẫn đang được thực hiện, nhấp vào nút Theo dõi sẽ hiển thị kết quả khi nó xảy ra.
Lưu ý có một giai đoạn sao chép mà ta không xác định trong file .drone.yml
của .drone.yml
. Điều này luôn hiện diện và cung cấp chi tiết về cách Drone tìm nạp mã nguồn của bạn trước khi xây dựng.
Kết luận
Trong hướng dẫn này, ta đã tách một repository trình diễn, khám phá file cấu hình .drone.yml
và xây dựng và thử nghiệm repository của ta với Drone.
Để biết thêm thông tin về cách cấu hình Drone để xây dựng, kiểm tra và triển khai dự án của bạn, hãy tham khảo tài liệu Drone .
Các tin liên quan
Cách thiết lập tích hợp liên tục với Buildbot trên Ubuntu 16.042017-06-28
Cách thiết lập đường ống tích hợp liên tục trong Jenkins trên Ubuntu 16.04
2017-06-16
Cách cài đặt và cấu hình Drone trên Ubuntu 16.04
2017-06-14
Cách giám sát cảnh báo Zabbix với Alerta trên Ubuntu 16.04
2017-06-13
Cách cài đặt và cấu hình Zabbix để giám sát an toàn server từ xa trên Ubuntu 16.04
2017-06-08
how-to-config-an-orientdb-cluster-on-ubuntu-16-04
2017-06-02
Cách cài đặt và cấu hình OpenLDAP và phpLDAPadmin trên Ubuntu 16.04
2017-06-01
Cách bật SFTP mà không cần truy cập Shell trên Ubuntu 16.04
2017-05-31
Cách tạo Go Executables cho nhiều nền tảng trên Ubuntu 16.04
2017-05-30
Cách cài đặt Concourse CI trên Ubuntu 16.04
2017-05-26