因为工作的原因,需要给外包同学部署一个 jenkins 来帮助他们部署一些东西。

# docker 方式

一开始使用 docker 方式部署 jenkins,简单快速又方便。很快就部署好了。
但是 docker 是一个容器,而要进行 CI、CD 的项目是在宿主机上,查了下,在 jenkins 上安装了一个 pushover ssh 插件,等于是用 ssh 登录的方式来执行宿主机上面的脚本。
然而,这种是获取不到脚本的输出的,也无法真正判断脚本是否执行成功(可能也有办法判断,我没有深入研究)。
再加上服务器宕机了一次,脚本怎么也跑不起来了。于是还是决定直接装一个非 docker 的 jenkins 服务。

# 非 docker 方式

按照官网说明,很快就装好了。
启动后遇到两个问题。

# 修改默认端口

一般是修改 /etc/sysconfig/jenkins 里面的 JENKINS_PORT 来修改,但是一直不生效。原来新版的 jenkins 必须修改这里:

vim /usr/lib/systemd/system/jenkins.service
找到Environment="JENKINS_PORT=8080",把端口修改掉就行了

# 修改启动用户

默认的启动用户是 jenkins/jenkins。 但是很多脚本是在其他用户目录下,jenkins 用户是没有权限的。
我就把他修改为 dev 用户。
一开始也是修改 /etc/sysconfig/jenkins 里面的 JENKINS_USER ,还是不生效,后来还是修改这里

vim /usr/lib/systemd/system/jenkins.service
文件最开头的user、group修改成你需要的用户和用户组就行了

修改过后,记得重载配置文件

systemctl daemon-reload

然后重启服务就行了

service jenkins restart