Jenkins là một công cụ CI/CD mã nguồn mở để tạo quy trình phát triển phần mềm. Máy chủ tự động hóa được viết bằng Java này hỗ trợ các công cụ kiểm soát phiên bản phổ biến như Git và hỗ trợ xây dựng các dự án Ant và Apache Maven.
Jenkins hoạt động với các môi trường xây dựng khác nhau. Nút chính trong quá trình cài đặt Jenkins, bộ điều khiển Jenkins, cân bằng các công việc song song từ nhiều tác nhân xây dựng. Các đại lý kết nối cục bộ hoặc thông qua đám mây.
Bài viết này sẽ chỉ cho bạn cách định cấu hình các bộ chứa Docker để hoạt động như tác nhân xây dựng Jenkins.
Set up Docker Host
Jenkins sử dụng API REST để liên lạc với Docker. Các bước cấu hình sau trên máy chủ Docker đảm bảo bộ điều khiển Jenkins có thể kết nối đúng cách.
Sử dụng công cụ như Nmap để kiểm tra xem các cổng liên quan có mở hay không. Docker Remote API sử dụng cổng 4243, trong khi các cổng 32768 đến 60999 được gán cho Jenkins để kết nối với các bộ chứa Docker.
Thay đổi docker.service
Mở tệp docker.service trong trình soạn thảo văn bản
sudo nano /lib/systemd/system/docker.service
Tìm dòng bắt đầu bằng ExecStart và thay thế nó bằng dòng sau:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock
Reload Docker daemon & restart docker service
sudo systemctl daemon-reload sudo service docker restart
Kiễm tra kết nối
curl http://localhost:4243/version