Jenkins là một máy chủ tích hợp liên tục mã nguồn mở và miễn phí. Nó được viết bằng JAVA. Nó có thể được sử dụng để tự động hóa nhiều tác vụ liên quan đến phát triển phần mềm như xây dựng thử nghiệm và triển khai. Nó hỗ trợ nhiều hệ thống kiểm soát phiên bản như git, SVN, mercurial, v.v.
Trong hướng dẫn này, chúng ta sẽ cài đặt Jenkins Automation Server trên máy chủ CentOS 7. Chúng ta cũng sẽ thiết lập Nginx làm proxy ngược cho Jenkins.
Điều kiện tiên quyết
Sau khi hệ thống của bạn được cập nhật, hãy tiến hành cài đặt JAVA.
Bây giờ bạn có thể kiểm tra phiên bản Java bằng lệnh sau.
Bạn sẽ nhận được kết quả sau.
Bạn cũng sẽ cần kiểm tra xem biến môi trường JAVA_HOME đã được đặt chưa. Chạy lệnh sau để thực hiện tương tự.
Nếu bạn nhận được đầu ra null hoặc trống, bạn sẽ cần phải đặt thủ công biến JAVA_HOME. Chỉnh sửa tệp .bash_profile bằng trình chỉnh sửa yêu thích của bạn. Trong hướng dẫn này, chúng ta sẽ sử dụng trình chỉnh sửa nano. Chạy lệnh sau để chỉnh sửa .bash_profile bằng nano.
Bây giờ hãy thêm các dòng sau vào cuối tệp.
Bây giờ hãy tạo nguồn tệp bằng lệnh sau.
Bây giờ bạn có thể chạy lại lệnh echo $JAVA_HOME để kiểm tra xem biến môi trường đã được đặt hay chưa.
Bây giờ bạn đã cài đặt JAVA, bạn có thể tiến hành cài đặt Jenkins.
Nếu bạn chưa cài đặt wget, bạn có thể chạy yum -y install wget.
Nhập khóa GPG bằng cách chạy lệnh sau.
Sau khi nhập thành công, bạn có thể cài đặt Jenkins bằng cách chạy lệnh sau.
Jenkins hiện đã được cài đặt trên máy chủ của bạn. Tất cả các gói cần thiết hiện đã được cài đặt. Trình cài đặt cũng tạo một người dùng mới jenkins để chạy quy trình. Bạn có thể tiến hành thêm để khởi động máy chủ.
Để dừng Jenkins, bạn có thể chạy lệnh sau.
Bạn có thể kiểm tra trạng thái của quy trình bằng cách chạy lệnh sau.
Bây giờ bạn có thể cài đặt Nginx bằng cách chạy:
Tạo một khối máy chủ mới bằng cách chạy lệnh sau.
Điền nội dung sau vào tệp. Thay thế ci.yourdomain.com bằng tên miền thực của bạn.
Lưu tệp và thoát khỏi trình chỉnh sửa. Bây giờ bạn có thể khởi động Nginx bằng cách chạy lệnh sau.
Để cho phép Nginx tự động khởi động khi khởi động bằng cách chạy lệnh sau.
Tải lại các vùng tường lửa bằng cách chạy:
Cấu hình SELinux để cấu hình proxy nginx bằng cách chạy lệnh sau.
Thay thế ci.yourdomain.com bằng tên miền thực tế của bạn. Bạn sẽ thấy giao diện sau.
Nó sẽ yêu cầu bạn nhập mật khẩu quản trị ban đầu, được tạo bởi trình cài đặt và được lưu trữ trong tệp /var/lib/jenkins/secrets/initialAdminPassword. Chạy lệnh sau để lấy mật khẩu quản trị viên ban đầu.
Sử dụng mật khẩu để đăng nhập và tiếp tục.
Ở phần tiếp theo, bạn sẽ được hỏi muốn cài đặt plugin nào, đối với người mới bắt đầu, bạn nên chọn Cài đặt plugin được đề xuất.
Lệnh này sẽ cài đặt tất cả các plugin cần thiết để bắt đầu.
Ở giao diện tiếp theo, nó sẽ cài đặt các plugin.
Bây giờ bạn sẽ cần tạo một người dùng quản trị viên cho bảng điều khiển quản trị Jenkins của mình.
Cuối cùng, bạn sẽ được đưa đến bảng điều khiển quản trị Jenkins.
Trong hướng dẫn này, chúng ta sẽ cài đặt Jenkins Automation Server trên máy chủ CentOS 7. Chúng ta cũng sẽ thiết lập Nginx làm proxy ngược cho Jenkins.
Điều kiện tiên quyết
- Máy chủ CentOS 7 tối thiểu
- Quyền root. Hướng dẫn này được viết dưới dạng người dùng root, nếu bạn đăng nhập dưới dạng người dùng sudo, hãy chạy sudo -i.
Cập nhật Hệ thống Cơ sở
Trước khi cài đặt bất kỳ gói nào, bạn nên cập nhật các gói và kho lưu trữ bằng lệnh sau.
Mã:
yum -y update
Cài đặt JAVA 8
Jenkins hỗ trợ cả OpenJDK và Oracle JAVA, trong hướng dẫn này, chúng tôi sẽ cài đặt phiên bản mới nhất của OpenJDK vào máy chủ. Chạy lệnh sau để cài đặt OpenJDK trên máy chủ của bạn.
Mã:
yum install java-1.8.0-openjdk
Mã:
java -version
Mã:
[root@liptan-pc ~]# java -versionopenjdk version "1.8.0_131"Môi trường chạy thời gian thực OpenJDK (bản dựng 1.8.0_131-b12)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 25.131-b12, chế độ hỗn hợp)
Mã:
echo $JAVA_HOME
Mã:
nano ~/.bash_profile
Mã:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
Mã:
source ~/.bash_profile
Mã:
[root@pc ~]# echo $JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
Cài đặt Jenkins
Có thể cài đặt Jenkins trực tiếp bằng cách thêm kho lưu trữ và nhập khóa GPG. Thêm kho lưu trữ Jenkins vào hệ thống của bạn bằng cách chạy lệnh sau.
Mã:
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
Nhập khóa GPG bằng cách chạy lệnh sau.
Mã:
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Mã:
yum -y install jenkins
Khởi động Jenkins
Bạn có thể khởi động Jenkins bằng cách chạy lệnh sau.
Mã:
systemctl start jenkins
Mã:
systemctl stop jenkins
Mã:
systemctl status jenkins
Cài đặt Nginx
Thay vì truy cập ứng dụng trên cổng 8080, chúng ta có thể tạo proxy ngược cho ứng dụng bằng máy chủ web Apache hoặc Nginx. Trong hướng dẫn này, chúng ta sẽ sử dụng nginx làm proxy ngược cho ứng dụng của bạn. Bây giờ nginx sẽ chạy sau máy chủ proxy nginx. nginx không có trong kho lưu trữ YUM mặc định. Bạn sẽ cần cài đặt kho lưu trữ EPEL để cài đặt Nginx.
Mã:
yum -y install epel-release
Mã:
yum -y install nginx
Mã:
nano /etc/nginx/conf.d/jenkins.conf
Mã:
upstream jenkins{ server 127.0.0.1:8080;}server{ listen 80; server_name ci.yourdomain.com; access_log /var/log/nginx/jenkins.access.log; error_log /var/log/nginx/jenkins.error.log; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://jenkins; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; }}
Mã:
systemctl start nginx
Mã:
systemctl enable nginx
Cấu hình Tường lửa và SELinux
Nếu bạn có tường lửa đang chạy trên máy chủ của mình, bạn sẽ cần cho phép cổng 8080 và cổng HTTP chuẩn đi qua tường lửa. Chạy lệnh sau để thêm các quy tắc tường lửa cho phép cổng 8080 và 80.
Mã:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
Mã:
firewall-cmd --zone=public --add-service=http --permanent
Mã:
firewall-cmd --reload
Mã:
setsebool httpd_can_network_connect 1 -P
Cấu hình Jenkins
Bây giờ bạn có thể truy cập giao diện web của máy chủ Jenkins CI bằng cách truy cập địa chỉ web sau.
Mã:
http://ci.yourdomain.com
Nó sẽ yêu cầu bạn nhập mật khẩu quản trị ban đầu, được tạo bởi trình cài đặt và được lưu trữ trong tệp /var/lib/jenkins/secrets/initialAdminPassword. Chạy lệnh sau để lấy mật khẩu quản trị viên ban đầu.
Mã:
cat /var/lib/jenkins/secrets/initialAdminPassword
Ở phần tiếp theo, bạn sẽ được hỏi muốn cài đặt plugin nào, đối với người mới bắt đầu, bạn nên chọn Cài đặt plugin được đề xuất.
Lệnh này sẽ cài đặt tất cả các plugin cần thiết để bắt đầu.
Ở giao diện tiếp theo, nó sẽ cài đặt các plugin.
Bây giờ bạn sẽ cần tạo một người dùng quản trị viên cho bảng điều khiển quản trị Jenkins của mình.
Cuối cùng, bạn sẽ được đưa đến bảng điều khiển quản trị Jenkins.