Jenkins是一款由Java编写的开源的持续集成工具。
安装 java
由于使用 java 写成, 所以运行 jenkins 需要有java 环境, 所以我们需要在机器上安装 java(Java 版本是 1.8.0 , 也就是平常说的 java8), 通过
$ java -version
可以查看 java 的版本, 例如
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
如果 没有检测正确的输出, 需要安装 java, 在 centos 系统上安装java 需要运行
$ yum install java
安装 Jenkins
我们安装稳定版本
# 获取 repo
$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 获取key, 如果你之前导入 jenkins 的key, 这一步可以忽略
$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
$ yum update && yum install jenkins
如果遇到官方源不能访问, 可以更换为其他频道的镜像(这个方法可能不需要了)
# 更新为 清华大学的源
# 这里
$ sed -i 's/http:\/\/pkg.jenkins.io/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /etc/yum.repos.d/jenkins.repo
# 更新为 官方源
$ sed -i 's/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/http:\/\/pkg.jenkins.io/g' /etc/yum.repos.d/jenkins.repo
这里我们先保障以下目录是有权限的, 默认的用户是 jenkins, 如果运行时候没有日志生成, 首先检查下日志是否有权限生成
更换 jenkins 的运行目录端口和用户
如果需要可以更改配置文件的几个参数
# Jenkins安装目录
/var/lib/jenkins/
# Jenkins配置文件地址, 这就是Jenkins的配置文件,可以在这里查看Jenkins默认的配置
/etc/sysconfig/jenkins
# Jenkins 日志文件位置
/var/log/jenkins/
# Jenkins 缓存位置
/var/cache/jenkins
这里有三个比较重要的配置
# 安装目录
## Description: Jenkins Continuous Integration Server
## Type: string
## Default: "/var/lib/jenkins"
## ServiceRestart: jenkins
#
# Directory where Jenkins store its configuration and working
# files (checkouts, build reports, artifacts, ...).
#
JENKINS_HOME="/var/lib/jenkins"
# 运行用户
## Default: "jenkins"
## ServiceRestart: jenkins
#
# Unix user account that runs the Jenkins daemon
# Be careful when you change this, as you need to update
# permissions of $JENKINS_HOME and /var/log/jenkins.
#
JENKINS_USER="jenkins"
# 端口号
## Default: 8080
## ServiceRestart: jenkins
#
# Port Jenkins is listening on.
# Set to -1 to disable
#
JENKINS_PORT="8080"
启动 jenkins
$ systemctl start jenkins
到这一步我们已经安装并启动了jenkins, 下面看下 jenkins 的启动参数 ps -ef |grep jenkins
/etc/alternatives/java
-Dcom.sun.akuma.Daemon=daemonized
-Djava.awt.headless=true
-DJENKINS_HOME=/var/lib/jenkins
-jar /usr/lib/jenkins/jenkins.war
--logfile=/var/log/jenkins/jenkins.log
--webroot=/var/cache/jenkins/war
--daemon
--httpPort=8080
--debug=5
--handlerCountMax=100
--handlerCountMaxIdle=20
这里监听的默认端口是 8080 , 如果没有开启服务端端口防火墙的, 去进行开启, 如果开启, 可以通过 ip:8080 开进行访问.这里我们通过地址来进行访问.
配置 Nginx 反向代理
如果是线上服务器, 我们可能不方便直接开启 8080 端口这里就需要nginx 反向代理
server{
listen 80;
server_name domain-of-jenkins.io;
location / {
proxy_pass http://127.0.0.1:8080;
}
access_log off;
error_log off;
}
初始化 Jenkins
更改下载插件的源
因为默认的插件地址是 jenkins 官方, 检测的地址是 google.com, 有很大程度上在第一步就卡死了.
死在这个页面, 这里我们替换下插件的地址和检测地址, 这里替换为 清华镜像, 也有可选的腾讯镜像(默认)
default.json
的位置是 /var/lib/jenkins/updates/default.json
$ sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.cloud.tencent.com\/jenkins\//g' default.json
$ 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 服务是否开启,或者端口是否已经打开.
我们在服务器上使用
$ cat /var/lib/jenkins/secrets/initialAdminPassword
9d5174aacaec4795ae53356d1f18bcf1
来查看下密码, 然后把密码填写到 管理员密码
栏, 然后点击继续
安装插件
接下来提示安装插件
这一步我们安装推荐的插件.
这一步我们等待服务端自行安装, 然后进入创建管理员界面
创建管理员
如果不想创建, 则使用 admin 账号继续, 否则自己创建一个, 然后点击 保存并完成
建议创建一个, 默认的管理员容易被猜到, 不安全
配置实例地址
如果没有什么需要确认的. 这个默认的地址就是你以后的访问地址了. 保存就可以, 如果有配置需要域名啥的. 根据自己需要来进行配置
然后就真的完成了. 这个真是最后一步了