怎样在 CentOS 7 上安装 Jenkins

Jenkins 是一种流行的开源 CI(持续集成)工具,广泛用于项目开发、部署和自动化。

本文将指导您完成在 Vultr CentOS 7 服务器实例上安装 Jenkins 的过程。 为了方便访问者的访问,还将安装Nginx作为Jenkins的反向代理。

先决条件

在继续之前,您必须:

  • 从头开始部署 Vultr CentOS 7 服务器实例。
  • 以非 root 用户身份登录您的机器 sudo 特权。

第 1 步:更新您的 CentOS 7 系统

Linux 系统管理员的最佳实践之一是使系统保持最新。 安装最新的稳定包,然后重新启动。

sudo yum install epel-release
sudo yum update
sudo reboot

重启完成后,使用相同的登录 sudo 用户。

第 2 步:安装 Java

在安装 Jenkins 之前,您需要在您的系统上设置一个 Java 虚拟机。 在这里,让我们使用 YUM 安装最新的 OpenJDK Runtime Environment 1.8.0:

sudo yum install java-1.8.0-openjdk.x86_64

安装完成后,您可以通过运行以下命令进行确认:

java -version

此命令将告诉您已安装的 Java 运行时环境:

openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

为了帮助基于Java的应用程序正确定位Java虚拟机,需要设置两个环境变量:“JAVA_HOME”和“JRE_HOME”。

sudo cp /etc/profile /etc/profile_backup
echo 'export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk' | sudo tee -a /etc/profile
echo 'export JRE_HOME=/usr/lib/jvm/jre' | sudo tee -a /etc/profile
source /etc/profile

最后,您可以打印它们以供审核:

echo $JAVA_HOME
echo $JRE_HOME

第 3 步:安装 Jenkins

使用官方的 YUM repo 安装最新的稳定版 Jenkins,即 1.651.2 在撰写本文时:

cd ~ 
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
yum install jenkins

启动 Jenkins 服务并将其设置为在启动时运行:

sudo systemctl start jenkins.service
sudo systemctl enable jenkins.service

为了允许访问者访问 Jenkins,您需要允许端口 8080 上的入站流量:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

现在,通过从 Web 浏览器访问以下地址来测试 Jenkins:

https://<your-Vultr-server-IP>:8080

第 4 步:安装 Nginx(可选)

为了方便访问者访问Jenkins,您可以为Jenkins设置一个Nginx反向代理,这样访问者在访问您的Jenkins应用时就不再需要输入端口号8080了。

使用 YUM 安装 Nginx:

sudo yum install nginx

修改Nginx的配置:

sudo vi /etc/nginx/nginx.conf

找到以下两行:

location / {
}

将下面的六行插入 {} 段:

proxy_pass https://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
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;

最终结果应该是:

location / {
    proxy_pass https://127.0.0.1:8080;
    proxy_redirect off;
    proxy_set_header Host $host;
    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;
}

Save 并退出:

:wq

启动并启用 Nginx 服务:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

允许端口 80 上的流量:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

最后,从您的网络浏览器访问以下地址以确认您的安装:

https://<your-Vultr-server-IP>

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com