Hướng dẫn cài đặt Jenkins trên CentOS 7

Jenkins: Hướng dẫn cài đặt Jenkins trên CentOS 7 – Cuongquach.com | “Tích hợp liên tục (CI – Continuous Integration) là phương pháp phát triển phần mềm đòi hỏi các thành viên trong nhóm tích hợp công việc thường xuyên. Mỗi ngày, các thành viên đều phải theo dõi và phát triển công việc của họ ít nhất một lần. Việc này sẽ được một nhóm khác kiểm tra tự động, nhóm này sẽ tiến hành kiểm thử truy hồi để phát hiện lỗi nhanh nhất có thể. Cả nhóm thấy rằng phương pháp tiếp cận này giúp giảm bớt vấn đề về tích hợp hơn và cho phép phát triển phần mềm gắn kết nhanh hơn.

Jenkins là một chương trình mã nguồn mở thực hiện chức năng tích hợp liên tục (CI) và xây dựng các tác vụ tự động hoá. Chức năng cơ bản của Jenkins là thực hiện một danh sách các bước đã được định trước, ví dụ: biên dịch mã nguồn Java và xây dựng ứng dụng JAR từ các lớp kết quả. Để kích hoạt cho việc thực hiện các bước này có thể dựa vào thông tin thời gian (time based) hoặc sự kiện (event based). Ví dụ, mỗi 20 phút hoặc sau khi commit trong Git Repository.

Các bước có thể thực hiện bởi Jenkins như:

  • Thực hiện một xây dựng phần mềm bằng cách sử dụng một hệ thống xây dựng như Apache Maven hoặc Gradle.
  • Thực hiện một kịch bản shell script.
  • Lưu trữ kết quả build.
  • Chạy thử phần mềm.

Jenkins giám sát việc thực hiện các bước và cho phép ngừng quá trình, nếu một trong các bước không thành công. Jenkins cũng có thể gửi thông báo trong trường hợp xây dựng thành công hoặc thất bại. Jenkins có thể được mở rộng bằng các trình cắm thêm bổ sung. Trong bài viết này chúng ta sẽ tìm hiểu bước cơ bản là “Hướng dẫn cài đặt Jenkins trên CentOS 7“.

cài đặt jenkins trên centos 7
cài đặt jenkins trên centos 7

Contents

Hướng dẫn cài đặt Jenkins qua Yum trên CentOS 7

1. Cài đặt Java Runtime cho Jenkins

Đầu tiên bạn cần cài đặt môi trường Java runtime để chạy Jenkins. Bạn cần lưu ý phiên bản Java để chạy với phiên bản Jenkins:
+ Jenkins 2.54 trở đi : Java 8

# yum -y install java
# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

Nếu Java trên CentOS của bạn là phiên bản cũ (Java 7) thì bạn cần gỡ cài đặt phiên bản Java này và cài đặt phiên bản Java 8.

# yum remove java
# yum install java-1.8.0-openjdk

2. Cài đặt chương trình Jenkins

Trên CentOS 7, Jenkins đã hỗ trợ cài đặt chương trình thông qua Repository của Jenkins cung cấp. Bạn cần khởi tạo thông tin Repository như sau :

# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# yum -y install jenkins

Khi cài qua Repository hay gói package .rpm thì bạn sẽ có các thuận lợi sau:

  • Jenkins sẽ hỗ trợ startup script cho service Jenkins luôn thay vì chạy đơn lẻ file java .jar .
  • User ‘jenkins’ sẽ được khởi tạo để dùng cho service Jenkins.
  • Các thư mục cấu hình, hoạt động của Jenkins sẽ gồm: /var/log/jenkins/, /var/lib/jenkins/, /var/cache/jenkins . Owner của các folder này là user ‘jenkins’.
  • File cấu hình thông tin global : /etc/sysconfig/jenkins
  • File log Jenkins : /var/log/jenkins/jenkins.log

