Rocky Linux 8 安装 Jenkins

Jenkins 是一个开源的、广泛使用的自动化软件工具。 它在软件开发生命周期中用于自动构建、测试和部署代码。 Jenkins 是用 Java 编写的,允许我们自动执行一系列任务以完成持续集成过程。 它提供了一个简单且用户友好的 Web 界面,允许我们通过基于 Web 的仪表板管理复杂的任务。

在这篇文章中,我们将向我们展示 Rocky Linux 8 上安装 Jenkins。

先决条件

  • 在 云平台上运行 Rocky Linux 8 的服务器
  • 在我们的服务器上配置了 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Rocky Linux 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

dnf update -y

第 2 步 – 安装 Java

Jenkins 是基于 Java 的工具,因此必须在我们的服务器上安装 Java。 如果未安装,我们可以使用以下命令安装它:

dnf install java-11-openjdk -y

安装 Java 后,使用以下命令验证 Java 版本:

java --version

样本输出:

openjdk 11.0.12 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

第 3 步 – 添加 Jenkins 存储库

默认情况下,Jenkins 不包含在 RockyLinux 8 默认存储库中,因此我们需要为我们的系统创建一个 Jenkins 存储库。 我们可以使用以下命令创建它:

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

接下来,使用以下命令下载并导入 Jenkins GPG 密钥:

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

接下来,使用以下命令验证 Jenkins 存储库:

dnf repolist

样本输出:

repo id                                                         repo name
appstream                                                       Rocky Linux 8 - AppStream
baseos                                                          Rocky Linux 8 - BaseOS
extras                                                          Rocky Linux 8 - Extras
jenkins                                                         Jenkins-stable

第 4 步 – 安装 Jenkins

现在,我们可以使用以下命令安装 Jenkins:

dnf install jenkins --nobest

安装 Jenkins 后,启动 Jenkins 并使其在系统重启时启动:

systemctl start jenkins
systemctl enable jenkins

我们现在可以使用以下命令检查 Jenkins 的状态:

systemctl status jenkins

样本输出:

● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
   Active: active (running) since Wed 2021-09-22 07:11:09 UTC; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 5106 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
    Tasks: 13 (limit: 11411)
   Memory: 129.1M
   CGroup: /system.slice/jenkins.service
           └─5129 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/>

Sep 22 07:11:07 RockyLinux8 systemd[1]: Starting LSB: Jenkins Automation Server...
Sep 22 07:11:08 RockyLinux8 runuser[5113]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Sep 22 07:11:09 RockyLinux8 runuser[5113]: pam_unix(runuser:session): session closed for user jenkins
Sep 22 07:11:09 RockyLinux8 jenkins[5106]: Starting Jenkins [  OK  ]
Sep 22 07:11:09 RockyLinux8 systemd[1]: Started LSB: Jenkins Automation Server.

默认情况下,Jenkins 侦听端口 8080。我们可以使用以下命令进行验证:

ss -antpl | grep 8080

样本输出:

LISTEN 0      50                 *:8080            *:*    users:(("java",pid=5129,fd=135))

第 5 步 – 将 Nginx 配置为 Jenkins 的反向代理

建议安装和配置 Nginx 作为 Jenkins 的反向代理。 首先,使用以下命令安装 Nginx Web 服务器:

dnf install nginx -y

安装 Nginx 后,为 Jenkins 创建一个 Nginx 配置文件:

nano /etc/nginx/conf.d/jenkins.conf

添加以下行:

upstream jenkins {
  server 127.0.0.1:8080 fail_timeout=0;
}

server {
  listen 80;
  server_name jenkins.example.com;

  location / {
    proxy_set_header        Host $host:$server_port;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://jenkins;
    # Required for new HTTP-based CLI
    proxy_http_version 1.1;
    proxy_request_buffering off;
    proxy_buffering off; # Required for HTTP-based CLI to work over SSL
  }
}

完成后保存并关闭文件。

接下来,验证 Nginx 是否有任何语法错误:

nginx -t

样本输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

请注意,如果我们收到此警告消息:

nginx: [emerg] could not build server_names_hash, we should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed

我们必须编辑 /etc/nginx.nginx.conf 文件并将此行添加到服务器块之前:

server_names_hash_bucket_size 64;

最后,启动 Nginx 服务并使其在系统重启时启动:

systemctl start nginx
systemctl enable nginx

第 6 步 – 访问 Jenkins 仪表板

现在,我们可以从 Web 浏览器使用 URL http://jenkins.example.com 访问 Jenkins Web 界面。 我们应该看到以下屏幕:
詹金斯初始密码

现在,打开我们的终端并使用以下命令检索 Jenkins 设置密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

样本输出:

24934e3f8d7e453a92f99c3439f21f8a

现在,粘贴上面的密码,然后单击继续按钮。 我们应该看到以下屏幕:
詹金斯安装插件

现在,选择“使用建议的插件安装”或“选择要安装的插件”。 我们应该看到以下屏幕:
詹金斯创建管理员用户

现在,提供我们的管理员用户信息,然后单击“保存并继续”按钮。 我们应该看到以下屏幕:
Jenkins 提供网站 URL

现在,提供我们的 Jenkins URL 并单击 Save and Finish 按钮。 我们应该看到以下屏幕:
詹金斯安装

单击开始使用 Jenkins。 我们应该在以下屏幕上看到 Jenkins 仪表板:
詹金斯仪表板

恭喜! 你已经成功地在 RockyLinux 8 上安装了 Jenkins 和 Nginx 作为反向代理。你现在可以在你的开发环境中实现 Jenkins 并自动化开发过程。 立即在来自 的专用服务器上开始使用 Jenkins!

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论