Trong bài viết, bạn sẽ học cách chạy Jenkins từ hình ảnh Docker. Cấu hình, tùy chỉnh và sử dụng docker image thay thế cho cài đặt dựa trên gói truyền thống.
Điều kiện tiên quyết
Để chạy hình ảnh Docker, bạn phải cài đặt Docker. Docker cung cấp hướng dẫn chi tiết để cài đặt trên Linux, macOS và Windows.
Lưu ý: mặc dù các phiên bản Windows gần đây đã hỗ trợ gốc để chạy Docker image. Jenkins chỉ cung cấp Docker image trên nền tảng Linux. Windows và macOS có thể chạy các Docker image của Linux thông qua ảo hóa. Vì vậy các lệnh được dùng ở đây đều áp dụng như nhau cho tất cả các hệ điều hành. Trong bài viết này sẽ tập trung vào Linux.
Cài đặt nhanh Docker (chỉ áp dụng với HĐH Ubuntu)
#!/bin/bash # run with sudo if [ $(id -u) -ne 0 ]; then SUDO='sudo' fi `# remove previous version if any` $SUDO apt -y remove docker docker-engine docker.io ; `# set up apt repository` $SUDO apt-get update ; $SUDO apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg-agent git net-tools; curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ; echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ; `# install docker` $SUDO apt-get update -y ; $SUDO apt-get install -y docker-ce docker-ce-cli containerd.io ; $SUDO usermod -aG docker $USER; sleep 6 ; `# wait sometimes to get thing ready` docker --version
Lưu đoạn script này thành file install.sh sau đó chạy lệnh chmod +x install.sh
để cấp quyền thực thi cho file tiếp theo chạy lệnh ./install.sh để cài đặt Docker.
Bắt đầu
Chạy docker run
Bạn có thể coi Docker image như một Artifact chỉ đọc chứa các tệp bạn cần để chạy một ứng dụng cụ thể. Không giống như hầu hết các Artifact ứng dụng. Docker image chứa một hệ điều hành hoàn chỉnh và tất cả các công cụ hệ thống liên quan cần thiết để hỗ trợ ứng dụng đang được chạy. Trong trường hợp này của Jenkins, điều này có nghĩa là hình ảnh Docker chứa các tệp bạn yêu cầu để hỗ trợ hệ điều hành Linux tối thiểu, cùng với phiên bản Java cần thiết để chạy Jenkins. Sau khi bạn đã cài đặt Docker, Jenkins có thể được chạy bằng lệnh:
docker run -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):$(which docker) \ -v jenkins_data:/var/jenkins_home \ -p 8080:8080 \ --name jenkins-server \ -d jenkins/jenkins:lts
Bạn cần tạo thư mục làm việc và gắn vào container Jenkins. Dữ liệu của bạn sẻ không bị mất nếu xoá container. Ở đây là thư mục “jenkins_data“.
Chi tiết lệnh docker run
Hãy tìm hiểu chi tiết các lệnh này để hiểu nó đang làm gì.
docker run
được sử dụng để chạy hình ảnh Docker dưới dạng vùng chứa.-v /var/run/docker.sock:/var/run/docker.sock
,-v $(which docker):$(which docker)
hai tham số này cho phép jenkins có thể sử dụng được docker ở bên ngoài máy host.-p 8080:8080
được ánh xạ cổng của localhost 8080 đến cổng container 8080.--name jenkins-server
đặt tên cho container là jenkins-server.jenkins/jenkins:lts
là tên của hình ảnh Docker. Hình ảnh cụ thể này có thể được tìm thấy trên Dockerhub , là một trong nhiều cơ quan đăng ký Docker có sẵn để lưu trữ hình ảnh Docker.
Sau đó truy cập vào localhost:8080 để tiến hành cấu hình những bước tiếp theo.
Bạn cần truy cập vào thư mục dã gắn vào container để lấy được mật khẩu.
Chọn Install suggested plugins và chờ đợi thôi :). Trong bài viết tiếp theo mình sẻ hướng dẫn cách cài đặt Jenkins một phát ăn ngay bằng cách custom lại image Jenkins.