Jenkins là một máy chủ tự động hóa được phân nhánh từ dự án Hudson. Jenkins là một ứng dụng dựa trên máy chủ chạy trong một container Java servlet, nó hỗ trợ nhiều hệ thống phần mềm SCM (Quản lý kiểm soát nguồn) bao gồm Git, SVN và Mercurial. Jenkins cung cấp hàng trăm plugin để tự động hóa dự án của bạn. Jenkins do Kohsuke Kawaguchi tạo ra, lần đầu tiên được phát hành vào năm 2011 theo Giấy phép MIT và là phần mềm miễn phí.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt phiên bản Jenkins mới nhất trên Ubuntu Server 16.04. Chúng tôi sẽ chạy Jenkins trên tên miền của riêng mình và chúng tôi sẽ cài đặt và cấu hình Jenkins để chạy dưới máy chủ web Apache với proxy ngược cho Jenkins.
Theo mặc định, Ubuntu 16.04 không có gói python-software-properties để quản lý kho lưu trữ PPA, vì vậy chúng ta phải cài đặt gói này trước. Cài đặt python-software-properties bằng lệnh apt.
Tiếp theo, thêm kho lưu trữ Java PPA vào máy chủ.
Cập nhật kho lưu trữ Ubuntu và cài đặt Java OpenJDK bằng lệnh apt.
Xác minh cài đặt bằng cách nhập lệnh bên dưới:
và bạn sẽ nhận được phiên bản Java được cài đặt trên máy chủ.
Thêm khóa Jenkins và kho lưu trữ vào hệ thống bằng lệnh bên dưới.
Cập nhật kho lưu trữ và cài đặt Jenkins.
Khi quá trình cài đặt hoàn tất, hãy khởi động Jenkins bằng lệnh systemctl này.
Xác minh rằng Jenkins đang chạy bằng cách kiểm tra cổng mặc định được Jenkins sử dụng (cổng 8080). Tôi sẽ kiểm tra bằng lệnh netstat bên dưới:
Jenkins đã được cài đặt và chạy trên cổng 8080.
Cài đặt máy chủ web apache2 từ kho lưu trữ Ubuntu.
Khi quá trình cài đặt hoàn tất, hãy bật các mô-đun proxy và proxy_http để chúng ta có thể cấu hình apache làm máy chủ giao diện/proxy ngược cho Jenkins.
Tiếp theo, tạo một tệp máy chủ ảo mới trong thư mục sites-available.
Dán cấu hình máy chủ ảo bên dưới.
Lưu tệp. Sau đó kích hoạt máy chủ ảo Jenkins bằng lệnh a2ensite.
Khởi động lại Apache và Jenkins.
Kiểm tra xem cổng 80 và 8000 có đang được Jenkins và Apache sử dụng không.
Hiển thị mật khẩu quản trị viên ban đầu của Jenkins bằng lệnh cat.
Dán kết quả vào màn hình và nhấp vào 'Tiếp tục'.
Bây giờ chúng ta nên cài đặt một số plugin trong Jenkins để có nền tảng tốt cho việc sử dụng sau này. Chọn 'Cài đặt Plugin được đề xuất', nhấp vào đó.
Quá trình cài đặt plugin Jenkins đang diễn ra.
Sau khi cài đặt plugin, chúng ta phải tạo mật khẩu quản trị viên mới. Nhập tên người dùng, mật khẩu, email, v.v. của quản trị viên và nhấp vào 'Lưu và hoàn tất'.
Nhấp vào bắt đầu và bắt đầu sử dụng Jenkins. Bạn sẽ được chuyển hướng đến bảng điều khiển quản trị Jenkins.
Quá trình cài đặt và cấu hình Jenkins đã hoàn tất thành công
Jenkins cung cấp một số phương pháp ủy quyền trong phần 'Kiểm soát truy cập'. Tôi chọn 'Matrix-based Security' để có thể kiểm soát tất cả các đặc quyền của người dùng. Bật người dùng quản trị tại hộp 'User/Group' và nhấp vào add. Cấp cho quản trị viên tất cả các đặc quyền bằng cách chọn tất cả các tùy chọn và cấp cho người dùng ẩn danh quyền chỉ đọc. Bây giờ, hãy nhấp vào 'Save'.
Bạn sẽ được chuyển hướng đến bảng điều khiển và nếu có tùy chọn đăng nhập, chỉ cần nhập tên người dùng quản trị và mật khẩu của bạn.
Từ bảng điều khiển quản trị Jenkins, nhấp vào 'Tạo công việc mới'.
Nhập tên công việc, tôi sẽ sử dụng 'Kiểm tra hệ thống' ở đây, chọn 'Dự án Freestyle' và nhấp vào 'OK'.
Đi tới tab 'Xây dựng'. Trên 'Thêm bước xây dựng', chọn tùy chọn 'Thực thi shell'.
Nhập lệnh bên dưới vào hộp.
Nhấp vào 'Lưu'.
Bây giờ bạn đang ở trên trang công việc của công việc 'Hệ thống kiểm tra dự án'. Nhấp vào 'Build Now' để thực hiện công việc 'kiểm tra hệ thống'.
Sau khi công việc được thực hiện, bạn sẽ thấy 'Build History', hãy nhấp vào công việc đầu tiên để xem kết quả.
Sau đây là kết quả từ công việc được thực hiện bởi Jenkins.
Cài đặt Jenkins với máy chủ web Apache trên Ubuntu 16.04 đã hoàn tất thành công.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt phiên bản Jenkins mới nhất trên Ubuntu Server 16.04. Chúng tôi sẽ chạy Jenkins trên tên miền của riêng mình và chúng tôi sẽ cài đặt và cấu hình Jenkins để chạy dưới máy chủ web Apache với proxy ngược cho Jenkins.
Điều kiện tiên quyết
- Ubuntu Server 16.04 - 64bit
- Quyền root
Bước 1 - Cài đặt Java OpenJDK 7
Jenkins dựa trên Java, vì vậy chúng ta cần cài đặt Java OpenJDK phiên bản 7 trên máy chủ. Ở bước này, chúng ta sẽ cài đặt Java 7 từ kho lưu trữ aPPA mà chúng ta sẽ thêm trước.Theo mặc định, Ubuntu 16.04 không có gói python-software-properties để quản lý kho lưu trữ PPA, vì vậy chúng ta phải cài đặt gói này trước. Cài đặt python-software-properties bằng lệnh apt.
Mã:
apt-get install python-software-properties
Mã:
add-apt-repository ppa:openjdk-r/ppa
Chỉ cần nhấn ENTER
Mã:
apt-get update
apt-get install openjdk-7-jdk
Mã:
java -version
Bước 2 - Cài đặt Jenkins
Jenkins cung cấp kho lưu trữ Ubuntu cho các gói cài đặt và chúng tôi sẽ cài đặt Jenkins từ kho lưu trữ này kho lưu trữ.Thêm khóa Jenkins và kho lưu trữ vào hệ thống bằng lệnh bên dưới.
Mã:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list
Mã:
apt-get update
apt-get install jenkins
Mã:
systemctl start jenkins
Mã:
netstat -plntu
Bước 3 - Cài đặt và cấu hình Apache làm Proxy ngược cho Jenkins
Trong hướng dẫn này, chúng ta sẽ chạy Jenkins phía sau máy chủ web Apache, chúng ta sẽ cấu hình Apache làm proxy ngược cho Jenkins. Đầu tiên, tôi sẽ cài đặt Apache và kích hoạt một số mô-đun yêu cầu, sau đó tôi sẽ tạo tệp máy chủ ảo có tên miền là my.jenkins.id cho Jenkins. Vui lòng sử dụng tên miền của riêng bạn tại đây và thay thế nó trong tất cả các tệp cấu hình bất cứ nơi nào nó xuất hiện.Cài đặt máy chủ web apache2 từ kho lưu trữ Ubuntu.
Mã:
apt-get install apache2
Mã:
a2enmod proxy
a2enmod proxy_http
Mã:
cd /etc/apache2/sites-available/
vim jenkins.conf
Mã:
ServerName my.jenkins.id
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
Từ chối lệnh, cho phép
Cho phép từ tất cả
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
ProxyPassReverse / http://my.jenkins.id/
Mã:
a2ensite jenkins
Mã:
systemctl restart apache2
systemctl restart jenkins
Mã:
netstat -plntu
Bước 4 - Cấu hình Jenkins
Jenkins đang chạy trên tên miền 'my.jenkins.id'. Mở trình duyệt web của bạn và nhập URL. Bạn sẽ nhận được màn hình yêu cầu bạn nhập mật khẩu quản trị viên ban đầu. Jenkins đã tạo mật khẩu rồi, vì vậy chúng ta chỉ cần hiển thị và sao chép kết quả vào hộp mật khẩu.Hiển thị mật khẩu quản trị viên ban đầu của Jenkins bằng lệnh cat.
Mã:
cat /var/lib/jenkins/secrets/initialAdminPassword
a1789d1561bf413c938122c599cf65c9
Dán kết quả vào màn hình và nhấp vào 'Tiếp tục'.
Bây giờ chúng ta nên cài đặt một số plugin trong Jenkins để có nền tảng tốt cho việc sử dụng sau này. Chọn 'Cài đặt Plugin được đề xuất', nhấp vào đó.
Quá trình cài đặt plugin Jenkins đang diễn ra.
Sau khi cài đặt plugin, chúng ta phải tạo mật khẩu quản trị viên mới. Nhập tên người dùng, mật khẩu, email, v.v. của quản trị viên và nhấp vào 'Lưu và hoàn tất'.
Nhấp vào bắt đầu và bắt đầu sử dụng Jenkins. Bạn sẽ được chuyển hướng đến bảng điều khiển quản trị Jenkins.
Quá trình cài đặt và cấu hình Jenkins đã hoàn tất thành công
Bước 5 - Bảo mật Jenkins
Từ bảng điều khiển quản trị Jenkins, chúng ta cần cấu hình cài đặt bảo mật tiêu chuẩn cho Jenkins, nhấp vào 'Quản lý Jenkins' rồi nhấp vào 'Cấu hình bảo mật toàn cầu'.Jenkins cung cấp một số phương pháp ủy quyền trong phần 'Kiểm soát truy cập'. Tôi chọn 'Matrix-based Security' để có thể kiểm soát tất cả các đặc quyền của người dùng. Bật người dùng quản trị tại hộp 'User/Group' và nhấp vào add. Cấp cho quản trị viên tất cả các đặc quyền bằng cách chọn tất cả các tùy chọn và cấp cho người dùng ẩn danh quyền chỉ đọc. Bây giờ, hãy nhấp vào 'Save'.
Bạn sẽ được chuyển hướng đến bảng điều khiển và nếu có tùy chọn đăng nhập, chỉ cần nhập tên người dùng quản trị và mật khẩu của bạn.
Bước 6 - Kiểm tra một công việc tự động hóa đơn giản
Trong phần này, tôi chỉ muốn kiểm tra một công việc đơn giản cho máy chủ Jenkins. Tôi sẽ tạo một công việc đơn giản để kiểm tra Jenkins và tìm ra tải máy chủ bằng lệnh top.Từ bảng điều khiển quản trị Jenkins, nhấp vào 'Tạo công việc mới'.
Nhập tên công việc, tôi sẽ sử dụng 'Kiểm tra hệ thống' ở đây, chọn 'Dự án Freestyle' và nhấp vào 'OK'.
Đi tới tab 'Xây dựng'. Trên 'Thêm bước xây dựng', chọn tùy chọn 'Thực thi shell'.
Nhập lệnh bên dưới vào hộp.
Mã:
top -b -n 1 | head -n 5
Bây giờ bạn đang ở trên trang công việc của công việc 'Hệ thống kiểm tra dự án'. Nhấp vào 'Build Now' để thực hiện công việc 'kiểm tra hệ thống'.
Sau khi công việc được thực hiện, bạn sẽ thấy 'Build History', hãy nhấp vào công việc đầu tiên để xem kết quả.
Sau đây là kết quả từ công việc được thực hiện bởi Jenkins.
Cài đặt Jenkins với máy chủ web Apache trên Ubuntu 16.04 đã hoàn tất thành công.
Tham khảo
- https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkinshttps://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins?utm_source=diendancongnghe.com
- https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setuphttps://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup?utm_source=diendancongnghe.com
- http://jenkins-le-guide-complet.github.io/html/sect-first-steps-first-job.html