如何在CentOS 7上安装Jenkins

时间:2020-02-23 14:30:44  来源:igfitidea点击:

如何在CentOS 7上安装Jenkins? Jenkins是用Java编写的开源自动化服务器,旨在自动执行软件的持续集成和交付中经常遇到的重复性任务。

Jenkins通常使用内置的Java servlet容器/应用程序服务器(Jetty)在其自己的进程中作为独立应用程序运行。256MB的RAM,建议1GB + 1GB的驱动器空间(但是,如果将Jenkins作为Docker容器运行,建议最小为10GB)。

最低硬件要求:

Jenkins需要Java才能运行,但是CentOS 7默认不包含它。要安装Open Java Development Kit(OpenJDK),请运行以下命令:

在CentOS 7上安装Jenkins

通过运行以下命令来确保已安装Java:

sudo yum -y install epel-release
sudo yum install java-1.8.0-openjdk

首先从Jenkins导入存储库密钥

$java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

导入密钥后,将存储库添加到系统

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

然后使用yum安装Jenkins软件包:

sudo yum -y install wget
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

如果仅需要LTS发行版,请改为运行以下命令:

sudo yum -y install jenkins

我们现在可以使用以下方法启动Jenkins服务:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum -y install jenkins

状态检查应返回运行状态

sudo systemctl start jenkins
sudo systemctl enable --now jenkins

在防火墙上启用端口8080/tcp

$sudo systemctl status jenkins
 ● jenkins.service - LSB: Jenkins Automation Server
    Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
    Active: active (exited) since Thu 2019-03-07 09:23:25 CET; 4s ago
      Docs: man:systemd-sysv-generator(8)
   Process: 15039 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
 Mar 07 09:23:24 centos-2gb-nbg1-1 systemd[1]: Starting LSB: Jenkins Automation Server…
 Mar 07 09:23:25 centos-2gb-nbg1-1 runuser[15044]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
 Mar 07 09:23:25 centos-2gb-nbg1-1 jenkins[15039]: Starting Jenkins [  OK  ]
 Mar 07 09:23:25 centos-2gb-nbg1-1 systemd[1]: Started LSB: Jenkins Automation Server.

服务应该在端口8080上监听

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

浏览到URLhttp://[serverip | hostname]:8080以访问Web安装向导。

# ss -tunelp | grep 8080
tcp    LISTEN     0      50       :::8080                 :::*

在CentOS 7上解锁Jenkins

首次访问新的Jenkins实例时,系统会要求我们使用自动生成的密码将其解锁。

从获取密码

将自动生成的字母数字密码复制粘贴到"管理员密码"字段中,然后单击"继续"。

$cat /var/lib/jenkins/secrets/initialAdminPassword
75a6155d70b7435c9b382197c823aa35

接下来是创建一个用于管理Jenkins服务器的管理员用户帐户。

选择要安装在下一页的插件。

建议在受SSL证书保护的代理服务器后面访问Jenkins服务器。检查以下指南。

配置Nginx和SSL(可选)

在Nginx反向代理后面配置Jenkins并让SSL加密

默认情况下,Jenkins用户策略允许登录用户访问任何内容。情况并非如此,我们需要设置适当的用户策略。请在下面查看我们的Jenkins政策和用户管理指南。

在Jenkins上配置用户角色

如何在Jenkins中管理用户和角色

让其他用户使用其凭据登录并为他们分配角色,这些角色定义了他们在Jenkins服务器上可以执行的操作。

有关更多说明,请查阅官方文档。