Jenkins 安装程序可用于多个 Linux 发行版。

先决条件

最低硬件要求:

  • 256 MB 内存

  • 1 GB 的驱动器空间(如果将 Jenkins 作为 Docker 容器运行,则建议至少 10 GB)

小团队推荐的硬件配置:

  • 4 GB+ 内存

  • 50 GB 以上的驱动器空间

综合硬件推荐:

  • 硬件:请参阅硬件建议页面

软件要求:

  • Java:请参阅Java 要求页面

  • Web 浏览器:请参阅Web 浏览器兼容性页面

  • 对于 Windows 操作系统:Windows 支持政策

  • 对于 Linux 操作系统:Linux 支持政策

Debian/Ubuntu

在 Debian 和基于 Debian 的发行版(如 Ubuntu)上,您可以通过apt.

长期支持版本

每 12 周从常规版本流中选择一个LTS(长期支持)版本作为该时间段的稳定版本。它可以从debian-stableapt 存储库安装。

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins

每周发布

每周都会发布一个新版本,以向用户和插件开发人员提供错误修复和功能。它可以从debianapt 存储库安装。

curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins

从 Jenkins 2.335 和 Jenkins 2.332.1 开始,软件包配置为使用systemd而不是旧的 System initV。请参阅DigitalOcean 社区systemd教程以更好地了解该命令的好处systemd和systemctl命令。

软件包安装将:

  • 将 Jenkins 设置为启动时启动的守护进程。运行systemctl cat jenkins以获取更多详细信息。

  • 创建一个“jenkins”用户来运行这个服务。

  • 直接控制台日志输出到systemd-journald. journalctl -u jenkins.service如果您正在对 Jenkins 进行故障排除,请运行。

  • 填充/lib/systemd/system/jenkins.service启动的配置参数,例如JENKINS_HOME

  • 将 Jenkins 设置为侦听端口 8080。使用浏览器访问此端口以开始配置。

如果 Jenkins 由于端口正在使用而无法启动,请运行systemctl edit jenkins并添加以下内容:

[Service]
Environment="JENKINS_PORT=8081"

此处选择了“8081”,但您可以设置另一个可用端口。

Java的安装

Jenkins 需要 Java 才能运行,但某些发行版默认不包含此功能,并且 某些 Java 版本与 Jenkins 不兼容。
您可以使用多种 Java 实现。OpenJDK是目前最流行的一个,我们将在本指南中使用它。
更新 Debian apt 存储库,安装 OpenJDK 11,并使用以下命令检查安装:

$ sudo apt update
$ sudo apt install openjdk-11-jre
$ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)

为什么使用aptand notapt-get或其他命令?apt 命令自 2014 年以来一直可用。它的命令结构类似于apt-get但旨在为典型用户提供更愉快的体验。简单的软件管理任务,如安装、搜索和删除,使用apt.

Fedora

您可以通过dnf. 您需要先将 Jenkins 网站上的 Jenkins 存储库添加到包管理器中。

长期支持版本

每 12 周从常规版本流中选择一个LTS(长期支持)版本作为该时间段的稳定版本。它可以从redhat-stableyum 存储库安装。

sudo wget -O /etc/yum.repos.d/jenkins.repo
https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo dnf upgrade

Add required dependencies for the jenkins package

sudo dnf install java-11-openjdk
sudo dnf install jenkins
sudo systemctl daemon-reload

每周发布

每周都会发布一个新版本,以向用户和插件开发人员提供错误修复和功能。它可以从redhatyum 存储库安装。

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo dnf upgrade
# Add required dependencies for the jenkins package
sudo dnf install java-11-openjdk
sudo dnf install jenkins

启动Jenkins

您可以使用以下命令启用 Jenkins 服务以在启动时启动:

sudo systemctl enable jenkins

您可以使用以下命令启动 Jenkins 服务:

sudo systemctl start jenkins

您可以使用以下命令检查 Jenkins 服务的状态:

sudo systemctl status jenkins

如果一切设置正确,您应该会看到如下输出:

Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-11-13 16:19:01 +03; 4min 57s ago

如果您安装了防火墙,则必须将 Jenkins 添加为例外。您必须YOURPORT在下面的脚本中更改为您要使用的端口。端口8080是最常见的。

YOURPORT=8080
PERM="--permanent"
SERV="$PERM --service=jenkins"

firewall-cmd $PERM --new-service=jenkins
firewall-cmd $SERV --set-short="Jenkins ports"
firewall-cmd $SERV --set-description="Jenkins port exceptions"
firewall-cmd $SERV --add-port=$YOURPORT/tcp
firewall-cmd $PERM --add-service=jenkins
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