Kiểm tra phiên bản Jenkins tại file cấu hình (nhớ start Jenkins lên đã).

# cat /var/lib/jenkins/config.xml  | grep -i "version"
<?xml version='1.0' encoding='UTF-8'?>
  <version>2.89.4</version>

3. Khởi động Jenkins

Khởi động Jenkins và kích hoạt startup-service cho Jenkins.

# systemctl start jenkins
# systemctl enable jenkins
# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since Fri 2018-02-23 15:50:51 ICT; 5h 53min ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/jenkins.service
           └─1382 /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot...

Feb 23 15:50:50 web1 systemd[1]: Starting LSB: Jenkins Automation Server...
Feb 23 15:50:50 web1 runuser[1361]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Feb 23 15:50:51 web1 jenkins[1360]: Starting Jenkins [  OK  ]
Feb 23 15:50:51 web1 systemd[1]: Started LSB: Jenkins Automation Server.

Lúc này dịch vụ Jenkins đã được cài đặt và khởi động lắng nghe request ở port mặc định là 8080 TCP.

# netstat -atnp | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 1382/java

4. Mở firewall rule cho Jenkins

Nếu máy chủ Linux của bạn có sử dụng firewall local, thì cần mở rule port 8080 TCP cho Jenkins. Ví dụ với ‘iptables’.

# iptables -P INPUT -p tcp --dport 8080 -j ACCEPT

5. Truy cập Jenkins – setup cơ bản

Giờ bạn thử truy cập link ip server Jenkins và port 8080 trên trình duyệt web để mở trang setup đầu tiên dành cho Jenkins nào. Ví dụ link mình là (non-https): http://10.12.166.81:8080/

cài đặt jenkins trên centos 7 - unlock jenkins

Bạn sẽ thấy thông báo ‘Unlock Jenkins’, nhằm đảm bảo người truy cập là quản trị viên. Jenkins yêu cầu bạn lấy thông tin chuỗi mật khẩu chứa ở file sau trên server và nhập vào input form trên.

# cat /var/lib/jenkins/secrets/initialAdminPassword
5f323ac51cb04169b87b6211c4c2c67a

Sau đó, bạn sẽ được Jenkins thông báo cài đặt các plugin được khuyến nghị hay tự chọn lựa Plugin để cài hay không.

Ở ví dụ bài lab mình chọn cài đặt các Plugin Suggest như dưới và giờ thì ta đợi Jenkins cài đặt các plugin vào.

cài đặt jenkins trên centos 7 - cài pluginTiếp đến bạn cần cài đặt user và mật khẩu để đăng nhập vào dịch vụ Jenkins.

cài đặt jenkins trên centos 7 - setup user pass

Lúc này quá trình cài đặt cơ bản Jenkins đã hoàn tất. Bạn chỉ cần phải restart lại dịch vụ Jenkins để load các plugin cần thiết.

cài đặt jenkins trên centos 7 - 5

Sau khi restart xong, hãy truy cập lại đường link ban đầu. Lúc này bạn sẽ thấy giao diện đăng nhập Jenkins yêu cầu nhập user/password lúc nãy đã setup.

cài đặt jenkins trên centos 7 - hoàn tấtCuối cùng bạn đã vào được giao diện quản lý dịch vụ Jenkins rồi. Bước đầu của hành trình tìm hiểu Jenkins đã xong.

Vậy là xong phần tìm hiểu cài đặt Jenkins trên CentOS 7 rồi phải không nào. Tiếp đến các bài học khác sẽ giúp bạn tìm hiểu và học cách sử dụng ứng dụng Jenkins trong hoạt động CI/CD nhé.

Nguồn: https://cuongquach.com/

Previous articleTop 10 xu hướng công nghệ chiến lược trong năm 2018
Next articleJenkins: Hướng dẫn reset mật khẩu user Jenkins Admin
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !