[Jenkins CI/CD - P1] Hướng dẫn dựng 1 node jenkins với docker
Giới thiệu:
Jenkins là một opensource dùng để thực hiện chức năng tích hợp liên tục (gọi là CI – Continuous Integration) và xây dựng các tác vụ tự động hóa.
Nó tích hợp các source code của các members trong team lại nhanh chóng một cách liên tục, theo dõi sự thực thi và trạng thái thông qua các bước kiểm thử (Integration test, units test). Tất nhiên là nhằm giúp sản phẩm chạy ổn định.
Điều kiện cần để cài đặt jenkins :
- 1 máy chủ / vps có cấu hình tối thiểu 2vcore - 2GB RAM
- Máy chủ / vps đã được cài đặt docker (kiểm tra xem vps đã được cài docker chưa bằng lệnh sau: docker version hoặc docker -v )
Cài đặt
Chuẩn bị :
- 1 máy chủ / vps có cấu hình 2vcore - 4GB RAM và được mở sẵn port 8080, bạn nào cấu hình qua nginx thì không cần
- OS: Ubuntu 20.04 LTS hoặc 22.04 LTS (recommend) có thể dùng các OS khác như CentOS,..
Bước 1: Tạo network trong Docker bằng lệnh tạo network sau:
docker network create jenkins
Sau khi tạo thành công :
Dùng lệnh sau để kiểm tra: ⇒ nếu có network jenkins như hình thì tạo thành công
Bước 2: Để thực thi các lệnh Docker bên trong Jenkins, hãy tải xuống và chạy images docker docker:dind bằng lệnh docker run :
docker run --name jenkins-docker --rm --detach \
--privileged --network jenkins --network-alias docker \
--env DOCKER_TLS_CERTDIR=/certs \
--volume jenkins-docker-certs:/certs/client \
--volume jenkins-data:/var/jenkins_home \
--publish 2376:2376 \
docker:dind --storage-driver overlay2
Quá trình chạy image đang diễn ra và xong như hình:
Kiểm tra với lệnh sau : docker ps
⇒ nếu thấy status không phải là exited thì container đã chạy thành công và không có lỗi
Bước 3:Tùy chỉnh images Jenkins Docker chính thức bằng cách thực hiện hai bước sau
1.Dockerfile
FROM jenkins/jenkins:2.440.2-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
Tạo file với lệnh vi Dockerfile hoặc nano Dockerfile
2.Xây dựng images docker mới từ Dockerfile này và gán cho images một tên có ý nghĩa, chẳng hạn như "myjenkins-blueocean:2.426.1-1
docker build -t myjenkins-blueocean:2.440.2-1 .
Sau khi chạy lệnh build:
Kiểm tra images được build chưa chạy lệnh docker images
Bước 4: Chạy image myjenkins-blueocean:2.426.1-1 của riêng bạn dưới dạng container trong Docker bằng lệnh docker run sau:
docker run --name jenkins-blueocean --restart=on-failure --detach \
--network jenkins --env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 --publish 50000:50000 \
--volume jenkins-data:/var/jenkins_home \
--volume jenkins-docker-certs:/certs/client:ro \
myjenkins-blueocean:2.440.2-1
Chạy lệnh docker ps nếu hiện kết quả chứa 2 container như hình và không có container nào có trạng thái exited là đã hoàn thành việc cài server jenkins
Bước 5 : Sử dụng lệnh sau để lấy mật khẩu init
docker exec jenkins-blueocean cat /var/jenkins_home/secrets/initialAdminPassword
Bước 6 : Sau đó vào web theo địa chỉ http://ip:8080 ở đây sẽ là http://34.142.228.5:8080 sẽ hiện ra giao diện như hình ⇒ copy password ở bước 5 vào sau đó ấn continue
Bước 7: Ở đây sẽ ứng dụng sẽ hỏi cài những plugin nào thì ta chọn theo mặc định (Install suggested plugin)
Quá trình cài đặt đang diễn ra
Bước 8: Tạo tài hoản admin cho jenkins
Ở đây thì tạo tài khoản tùy theo ý của các bạn thôi ⇒ sau đó chọn Save and Continue
Bước 9 : Cấu hình URL để truy cập ở đây mình để theo mặc định hoặc các bạn có thể dùng nginx để trỏ về tên miền ⇒ chọn Save and Finish
Bước 10: Sau khi cài đặt các bước thành công thì sẽ ra như này ⇒ Start using Jenkins
Giao diện hiển thị của jenkins
Bước 11 : Test thử tạo 1 job đơn giản nào
⇒ chọn Create a job
⇒ Chọn Freestyle project
⇒ Tìm đến mục Build step ⇒ chọn Excute shell
⇒ Thử 1 vài script shell nào
echo Hello World
docker version
java --version
⇒ chọn Save sau đó chọn Build now
Hiện dấu tích xanh như hình là các chức năng như build image đã hoạt động tốt
Đến đây là các bạn đã dựng xong 1 node jenkins hoàn chỉnh, bài viết sau mình sẽ hướng dẫn cấu hình để kết nối đến gitlab và CI/CD với jenkins.
Chúc các bạn thành công !!
Tài liệu tham khảo : https://www.jenkins.io/doc/book/installing/docker/
All Rights Reserved