Jenkins 安装分步指南
本文将指导您如何在不同的操作系统上安装 Jenkins。我们将讨论在 Windows、Ubuntu 和 CentOS 上的安装过程。
值得注意的是,尽管在不同操作系统上安装 Jenkins 的步骤略有不同,但配置过程基本一致。
什么是 Jenkins?
Jenkins是一个开源的自动化构建工具,主要服务于开发人员的项目和应用程序。它能够自动化软件和应用程序的构建、测试和部署流程。作为一个强大的自动化工具,Jenkins 支持跨平台的持续集成和持续交付。
Jenkins 是一个基于 Java 的应用程序,这意味着它可以在任何安装了 Java 运行时环境 (JRE) 的机器上独立运行。
如果您想学习Jenkins,可以考虑这个在线课程,助您从新手到专家。
先决条件
安装 Jenkins 前,您需要在所有操作系统上安装 JDK 8 或更高版本。您可以从这里下载并安装。
在 Windows 上安装 Jenkins
在确保 JDK 安装并正常运行后,您可以开始下载和安装 Jenkins。点击此处下载适用于 Windows 的最新 Jenkins MSI 安装包。
- 双击下载的 jenkins.msi 文件,开始安装过程。
- 点击“下一步”,然后点击“安装”。
- 如果要修改安装目录,请点击“更改”按钮。这里我们使用默认设置,点击“下一步”。
- 安装完成后,点击“完成”按钮,退出安装向导。
您可以看到,在 Windows 上安装 Jenkins 非常简单,就像安装其他普通软件一样。
在 Ubuntu 上安装 Jenkins
同样,请确保您的 Ubuntu 系统已安装并运行 JDK 8 或更高版本。如果没有安装,请使用以下命令进行安装:
sudo apt install default-jdk-headless
[email protected]:~$ sudo apt install default-jdk-headless Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: default-jdk-headless 0 upgraded, 1 newly installed, 0 to remove and 102 not upgraded. Need to get 1132 B of archives. After this operation, 6144 B of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 default-jdk-headless amd64 2:1.11-68ubuntu1~18.04.1 [1132 B] Fetched 1132 B in 2s (676 B/s) Selecting previously unselected package default-jdk-headless. (Reading database ... 30061 files and directories currently installed.) Preparing to unpack .../default-jdk-headless_2%3a1.11-68ubuntu1~18.04.1_amd64.deb ... Unpacking default-jdk-headless (2:1.11-68ubuntu1~18.04.1) ... Setting up default-jdk-headless (2:1.11-68ubuntu1~18.04.1) ... [email protected]:~$
要验证 Java 是否安装成功,请运行以下命令:
java -version
[email protected]:~$ java -version openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing) [email protected]:~$
Java 安装完成后,就可以开始 Jenkins 的安装了。
安装步骤:
第一步: 打开命令终端 (Ctrl + Alt + T)。
第二步: 添加 Jenkins 存储库密钥到系统:
wget -q -O – http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add –
[email protected]:~$ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - OK [email protected]:~$
第三步: 将 Debian 软件包存储库地址添加到系统:
sudo sh -c ‘echo deb http://pkg.jenkins-ci.org/debian-stable binary/ > /etc/apt/sources.list.d/jenkins .list’
第四步: 更新 Ubuntu 软件包列表:
sudo apt update
[email protected]:~$ sudo apt update Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Ign:3 http://pkg.jenkins-ci.org/debian-stable binary/ InRelease Get:4 http://pkg.jenkins-ci.org/debian-stable binary/ Release [2044 B] Get:5 http://pkg.jenkins-ci.org/debian-stable binary/ Release.gpg [195 B] Get:6 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:7 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [8570 kB] Get:8 http://pkg.jenkins-ci.org/debian-stable binary/ Packages [17.6 kB] Get:9 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Get:10 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [748 kB] Get:11 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [237 kB] Get:12 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [50.8 kB] Get:13 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [12.3 kB] Get:14 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [673 kB] Get:15 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [223 kB] Get:16 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [7808 B] Get:17 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2856 B] Get:18 http://archive.ubuntu.com/ubuntu bionic/universe Translation-en [4941 kB] Get:19 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [151 kB] Get:20 http://archive.ubuntu.com/ubuntu bionic/multiverse Translation-en [108 kB] Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [969 kB] Get:22 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [329 kB] Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [60.5 kB] Get:24 http://archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [14.7 kB] Get:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1085 kB] Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [337 kB] Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [15.9 kB] Get:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [6420 B] Get:29 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [7516 B] Get:30 http://archive.ubuntu.com/ubuntu bionic-backports/main Translation-en [4764 B] Get:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [7484 B] Get:32 http://archive.ubuntu.com/ubuntu bionic-backports/universe Translation-en [4436 B] Fetched 18.8 MB in 58s (327 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 102 packages can be upgraded. Run 'apt list --upgradable' to see them. [email protected]:~$
第五步: 安装 Jenkins:
sudo apt install jenkins
[email protected]:~$ sudo apt install jenkins Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: daemon The following NEW packages will be installed: daemon jenkins 0 upgraded, 2 newly installed, 0 to remove and 102 not upgraded. Need to get 65.7 MB of archives. After this operation, 66.8 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 daemon amd64 0.6.4-1build1 [99.5 kB] Get:2 http://pkg.jenkins-ci.org/debian-stable binary/ jenkins 2.235.1 [65.6 MB] Fetched 65.7 MB in 3min 34s (307 kB/s) Selecting previously unselected package daemon. (Reading database ... 29242 files and directories currently installed.) Preparing to unpack .../daemon_0.6.4-1build1_amd64.deb ... Unpacking daemon (0.6.4-1build1) ... Selecting previously unselected package jenkins. Preparing to unpack .../jenkins_2.235.1_all.deb ... Unpacking jenkins (2.235.1) ... Setting up daemon (0.6.4-1build1) ... Setting up jenkins (2.235.1) ... invoke-rc.d: could not determine current runlevel Processing triggers for systemd (237-3ubuntu10.39) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for ureadahead (0.100.0-21) ... [email protected]:~$
Jenkins 安装完成。现在启动 Jenkins 服务器。
第六步: 通过 systemctl 命令启动 Jenkins:
sudo systemctl start jenkins
由于 systemctl 不显示输出,请使用以下命令检查 Jenkins 状态:
sudo systemctl status jenkins
[email protected]:~$ sudo systemctl status jenkins ● jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Sat 2020-04-04 10:10:19 UTC; 2 months 16 days ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 4915) CGroup: /system.slice/jenkins.service Apr 04 10:10:18 ip-172-31-17-25 systemd[1]: Starting LSB: Start Jenkins at boot time... Apr 04 10:10:18 ip-172-31-17-25 jenkins[1984]: Correct java version found Apr 04 10:10:18 ip-172-31-17-25 jenkins[1984]: * Starting Jenkins Automation Server jenkins Apr 04 10:10:18 ip-172-31-17-25 su[2037]: Successful su for root by root Apr 04 10:10:18 ip-172-31-17-25 su[2037]: + ??? root:root Apr 04 10:10:18 ip-172-31-17-25 su[2037]: pam_unix(su:session): session opened for user root by (uid=0) Apr 04 10:10:18 ip-172-31-17-25 jenkins[1984]: mesg: ttyname failed: Inappropriate ioctl for device Apr 04 10:10:18 ip-172-31-17-25 su[2037]: pam_unix(su:session): session closed for user root Apr 04 10:10:19 ip-172-31-17-25 jenkins[1984]: ...done. Apr 04 10:10:19 ip-172-31-17-25 systemd[1]: Started LSB: Start Jenkins at boot time. [email protected]:~$
第七步: (可选) 配置端口
Jenkins 默认在 8080 端口运行,如果需要从外部访问,您需要开放此端口:
sudo ufw allow 8080
您可以使用以下命令检查端口状态:
sudo ufw status
[email protected]:~$ sudo ufw status Status: active To Action From -- ------ ---- 8080 ALLOW Anywhere 8080 (v6) ALLOW Anywhere (v6) [email protected]:~$
如果防火墙状态显示为非活动,请执行以下命令,否则跳过:
sudo ufw allow OpenSSH
然后执行:
sudo ufw enable
在 CentOS 上安装 Jenkins
首先,确保 CentOS 系统已安装 JDK 8 或更高版本。如果没有安装,请使用以下命令安装 OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel
[[email protected] ~]$ sudo yum install java-1.8.0-openjdk-devel CentOS-8 - AppStream 1.0 kB/s | 4.3 kB 00:04 CentOS-8 - AppStream 397 kB/s | 5.8 MB 00:14 CentOS-8 - Base 3.5 kB/s | 3.9 kB 00:01 CentOS-8 - Extras 547 B/s | 1.5 kB 00:02 Jenkins-stable 6.5 kB/s | 2.9 kB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: java-1.8.0-openjdk-devel x86_64 1:1.8.0.252.b09-3.el8_2 AppStream 9.8 M Transaction Summary ================================================================================ Install 1 Package Total download size: 9.8 M Installed size: 41 M Is this ok [y/N]: y Downloading Packages: java-1.8.0-openjdk-devel-1.8.0.252.b09-3.el8_2. 531 kB/s | 9.8 MB 00:18 -------------------------------------------------------------------------------- Total 507 kB/s | 9.8 MB 00:19 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86 1/1 Running scriptlet: java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86 1/1 Verifying : java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86 1/1 Installed products updated. Installed: java-1.8.0-openjdk-devel-1:1.8.0.252.b09-3.el8_2.x86_64 Complete! [[email protected] ~]$
要验证 Java 是否安装成功,请运行以下命令:
java -version
[[email protected] ~]$ java -version openjdk version "1.8.0_252" OpenJDK Runtime Environment (build 1.8.0_252-b09) OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode) [[email protected] ~]$
Java 安装完成后,就可以开始 Jenkins 的安装了。
安装步骤
第一步: 打开命令终端。
第二步: 下载并添加 Jenkins GPG 密钥:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
[[email protected] ~]$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo --2020-06-21 04:29:52-- http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo Resolving pkg.jenkins-ci.org (pkg.jenkins-ci.org)... 52.202.51.185, 64:ff9b::34ca:33b9 Connecting to pkg.jenkins-ci.org (pkg.jenkins-ci.org)|52.202.51.185|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 85 Saving to: ‘/etc/yum.repos.d/jenkins.repo’ /etc/yum.repos.d/je 100%[==================>] 85 --.-KB/s in 0s 2020-06-21 04:29:54 (2.61 MB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85] [[email protected] ~]$
第三步: 导入 Jenkins GPG 密钥:
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
第四步: 更新 CentOS 软件包列表:
sudo yum update
[[email protected] ~]$ sudo yum update Last metadata expiration check: 0:17:09 ago on Sun 21 Jun 2020 04:21:20 AM PDT. Dependencies resolved. Nothing to do. Complete! [[email protected] ~]$
第五步: 安装 Jenkins:
sudo yum install jenkins
[[email protected] ~]$ sudo yum install jenkins Last metadata expiration check: 0:19:26 ago on Sun 21 Jun 2020 04:21:20 AM PDT. Dependencies resolved. =============================================================================== Package Architecture Version Repository Size =============================================================================== Installing: jenkins noarch 2.235.1-1.1 jenkins 63 M Transaction Summary =============================================================================== Install 1 Package Total download size: 63 M Installed size: 63 M Is this ok [y/N]: y Downloading Packages: jenkins-2.235.1-1.1.noarch.rpm 172 kB/s | 63 MB 06:16 ------------------------------------------------------------------------------- Total 172 kB/s | 63 MB 06:16 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: jenkins-2.235.1-1.1.noarch 1/1 Installing : jenkins-2.235.1-1.1.noarch 1/1 Running scriptlet: jenkins-2.235.1-1.1.noarch 1/1 Verifying : jenkins-2.235.1-1.1.noarch 1/1 Installed products updated. Installed: jenkins-2.235.1-1.1.noarch Complete! [[email protected] ~]$
第六步: 使用 systemctl 启动 Jenkins:
sudo systemctl start jenkins
使用以下命令检查 Jenkins 状态:
sudo systemctl status jenkins
[[email protected] ~]$ sudo systemctl status jenkins [sudo] password for techblik.com: ● jenkins.service - LSB: Jenkins Automation Server Loaded: loaded (/etc/rc.d/init.d/jenkins; generated) Active: active (running) Docs: man:systemd-sysv-generator(8) Jun 20 11:15:22 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automa> Jun 20 11:15:23 localhost.localdomain runuser[1456]: pam_unix(runuser:session)> Jun 20 11:15:33 localhost.localdomain jenkins[1433]: Starting Jenkins [ OK ] Jun 20 11:15:33 localhost.localdomain systemd[1]: Started LSB: Jenkins Automat> Jun 21 04:23:04 localhost.localdomain systemd[1]: Stopping LSB: Jenkins Automa> [[email protected] ~]$
第七步: (可选) 配置端口
Jenkins 默认在 8080 端口运行,如果需要从外部访问,您需要开放此端口:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
[[email protected] ~]$ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp success [[email protected] ~]$
配置端口后重载防火墙:
sudo firewall-cmd --reload
[[email protected] ~]$ sudo firewall-cmd --reload success [[email protected] ~]$
配置 Jenkins
Jenkins 安装完成后,会在 8080 端口上运行。您可以在浏览器中访问 http://localhost:8080 来进行配置。
第一步: 访问 http://localhost:8080。
第二步: 要解锁 Jenkins,请从以下位置的文件中复制管理员密码:
- Windows:
C:Program Files (x86)JenkinssecretsinitialAdminPassword
- Linux/Ubuntu/CentOS:
/var/lib/jenkins/secrets/initialAdminPassword
将密码粘贴到 管理员密码 输入框,然后点击 继续 按钮。
第三步: 您可以选择安装推荐的插件或根据您的需求选择插件。此处,我们选择安装推荐的插件。
第四步: 请等待所有插件安装完成,完成后点击“继续”。
第五步: 创建 Jenkins 管理员帐户。输入所需的详细信息,然后点击 “保存并继续”。
第六步: 您可以选择修改 Jenkins URL,这里我们使用默认的 http://localhost:8080。点击 “保存并完成” 完成配置过程。最后点击 “开始使用 Jenkins”。
至此,配置过程全部完成,您应该可以看到 Jenkins 的默认欢迎页面。
所有操作系统上的 Jenkins 配置步骤基本一致,除了需要从文件中获取并输入管理员密码,该密码存储在“解锁 Jenkins”页面显示的路径中。
结论
以上就是在您常用的操作系统上安装 Jenkins 的步骤。接下来,您可以开始学习如何创建您的第一个 Jenkins 流水线。
Jenkins 安装非常简单。如果您是为远程团队进行设置,您可以选择在云服务器上进行安装或使用 Jenkins 的托管平台。