Jenkins是一款由Java编写的开源的持续集成工具。

安装 java

由于使用 java 写成, 所以运行 jenkins 需要有java 环境, 所以我们需要在机器上安装 java(Java 版本是 1.8.0 , 也就是平常说的 java8), 通过

  1. $ java -version

可以查看 java 的版本, 例如

  1. openjdk version "1.8.0_232"
  2. OpenJDK Runtime Environment (build 1.8.0_191-b12)
  3. OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

如果 没有检测正确的输出, 需要安装 java, 在 centos 系统上安装java 需要运行

  1. $ yum install java

安装 Jenkins

我们安装稳定版本

  1. # 获取 repo
  2. $ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
  3. # 获取key, 如果你之前导入 jenkins 的key, 这一步可以忽略
  4. $ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  5. $ yum update && yum install jenkins

如果遇到官方源不能访问, 可以更换为其他频道的镜像(这个方法可能不需要了)

  1. # 更新为 清华大学的源
  2. # 这里
  3. $ sed -i 's/http:\/\/pkg.jenkins.io/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /etc/yum.repos.d/jenkins.repo
  4. # 更新为 官方源
  5. $ sed -i 's/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/http:\/\/pkg.jenkins.io/g' /etc/yum.repos.d/jenkins.repo

这里我们先保障以下目录是有权限的, 默认的用户是 jenkins, 如果运行时候没有日志生成, 首先检查下日志是否有权限生成

更换 jenkins 的运行目录端口和用户

如果需要可以更改配置文件的几个参数

  1. # Jenkins安装目录
  2. /var/lib/jenkins/
  3. # Jenkins配置文件地址, 这就是Jenkins的配置文件,可以在这里查看Jenkins默认的配置
  4. /etc/sysconfig/jenkins
  5. # Jenkins 日志文件位置
  6. /var/log/jenkins/
  7. # Jenkins 缓存位置
  8. /var/cache/jenkins

这里有三个比较重要的配置

  1. # 安装目录
  2. ## Description: Jenkins Continuous Integration Server
  3. ## Type: string
  4. ## Default: "/var/lib/jenkins"
  5. ## ServiceRestart: jenkins
  6. #
  7. # Directory where Jenkins store its configuration and working
  8. # files (checkouts, build reports, artifacts, ...).
  9. #
  10. JENKINS_HOME="/var/lib/jenkins"
  11. # 运行用户
  12. ## Default: "jenkins"
  13. ## ServiceRestart: jenkins
  14. #
  15. # Unix user account that runs the Jenkins daemon
  16. # Be careful when you change this, as you need to update
  17. # permissions of $JENKINS_HOME and /var/log/jenkins.
  18. #
  19. JENKINS_USER="jenkins"
  20. # 端口号
  21. ## Default: 8080
  22. ## ServiceRestart: jenkins
  23. #
  24. # Port Jenkins is listening on.
  25. # Set to -1 to disable
  26. #
  27. JENKINS_PORT="8080"

启动 jenkins

  1. $ systemctl start jenkins

到这一步我们已经安装并启动了jenkins, 下面看下 jenkins 的启动参数 ps -ef |grep jenkins

  1. /etc/alternatives/java
  2. -Dcom.sun.akuma.Daemon=daemonized
  3. -Djava.awt.headless=true
  4. -DJENKINS_HOME=/var/lib/jenkins
  5. -jar /usr/lib/jenkins/jenkins.war
  6. --logfile=/var/log/jenkins/jenkins.log
  7. --webroot=/var/cache/jenkins/war
  8. --daemon
  9. --httpPort=8080
  10. --debug=5
  11. --handlerCountMax=100
  12. --handlerCountMaxIdle=20

这里监听的默认端口是 8080 , 如果没有开启服务端端口防火墙的, 去进行开启, 如果开启, 可以通过 ip:8080 开进行访问.这里我们通过地址来进行访问.

配置 Nginx 反向代理

如果是线上服务器, 我们可能不方便直接开启 8080 端口这里就需要nginx 反向代理

  1. server{
  2. listen 80;
  3. server_name domain-of-jenkins.io;
  4. location / {
  5. proxy_pass http://127.0.0.1:8080;
  6. }
  7. access_log off;
  8. error_log off;
  9. }

这里我们便可以使用域名通过 80 端口访问 nginx

初始化 Jenkins

更改下载插件的源

因为默认的插件地址是 jenkins 官方, 检测的地址是 google.com, 有很大程度上在第一步就卡死了.

在 centos 上安装 Jenkins - 图1

死在这个页面, 这里我们替换下插件的地址和检测地址, 这里替换为 清华镜像, 也有可选的腾讯镜像(默认)

default.json 的位置是 /var/lib/jenkins/updates/default.json

  1. $ sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.cloud.tencent.com\/jenkins\//g' default.json
  2. $ sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

这里替换成功后需要 重启 jenkins , 否则不生效

如果还出现这样的情况则需要修改下配置文件,因为你所在网络被限制。
需要你进入jenkins的工作目录 /var/lib/jenkins/,打开 hudson.model.UpdateCenter.xml

[http://updates.jenkins-ci.org/update-center.json](http://updates.jenkins-ci.org/update-center.json)
改成
[http://mirror.xmission.com/jenkins/updates/update-center.json](http://mirror.xmission.com/jenkins/updates/update-center.json)

配置密码并进入 jenkins

这里我们打开地址 {ip:8080} 这个地址, 会出现这个页面, 如果没有访问或者出错, 请检查下 jenkins 服务是否开启,或者端口是否已经打开.

在 centos 上安装 Jenkins - 图2

我们在服务器上使用

  1. $ cat /var/lib/jenkins/secrets/initialAdminPassword
  2. 9d5174aacaec4795ae53356d1f18bcf1

来查看下密码, 然后把密码填写到 管理员密码 栏, 然后点击继续

随后服务端进入 配置界面, 耐心等候

安装插件

接下来提示安装插件

在 centos 上安装 Jenkins - 图3

这一步我们安装推荐的插件.

在 centos 上安装 Jenkins - 图4

这一步我们等待服务端自行安装, 然后进入创建管理员界面

创建管理员

在 centos 上安装 Jenkins - 图5

如果不想创建, 则使用 admin 账号继续, 否则自己创建一个, 然后点击 保存并完成

建议创建一个, 默认的管理员容易被猜到, 不安全

配置实例地址

如果没有什么需要确认的. 这个默认的地址就是你以后的访问地址了. 保存就可以, 如果有配置需要域名啥的. 根据自己需要来进行配置

在 centos 上安装 Jenkins - 图6

然后就真的完成了. 这个真是最后一步了

在 centos 上安装 Jenkins - 图7

在 centos 上安装 Jenkins - 图8