Trong các bài viết trước mình từng giới thiệu với các bạn về Jenkins – một trong những công cụ hỗ trợ quá trình CI/CD phổ biến nhất hiện nay.
Cụ thể là ở trong bài viết đó, mình đã hướng dẫn với các bạn cách tải và cài đặt Docker trên hệ điều hành Windows rồi, nếu bạn chưa đọc thì bạn hãy đọc lại trước đã nhé.
Còn trong bài viết này mình sẽ hướng dẫn với các bạn cách cài đặt Jenkins sử dụng Docker, bởi thực tế chúng ta thường xuyên phải làm việc với Jenkins trên các server hơn là ở môi trường cục bộ trên máy tính cá nhân.
Chính vì vậy việc cài đặt Jenkins thông qua Docker hoặc dòng lệnh được sử dụng nhiều hơn rất nhiều trong các dự án thực tế.
Một ưu điểm nữa của việc cài đặt Jenkins thông qua Docker đó là tính linh hoạt. Hay nói cách khác là chúng ta có thể chuyển từ server này qua server khác (cùng cài Docker) một cách rất dễ dàng.
Mục Lục Nội Dung
#1. Cài đặt Jenkins thông qua Docker
Đầu tiên, các bạn sẽ phải cài đặt Docker, trong bài viết trước mình đã hướng dẫn các bạn cài đặt Docker thông qua việc cài đặt Docker Desktop trên môi trường hệ điều hành Windows rồi. Vậy nên bước này đã xong !
Về cơ bản, các server hiện nay chủ yếu sử dụng các phiên bản hệ điều hành Linux nhưng cách hoạt động của Docker trên hệ điều hành nào cũng tương tự nhau.
Vì vậy, để đơn giản hóa vấn đề thì trong bài viết này các bạn có thể sử dụng Docker được cài trên Windows như trong bài viết trước mình giới thiệu nhé !
Thực hiện:
Bước 1. Khởi chạy Docker Desktop trên Windows, ban đầu mình chưa có container nào đang chạy cả, như hình bên dưới.
Bước 2. Bây giờ mình sẽ dùng lệnh để tạo một container mới, chính là Jenkins. Các bạn mở CMD hoặc bất cứ công cụ dòng lệnh nào lên.
Rồi chạy lệnh:
docker run -d --name jenkins-test -p 8080:8080 -p 50000:50000 -v D:\jenkins jenkins/jenkins:lts
Mình sẽ giải thích lệnh này một chút:
+) docker run
: Được sử dụng để chạy container từ Docker image
+) -d
: Tức là cho phép chạy ở chế độ ngầm trong terminal (detach mode)
+) -- name jenkins-test
: Đặt tên cho container mình khởi tạo
+) -p 8080:8080
: Ánh xạ cổng 8080 trên máy local sang cổng 8080 trên container (web port). Khi đó nếu chúng ta truy cập vào địa chỉ http://localhost:8080 trên máy local thì Docker sẽ điều hướng các truy cập đó vào trong webserver đang chạy trên container.
+) -v D:\jenkins
: Tạo một volume tại địa chỉ D:\jenkins. Cụ thể hơn các bạn có thể định nghĩa tên volume bằng cách thêm tên: -v <volume’s name> <path>. Ví dụ: -v jenkins_home:D:\jenkins
+) jenkins/jenkins:lts
: Đây là tên của Docker image, các bạn có thể tìm trên Docker Hub
Ở đây do mình đã từng lấy image: jenkins/jenkins:lts
từ Docker Hub về rồi nên màn hình của mình chỉ hiển thị như bên trên thôi. Những bạn nào mới lần đầu pull image về nó sẽ chạy khoảng 30s-40s nên các bạn chờ nhé.
Bước 3: Sau khi chạy xong mình quay lại Docker Desktop sẽ thấy container mình vừa tạo đang chạy như bên dưới.
Bước 4: Các bạn bấm vào container và chọn tab Logs
=> sau đó copy cho mình dòng mà mình đang highlight vàng như bên dưới.
Đó chính là mật khẩu tự sinh trong lần đầu các bạn cài đặt Jenkins. Sử dụng mật khẩu này để login cho màn tiếp theo.
Bước 5: Do mình đã ánh xạ port 8080 từ máy local sang port 8080 trên Docker container ở bước 2 nên ở đây mình sẽ truy cập vào địa chỉ http://localhost:8080
Trình duyệt tự điều hướng tới trang đăng nhập của Jenkins. Đến đây về cơ bản còn lại giống như cách chúng ta cài đặt Jenkins trên máy bình thường thôi.
Các bạn dán mật khẩu vừa copy vào ô Administrator password
=> sau đó bấm Continue
. Lưu ý là các bạn nên lưu lại mật khẩu này nhé.
Bước 6: Bước tiếp này các bạn sẽ lựa chọn plugins để cài đặt. Cái này thì tùy thuộc vào đặc thù dự án của bạn cần cài plugins gì. Ở đây để đơn giản mình chọn Install suggested plugins
để cài toàn bộ những plugins thông dụng nhất.
Bước 7: Quá trình cài đặt sẽ mất khoảng 3 – 4 phút tùy thuộc vào tốc độ internet của các bạn (lưu ý rằng giữ kết nối internet ổn định, nếu không việc cài một số plugins có thể bị lỗi và bạn sẽ phải retry lại)
Bước 8: Sau khi cài đặt các plugins xong, chúng ta sẽ thiết lập một số thông tin phục vụ cho việc đăng nhập sau này.
Các bạn nhớ lưu lại các thông tin username
và password
để tránh bị quên. Tiếp theo bấm Save and Continue
để sang bước tiếp theo. Trường hợp nếu bạn nào chọn Skip and continue as admin
thì phải nhớ thông tin mật khẩu mà mình đề cập ở Bước 5
Bước 9: Bước tiếp theo bấm Save and Finish
để confirm lại URL, trong trường hợp các bạn cài đặt trên server thì lưu ý chỗ này sao cho đúng địa chỉ server của các bạn. Bài viết này mình cài đặt trên máy tính cá nhân nên mình sẽ để là http://localhost:8080/
Bước 10: Đến bước này là quá trình cài đặt cũng hoàn tất rồi, các bạn bấm Start using Jenkins
là có thể bắt đầu sử dụng Jenkins rồi.
Đây chính là giao diện khi chúng cài đặt Jenkins thành công. Mình sẽ hướng dẫn các bạn chi tiết hơn về Jenkins trong các bài viết tiếp theo.
#2. Lưu ý
Do chúng ta đang cài đặt Jenkins trên môi trường Docker nên bắt buộc chúng ta phải chạy Docker container nếu muốn sử dụng Jenkins (không giống như khi cài trực tiếp trên máy có thể truy cập bất cứ lúc nào).
Ví dụ bây giờ mình thử stop container
mà mình cài Jenkins trên Docker các bạn sẽ thấy Jenkins của mình không thể truy cập được nữa.
Mình không thể truy cập vào địa chỉ http://localhost:8080/ được nữa. Vậy các bạn lưu ý là phải chạy Docker container trước (trên môi trường server thì sẽ phải chạy 24/7)
#3. Lời kết
Okay, vậy là trong bài viết tiếp theo này mình đã hướng dẫn xong cho các bạn cách cài đặt Jenkins thông qua Docker trên hệ điều hành Windows rồi nha.
Trong các bài viết tiếp theo mình sẽ hướng dẫn các bạn cài đặt Jenkins trên các hệ điều hành khác, cũng như là cách sử dụng và những tính năng cơ bản của Jenkins trong việc triển khai CI/CD cho các dự án.
Hẹn gặp lại các bạn trong các bài viết tiếp theo nhé.
CTV: Nguyễn Đức Cảnh – Blogchiasekienthuc.com
Edit by Kiên Nguyễn