一,安装Jenkins
1.配置yum数据源
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
2.导入rmp秘钥
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
3.使用yum进行安装
yum install jenkins
4.配置Jenkins端口
vi /etc/sysconfig/jenkins
默认端口是:8080,避免冲突,我这里改成8090
5.配置java参数信息
JENKINS_JAVA_CMD 这儿填你java安装目录
6.修改jenkins默认用户
为了避免后续默认用户对系统文件操作权限问题,我这边改成了root,如果不改,只要对相应用户赋予相关文件操作权限亦可。
二,启动 Jenkins
service jenkins start/stop/restart
安装后,系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins和/var/cache/jenkins的所有者。
1.在浏览器打开x.x.x.x:8090 根据提示进行安装(服务器ip+jenkins端口)
2.linux系统上输入以下命令获取初次登录密码
cat /var/lib/jenkins/secrets/initialAdminPassword
3.选择“推荐的插件”选项进行安装
三,项目构建及自动化部署
1.此次主要以github+maven项目形式进行构建;首先检查系统上是否已安装好maven,git客户端,jdk等环境,其次确保Jenkins上安装了git,Publish Over SSH,maven等插件
2.构建maven项目
① 新建一个任务,选择maven项目
② 源码管理填写,git仓库地址原本是https开头,我这边把https换成git开头,原因是在项目部署中git拉取代码有时会出现网络波动等原因使得没能拉取成功,从而导致构建失败。
③ 构建触发器,如果想要每次更新代码都能触发构建,可以选中 GitHub hook trigger for GITScm polling
④ 构建环境,在Goals and options下填 clean package ,清理后打包
⑤ 构建后操作,需要注意的是 在Exec command 中 执行项目启动命令上加一行 “source /etc/profile”命令,否则在构建时会出现
“nohup: failed to run command ‘java’: No such file or directory” 等问题。
⑥ 最后 保存一下
四,问题记录
1.在构建过程中,出现了ERROR: Maven JVM terminated unexpectedly with exit code 137问题,由于我是用1核2G的云服务器,有可能是因为内存不够。
解决如下:①查看内存使用情况 free -m
[root@centos ~]# free -m
total used free shared buff/cache available
Mem: 1838 1502 69 0 265 183
Swap: 0 0 0
② 创建虚拟内存磁盘卷
# 大概count=2024288,2G左右,可以视磁盘大小和需求创建。
# 默认存放在/swap/swapadd,可以是自己的任何目录。
mkdir /swap
dd if=/dev/zero of=/swap/swapadd bs=1024 count=2024288
③ 把磁盘卷转为虚拟内存卷
mkswap /swap/swapadd
④ 启用虚拟内存服务
swapon /swap/swapadd
⑤ 再查看内存使用情况,可以看到多出来2G左右的swap空间
[root@centos]# free -m
total used free shared buff/cache available
Mem: 1838 1503 75 0 258 180
Swap: 1976 0 1976
[root@VM_0_8_centos ~]#
如果需要关闭虚拟内存服务
swapoff -v /swap/swapadd
如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可。
swapoff -v /swap/swapadd
mv /swap/swapadd /mnt/swap
swapon /swap/swapadd