0
0
Lập trình
Admin Team
Admin Teamtechmely

[Hướng dẫn chi tiết] Thiết lập Node Jenkins với Docker trong CI/CD

Đăng vào 3 ngày trước

• 3 phút đọc

Chủ đề:

JenkinTechMely

Giới thiệu:

Jenkins là một phần mềm mã nguồn mở (open source) phổ biến được sử dụng để triển khai tích hợp liên tục (Continuous Integration - CI) và tự động hóa các quy trình phát triển phần mềm.

Với Jenkins, các thành viên trong nhóm có thể nhanh chóng tích hợp mã nguồn của họ vào một kho mã tập trung, giúp theo dõi việc thực hiện và trạng thái của các bài kiểm tra (Integration tests, Unit tests). Điều này giúp đảm bảo rằng sản phẩm cuối cùng hoạt động ổn định hơn.

Điều kiện cần để cài đặt Jenkins:

  • Một máy chủ hoặc VPS với cấu hình tối thiểu: 2 vcore và 2GB RAM.
  • Máy chủ hoặc VPS cần được cài đặt Docker. Bạn có thể kiểm tra việc cài đặt Docker bằng lệnh: docker version hoặc docker -v.

Cài đặt

Chuẩn bị:

  • Một máy chủ hoặc VPS với cấu hình tối thiểu: 2 vcore và 4GB RAM và đã mở cổng 8080 (nếu bạn sử dụng Nginx thì không cần mở).
  • Hệ điều hành: Ubuntu 20.04 LTS hoặc 22.04 LTS (được khuyên dùng), hoặc các hệ điều hành như CentOS khác.

Bước 1: Tạo mạng (network) trong Docker:

Sử dụng lệnh sau để tạo mạng:

Copy
docker network create jenkins

Sau khi tạo thành công:

Sử dụng lệnh sau để kiểm tra xem mạng có được tạo thành công hay không:

Copy
docker network ls

Bước 2: Chạy Docker Image Docker-in-Docker (dind):

Để thực thi các lệnh Docker trong Jenkins, bạn cần tải và chạy image Docker docker:dind:

Copy
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

Sau khi chạy lệnh, kiểm tra container đang chạy bằng lệnh:

Copy
docker ps

Nếu trạng thái không phải là 'exited', container đã chạy thành công.

Bước 3: Tùy chỉnh Image Jenkins:

1. Tạo Dockerfile:

Copy
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 Image mới từ Dockerfile:

Chạy lệnh sau để xây dựng image mới:

Copy
docker build -t myjenkins-blueocean:2.440.2-1 .

Kiểm tra xem image đã được xây dựng thành công bằng lệnh:

Copy
docker images

Bước 4: Chạy container Jenkins:

Chạy container từ image mà bạn vừa tạo:

Copy
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

Sử dụng lệnh docker ps để kiểm tra. Nếu bạn thấy hai container đang chạy và không có container nào có trạng thái exited, bạn đã hoàn thành việc cài đặt server Jenkins.

Bước 5: Lấy mật khẩu khởi tạo:

Sử dụng lệnh sau để lấy mật khẩu khởi tạo (init password):

Copy
docker exec jenkins-blueocean cat /var/jenkins_home/secrets/initialAdminPassword

Bước 6: Truy cập vào giao diện web Jenkins:

Mở địa chỉ http://ip:8080, ví dụ: http://34.142.228.5:8080, chép mật khẩu từ bước 5 vào ô yêu cầu và nhấn Continue.

Bước 7: Cài đặt các plugin:

Bạn sẽ được yêu cầu chọn cài đặt các plugin. Chọn tùy chọn mặc định (Install suggested plugins).

Bước 8: Tạo tài khoản quản trị:

Tạo tài khoản admin theo ý bạn và nhấn Save and Continue.

Bước 9: Cấu hình URL truy cập:

Cấu hình URL truy cập. Bạn có thể để mặc định hoặc cấu hình qua Nginx.

Bước 10: Hoàn tất cài đặt:

Khi hoàn tất, bạn sẽ thấy thông báo Start using Jenkins. Đây là giao diện chính của Jenkins.

Bước 11: Tạo Job đơn giản:

Chọn Create a job và chọn Freestyle project. Tìm đến mục Build step và chọn Execute shell. Thử chạy vài lệnh shell như:

Copy
echo Hello World
docker version
java --version

Sau đó chọn SaveBuild now. Nếu bạn thấy dấu tích xanh, chức năng build đã hoạt động tốt.

Đến đây, bạn đã hoàn tất việc dựng một Node Jenkins hoàn chỉnh. Trong bài viết tiếp theo, mình sẽ hướng dẫn cách kết nối Jenkins với GitLab để thiết lập CI/CD.

Chúc bạn thành công!

Tài liệu tham khảo: Jenkins Official Documentation
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào