使用Jenkins实现自动化部署
2018年7月5日
系统环境为阿里云 CentOS 8.0
下载安装
1 | sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo |
Jenkins 依赖JAVA 如果没有需要安装
1 | # 检查时否安装 |
启动 Jenkins
1 | sudo service jenkins start |
Jenkins 将启动在 8080 端口
Nginx 反向代理设置
1 | server { |
重启 nginx1
service nginx restart
问题
反向代理设置有误
解决办法:
- 打开浏览器进入 Jenkins
- 系统管理 -> 系统设置 -> Jenkins URL
- 在域名后面加上 :8080
不推荐使用 JNLP3-connect 协议
1 | This Jenkins instance uses deprecated protocols: JNLP3-connect. It may impact stability of the instance. If newer protocol versions are supported by all system components (agents, CLI and other clients), it is highly recommended to disable the deprecated protocols. See Protocol Configuration. |
意思是 Jenkins 不推荐使用 JNLP3-connect 协议,会影响实例的稳定性。如果所有系统组件(代理,CLI和其他客户端)都支持较新的协议版本,则强烈建议禁用已弃用的协议。
解决办法:
系统管理 ->
全局安全配置 ->
点击代理中的代理协议 ->
取消Java Web Start Agent Protocol/1
Java Web Start Agent Protocol/2
Java Web Start Agent Protocol/3
前面的勾 ->
保存
执行 Shell 脚本权限不够的问题
有时部署时需要用到 Shell 命令,Jenkins是没有权限执行的。
解决办法:
修改Jenkins配置文件
1
2
3vim /etc/sysconfig/jenkins
# 修改 $JENKINS_USER 为 root
$JENKINS_USER="root"设置相关权限
1
2
3chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins重启服务并检查权限
1
2
3
4
5# 重启 jenkins 服务
service jenkins restart
# 检查权限
ps -ef | grep jenkins