手把手教你在Linux下搭建Jenkins实现自动部署

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

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: 

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

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

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

输出应如下所示: 

  1. openjdk version "11.0.8" 2020-07-14  
  2. OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)  
  3. 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键:

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

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

  1. 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: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update  
  2. 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” 没有数字签名。

解决方法

导入密钥: 

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

然后再次运行: 

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

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

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

你应该看到这样的东西:

● jenkins.service - LSB: Start Jenkins at boot time 

  1. Loaded: loaded (/etc/init.d/jenkins; generated)  
  2. Active: active (exited) since Fri 2020-07-24 16:47:34 CST; 1min 27s ago  
  3. Docs: man:systemd-sysv-generator(8)  
  4. Tasks: 0 (limit: 4624) 
  5. Memory: 0B  
  6. CGroup: /system.slice/jenkins.service  
  1. 7月 24 16:47:32 linuxmi systemd[1]: Starting LSB: Start Jenkins at boot time...  
  2. 7月 24 16:47:32 linuxmi jenkins[33922]: Correct java version found  
  3. 7月 24 16:47:32 linuxmi jenkins[33922]: * Starting Jenkins Automation Server j>  
  4. 7月 24 16:47:33 linuxmi su[33976]: (to jenkins) root on none  
  5. 7月 24 16:47:33 linuxmi su[33976]: pam_unix(su-l:session): session opened for u>  
  6. 7月 24 16:47:33 linuxmi su[33976]: pam_unix(su-l:session): session closed for u>  
  7. 7月 24 16:47:34 linuxmi jenkins[33922]: ...done.  
  8. 7月 24 16:47:34 linuxmi systemd[1]: Started LSB: Start Jenkins at boot time. 

也可以查看进程信息。 

  1. 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”子网的连接,可以运行以下命令: 

  1. 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,密码已写入到日志中(不知道在哪里?)该文件在服务器上: 

  1. /var/lib/jenkins/secrets/initialAdminPassword 

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

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

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

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

b55aa5df790f41688125c182193aecfe

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

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

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

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

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

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

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

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

总结

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

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

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2022-08-04 10:39:23

Jenkins集成CD

2022-01-17 07:50:37

Linux Patch项目

2010-07-06 09:43:57

搭建私有云

2011-01-10 14:41:26

2010-10-29 14:04:49

2022-03-14 14:47:21

HarmonyOS操作系统鸿蒙

2009-06-15 16:58:57

Java安装Linux

2020-06-01 16:25:43

WindowsLinux命令

2010-01-20 10:44:01

linux DHCP服务器

2011-03-25 12:45:49

Oracle SOA

2011-02-22 14:36:40

ASP.NETmsdnC#

2023-04-26 12:46:43

DockerSpringKubernetes

2020-05-22 08:52:08

LinuxPython工具

2020-07-16 08:37:39

NginxCentOS7搭建

2018-10-10 15:14:20

Linux虚拟机配置

2020-06-17 07:35:57

虚拟机部署微服务

2010-07-06 09:38:51

搭建私有云

2022-01-04 08:52:14

博客网站Linux 系统开源

2009-11-09 14:57:37

WCF上传文件

2011-01-06 10:39:25

.NET程序打包
点赞
收藏

51CTO技术栈公众号