Jenkins 安装配置
文章目录
介绍
Jenkins 是一款由 Java 编写的开源的持续集成工具。
更新
- 2020/10/11 增加移动 Jenkins Home 目录链接
 - 2019/02/10 初次发布
 
系列文章
- GitLab 安装配置 - 狂飙 git.company.com
 - Jira 安装配置 - 狂飙 jira.company.com
 - Jenkins 安装配置 - 狂飙 ci.company.com
 - Mattermost 安装配置 - 狂飙 mattermost.company.com
 
这一系列文章中的软件是在同一台机器上安装配置的,完整地记录了配置过程。解决了同时部署各种服务之间可能会产生的问题,最终将各种服务整合到一起。每个服务都配置使用域名访问,便于使用。
账号系统未使用 LDAP,因此 Jira 与 GitLab 账号是独立的,Jenkins 与 Mattermost 使用 GitLab 账号登录。
环境
- CentOS 7.6 1810
 - jenkins 2.150.2
 
策略
Jenkins 维护稳定版与开发版两个版本,因为是在生产环境使用,因此需要使用稳定版本。
Jenkins 官方提供稳定版本的 CentOS 源,因此可以直接使用此源进行安装与升级。
- RedHat Repository for Jenkins
 - Installing Jenkins on Red Hat distributions - Jenkins - Jenkins Wiki
 - How to install and Configure Jenkins on CentOS 7 and RHEL 7
 
安装
Java 运行时
OpenJDK Runtime Environment
 | 
 | 
Jenkins
 | 
 | 
配置
端口
由于同一台机器上安装的 GitLab 中的 unicorn 使用了 8080 端口,因此需要修改端口为其他端口。
将 JENKINS_PORT 的值修改为 5000
 | 
 | 
注意:端口不要使用浏览器禁用的不安全端口,否则无法访问,如 6000。Chrome 非安全端口限制 | javasgl
防火墙
 | 
 | 
启动
 | 
 | 
提示:使用 systemctl enable jenkins 会报以下警告:
 | 
 | 
注意:有时会出现 systemctl status jenkins 显示启动正常,tail -f /var/log/jenkins/jenkins.log 中显示没有启动的日志,可以使用 netstat -tupln | grep 5000 来确定 Jenkins 的确是启动了,如果显示没有对应端口的 java 程序,可以尝试手动 stop 后再 start,而不是使用 restart 命令重启。
停止
 | 
 | 
登录
首次登录时需要输入密码:
 | 
 | 
插件
这里随意选择安装,建议选择安装推荐插件。
账号
设置管理员账号
Blue Ocean
Jenkins 内置新版本的皮肤与功能,可以方便地支持多个管线构建。 在插件管理中直接安装即可。
GitLab 登录
注意:将以下内容提到的 http://ci.company.com:5000 替换成实际的服务器地址与端口。
GitLab
在 GitLab 中创建 Application,Scope 选择 api,URL 填写 http://ci.company.com:5000/securityRealm/finishLogin。
Jenkins
在 插件管理 中安装 Gitlab Authentication plugin,然后前往 全局安全设置 中 Security Realm 选择 Gitlab Authentication plugin,信息按如下填写:
- GitLab Web URI - http://git.company.com
 - GitLab API URI - http://git.company.com
 - Client ID - GitLab 中的 Application ID
 - Client Secret - GitLab 中的 Secret
 
域名
Nginx 安装可以参考 GitLab 安装配置 - 狂飙 中的 同服务器共享 Nginx 一节。
vi /etc/nginx/conf.d/jenkins.conf
 | 
 | 
配置完成后可以直接省略端口,直接使用 http://ci.company.com 访问。
节点
配置节点
需要开启安全选项中的 TCP port for JNLP agents 功能才可以在 Agent 启动选项中增加 JLNP Agent。
注意:TCP port for JNLP agents 端口设置为固定的端口,可以任意选择如 5001,但一定要是一个与默认服务端口不同的端口。
配置防火墙,允许上述配置的端口访问
 | 
 | 
运行时有以下提示时需要仔细检查目录路径是否正确。
 | 
 | 
配置完选项后就可以到节点管理中添加节点,Launch method 选择 通过Java Web启动代理。
运行节点
根据上面配置完成新的 Agent 之后,页面会提示运行的命令,将其放在对应平台的 JenkinsAgent.sh 或 JenkinsAgent.bat 中运行即可。
配置自动启动,Windows 可以将 JenkinsAgent.bat 的快捷方式放到开始菜单中的 启动 目录中。
升级
在升级前保证没有任务正在执行。
 | 
 | 
空间不足
文章作者 狂飙
初次发布 2019-02-10 23:50:06 +0800
上次更新 2020-10-11 21:36:44 +0800