Red Hat / CentOS

yum您可以在 Red Hat Enterprise Linux、CentOS 和其他基于 Red Hat 的发行版上安装 Jenkins 。

长期支持版本
每 12 周从常规版本流中选择一个LTS(长期支持)版本作为该时间段的稳定版本。它可以从redhat-stableyum 存储库安装。

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install java-11-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload

每周发布
每周都会发布一个新版本,以向用户和插件开发人员提供错误修复和功能。它可以从redhatyum 存储库安装。

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install java-11-openjdk
sudo yum install jenkins

启动Jenkins
您可以使用以下命令启用 Jenkins 服务以在启动时启动:

sudo systemctl enable jenkins

您可以使用以下命令启动 Jenkins 服务:

sudo systemctl start jenkins

您可以使用以下命令检查 Jenkins 服务的状态:

sudo systemctl status jenkins

如果一切设置正确,您应该会看到如下输出:

Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-11-13 16:19:01 +03; 4min 57s ago

如果您安装了防火墙,则必须将 Jenkins 添加为例外。您必须YOURPORT在下面的脚本中更改为您要使用的端口。端口8080是最常见的。

YOURPORT=8080
PERM="--permanent"
SERV="$PERM --service=jenkins"

firewall-cmd $PERM --new-service=jenkins
firewall-cmd $SERV --set-short="Jenkins ports"
firewall-cmd $SERV --set-description="Jenkins port exceptions"
firewall-cmd $SERV --add-port=$YOURPORT/tcp
firewall-cmd $PERM --add-service=jenkins
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

安装后设置向导

使用上述过程之一下载、安装和运行 Jenkins 后(使用 Jenkins Operator 安装除外),安装后设置向导将开始。

此设置向导将引导您完成一些快速的“一次性”步骤来解锁 Jenkins、使用插件对其进行自定义并创建第一个管理员用户,您可以通过该用户继续访问 Jenkins。

解锁Jenkins

当您第一次访问新的 Jenkins 实例时,系统会要求您使用自动生成的密码解锁它。
浏览到http://localhost:8080(或您在安装 Jenkins 时为它配置的任何端口)并等待解锁 Jenkins页面出现。
Jenkins_1

解锁Jenkins页面

从 Jenkins 控制台日志输出中,复制自动生成的字母数字密码(在 2 组星号之间)。
setup-jenkins-02-copying-initial-admin-password

笔记:

命令:sudo cat /var/lib/jenkins/secrets/initialAdminPassword 将在控制台打印密码。

如果您使用官方jenkins/jenkins镜像在 Docker 中运行 Jenkins,您可以使用sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword它在控制台中打印密码,而无需执行到容器中。

在Unlock Jenkins页面上,将此密码粘贴到Administrator password字段中,然后单击Continue。

笔记:

  • 您始终可以从 Docker 日志(如上)访问 Jenkins 控制台日志。

  • Jenkins 控制台日志指示也可以获取此密码的位置(在 Jenkins 主目录中)。必须在新 Jenkins 安装的设置向导中输入此密码,然后才能访问 Jenkins 的主 UI。如果您碰巧跳过了设置向导中的后续用户创建步骤,此密码也可用作默认管理员帐户的密码(用户名为“admin”)。

使用插件自定义 Jenkins

解锁 Jenkins后,会出现自定义 Jenkins页面。在这里,您可以安装任意数量的有用插件作为初始设置的一部分。

单击显示的两个选项之一:

  • 安装推荐的插件- 安装推荐的插件集,这些插件基于最常见的用例。

  • 选择要安装的插件- 选择最初安装的插件集。当您第一次访问插件选择页面时,默认选择建议的插件。

如果您不确定需要哪些插件,请选择安装建议的插件。您可以稍后通过 Jenkins 中的 Manage Jenkins Manage Plugins页面安装(或删除)其他 Jenkins 插件。

设置向导显示 Jenkins 的配置进度以及您选择的 Jenkins 插件集正在安装。此过程可能需要几分钟。

创建第一个管理员用户

最后,在使用 plugins 自定义 Jenkins之后,Jenkins 会要求您创建您的第一个管理员用户。

1.出现Create First Admin User页面时,在相应字段中指定管理员用户的详细信息,然后单击Save and Finish。

2.当Jenkins 准备就绪页面出现时,单击Start using Jenkins。

笔记:

  • 这个页面可能表明Jenkins 几乎准备好了!相反,如果是这样,请单击 Restart。

  • 如果页面在一分钟后没有自动刷新,请使用 Web 浏览器手动刷新页面。

3.如果需要,使用您刚刚创建的用户的凭据登录 Jenkins,您就可以开始使用 Jenkins!