Jenkins是一个开源的自动化服务器,可以用来轻松地建立持续集成和持续交付(CI/CD)管道。

持续集成(CI)是一种DevOps实践,在这种实践中,团队成员定期将他们的代码更改提交到版本控制存储库,然后运行自动化的构建和测试。持续交付(CD)是一系列实践,在这些实践中,代码变更被自动构建、测试并部署到生产环境中。

Jenkins可以作为独立应用程序安装,也可以作为Java servlet容器(如Apache Tomcat)中的servlet安装,也可以作为Docker容器运行。

本文介绍了如何在Ubuntu 20.04上安装Jenkins作为一个独立的服务。

安装Java

Jenkins是一个Java应用程序,需要在系统上安装Java 8或更高版本。我们将安装OpenJDK 11, Java平台的开源实现。

以root用户或具有sudo权限的用户或root用户运行以下命令来安装OpenJDK 11:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install openjdk-11-jdk

安装完成后,请检查Java版本:

linuxmi@linuxmi:~/www.linuxmi.com$ java -version

输出应如下所示:

openjdk version “11.0.8” 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

安装Jenkins

在Ubuntu上安装Jenkins相对简单。我们将启用Jenkins APT存储库,导入存储库GPG密钥,并安装Jenkins包。

使用以下wget命令导入Jenkins存储库的GPG键:

linuxmi@linuxmi:~/www.linuxmi.com$ wget -q -O – https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add –

接下来,使用以下命令将Jenkins存储库添加到系统中:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’

启用Jenkins存储库后,通过输入以下命令更新apt包列表并安装最新版本的Jenkins:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install jenkins

如果你得到一个错误消息说:

W: GPG 错误:https://pkg.jenkins.io/debian-stable binary/ Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 9B7D32F2D50582E6
E: 仓库 “http://pkg.jenkins.io/debian-stable binary/ Release” 没有数字签名。

解决方法

导入密钥:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 9B7D32F2D50582E6

然后再次运行:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install jenkins

Jenkins服务将在安装过程完成后自动启动。您可以通过如下命令来验证:

linuxmi@linuxmi:~/www.linuxmi.com$ systemctl status jenkins

你应该看到这样的东西:

● jenkins.service – LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Fri 2020-07-24 16:47:34 CST; 1min 27s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 4624)
Memory: 0B
CGroup: /system.slice/jenkins.service

7月 24 16:47:32 linuxmi systemd[1]: Starting LSB: Start Jenkins at boot time…
7月 24 16:47:32 linuxmi jenkins[33922]: Correct java version found
7月 24 16:47:32 linuxmi jenkins[33922]: * Starting Jenkins Automation Server j>
7月 24 16:47:33 linuxmi su[33976]: (to jenkins) root on none
7月 24 16:47:33 linuxmi su[33976]: pam_unix(su-l:session): session opened for u>
7月 24 16:47:33 linuxmi su[33976]: pam_unix(su-l:session): session closed for u>
7月 24 16:47:34 linuxmi jenkins[33922]: …done.
7月 24 16:47:34 linuxmi systemd[1]: Started LSB: Start Jenkins at boot time.

也可以查看进程信息。

linuxmi@linuxmi:~/www.linuxmi.com$ ps -ef |grep jenkins

调整防火墙

如果你在一个被防火墙保护的远程Ubuntu服务器上安装Jenkins,你需要打开端口8080。

Jenkins 默认端口是8080,在配置文件/etc/default/jenkins 中定义。

HTTP_PORT=8080

本文修改为 9090

通常,您希望只允许从特定的IP地址或IP范围访问Jenkins服务器。例如,要仅允许来自“192.168.135.0/24”子网的连接,可以运行以下命令:

sudo ufw allow proto tcp from 192.168.135.0/24 to any port 9090

如果你需要允许访问从任何地方运行:

sudo ufw allow 9090

设置Jenkins

要安装新的Jenkins安装,请打开浏览器,输入域或IP地址,然后输入端口9090,http://192.168.150.135:9090

将显示如下页面,提示您输入安装过程中创建的管理员密码:

解锁 Jenkins

为了确保管理员安全地安装 Jenkins,密码已写入到日志中(不知道在哪里?)该文件在服务器上:

/var/lib/jenkins/secrets/initialAdminPassword

请从本地复制密码并粘贴到下面。

使用cat在终端上显示密码:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

你应该看到一个32字符长的字母数字密码,如下所示:

b55aa5df790f41688125c182193aecfe

从终端复制密码,粘贴到“管理员密码”域中,点击“继续”。

在下一个屏幕上,安装向导将询问您是要安装推荐的插件还是选择特定的插件。

点击“安装推荐的插件”框,安装过程将立即开始。

一旦插件安装完毕,系统将提示您设置第一个管理员用户。填写所有需要的信息,然后点击“保存并完成”。

下一页将要求您为Jenkins实例设置URL。该字段将使用自动生成的URL填充。

通过单击“保存并完成”按钮来确认URL,设置过程将完成。

单击重启开始使用Jenkins按钮,您将被重定向到以您在前面的步骤之一中创建的admin用户身份登录的Jenkins仪表板。

此时,您已经成功地在服务器上安装了Jenkins。

总结

在本教程中,我们向您展示了如何在Ubuntu系统上安装和完成Jenkins的初始配置。

您现在可以访问官方Jenkins文档页面,并开始探索Jenkins的工作流和插件模型。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注