如何在 RHEL 8/CentOS 8 上安装 Jenkins
Jenkins 是一种广泛使用的开源自动化服务器,可用于自动化从构建到部署软件的任务。它的管道很容易理解,您可以像在命令行上执行任务一样简单地添加任务。
在本教程中,我们将在 RHEL 8/CentOS 8 上安装 Jenkins,从命令行手动运行服务器,将其安装为标准服务,并将其部署到 Apache Tomcat 容器中。
在本教程中您将学习:
如何手动运行 Jenkins
如何将 Jenkins 安装为服务
如何将 Jenkins 部署到 Apache Tomcat 容器中
如何解锁詹金斯
如何打开 Jenkins 所服务的防火墙上的端口
RHEL 8/CentOS 8 上首次启动安装时 Jenkins 的解锁页面
如何在 RHEL 8/CentOS 8 上安装 jenkins 分步说明
从安装角度来说,Jenkins是省心的。一个纯 Java 应用程序,可以在运行 Java 的任何东西上运行,还具有嵌入式 Jetty 服务器,无需任何容器或其他运行环境即可运行。您可以从下面描述的三种运行 Jenkins 的方式中进行选择,功能和管理将是相同的。
第一步是获取软件。只需
wget
即可实现,因为 Jenkins 被整齐地打包到可以独立运行的war
文件中。让我们下载存档:$ wget mirrors.jenkins.io/war-stable/latest/jenkins.war
不需要安装(除了解锁,稍后描述),我们可以简单地从命令行以独立模式启动服务器:
java -jar jenkins.war
将显示冗长的输出以及解锁步骤的密码。经过一些工作后,启动过程应该完成,并且输出中显示以下行:
INFO [Jenkins initialization thread] hudson.WebAppMain$3.run Jenkins is fully up and running
要将 Jenkins 安装为标准服务,我们需要导入 Jenkins 存储库的密钥:
# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
我们需要将 Jenkins 存储库添加到我们系统的存储库中:
# wget http://pkg.jenkins-ci.org/redhat/jenkins.repo -O /etc/yum.repos.d/jenkins.repo
之后我们可以使用 dnf 安装 Jenkins:
# dnf install jenkins
通过这种方式,我们可以获得服务的所有额外功能,我们可以使用 systemd 启动、停止和获取 Jenkins 的状态:
systemctl start|stop|status jenkins
如果我们已经安装了正在运行的 Apache Tomcat,我们可以将 Jenkins 部署到其中。我们需要下载
步骤1
中解释的war
,然后复制/移动到Tomcat的webapps
目录中:# cp /tmp/jenkins.war /opt/tomcat/webapps/
不要忘记将运行 Tomcat 的用户设置为文件的所有者:
# chown tomcat:tomcat /opt/tomcat/webapps/jenkins.war
要解锁 Jenkins,我们需要输入生成的初始密码,该密码位于 java -jar jenkins.war 的输出中,或者在前面步骤中描述的日志文件之一中。解锁后我们就可以开始使用服务器了。
如果有防火墙正在运行,我们需要打开其上的端口
8080
(如果Jenkins部署到Tomcat中,这一步应该已经完成)。为此,我们可以使用firewalld
的预定义服务:firewall-cmd --permanent --zone=public --add-service=jenkins
我们需要重新加载防火墙:
firewall-cmd --reload