Jenkins+maven+gitlab+shell 实现项目自动化部署
以前部署项目步骤比较繁琐,要先拉代码再通过maven打包,再上传,然后一切顺利的情况下启动tomcat,然后结束,一切太人工化也比较浪费实现,下面是工作之余在测试环境上搭建的一套流程
搭建之前要确认,jdk , maven,git 这些已经在服务器上搭建成功,这些搭建都比较简单,这这里就不再赘述,gitlab使用的是公司服务也没有进行搭建
下面是jenkins的两种搭建方式
-
第一种比较简单下载对应jenkins.war包启动命令如下
wget http://mirrors.jenkins.io/war/latest/jenkins.war
nohup java -jar jenkins.war --httpPort=8081 &
-
2. 使用install来进行安装
(1) wget –O /etc/yum.repos.d/jenkins.repohttp://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
(2) rpm --importhttps://jenkins-ci.org/redhat/jenkins-ci.org.key
(3) yum install -y jenkins
(4) vim /etc/sysconfig/jenkins(这里可以更改jenkins的主目录,想改就改不想改就用默认)
(5) vim /etc/init.d/jenkins(这里是jenkins的启动脚本设置不进行设置的话 直接咨询下面命令即可)
cp -r/usr/data/jdk/bin/* /usr/bin (前面是自己的jdk的目录)
上面操作完成之后基本上就已经安装完成,但是会有权限问题,下面提供两种方式
1. 因为jenkins的主目录所属用户为jenkins所以操作起来很多是没有权限的chown -R jenkins:jenkins /Jenkins_hom
2.d 这种方式比较暴力直接把jenkins用户更改为root用户
1) vim/etc/sysconfig/jenkins
2) 找到$JENKINS_USER改为 “root”:
$JENKINS_USER="root"
3)然后更改Jenkinshome,webroot和日志的所有权:
chown -Rroot:root /var/lib/jenins
chown -Rroot:root /var/cache/jenkins
chown -Rroot:root /var/log/jenkins
4).重新启动Jenkins并检查用户是否已被更改
service jenkinsrestart
这样我们就给jenkins设置了root权限,我们再运行shell脚本就不会提示权限问题了。
这样就完成了整个操作,下面是页面上的操作
我们再浏览器上进行访问:
http://10.16.6.29:8888
第一次访问页面会出现如下界面:
按照上面提示获取初始化密码进入如下界面
按照上面提示获取初始化密码进入如下界面
建议先安装上面提示的建议插件这样会省去一下麻烦(以防你不知道需要安装什么还有一些乱七八糟的问题)然后进入如下界面:
耐心等待全部下载完成之后开始进行用户的创建:
创建完成之后 save andfinish 按照提示继续往下走
点击start using Jenkins进入如下界面
OK 上面完成之后我们开始进入一些插件的按照
选择系统管理进入管理插件界面
在可选插件界面选择我们要按照的插件这里我按照如下插件:
Git ,gitlab ,ssh,publish over ssh , Deploy to container, maven…按照需要安装
选择系统管理进入系统配置
点击系统配置之后进入如下:
安装上面配置自己的ssh服务就是你的服务器,点击测试成功即可
下面进行配置基本设置:
需要配置什么呢?看下面截图依次配置即可
最后应用保存即可至此全局配置以及配置完毕接下来开始新建任务:
点击新建任务:
输入名称选择maven项目,点击确定就可以了
进入项目构建配置:
1.选择源码管理选中git,
Repository URL:自己项目的git地址
Credentials:点击add
输入自己的git项目的用户名和密码点击ok即可。
2.点击构建环境
执行目标那里不需要mvn 执行写命令并跳过测试就可以了。
3.点击pre stepts 并选中执行shell
Shell 脚本如下:
BUILD_ID :这个必须要有,否则tomcat起不来,暂时不知为何
TOMCAT_DIR:tomcat主目录
cp – r$JENKINS_HOME/workspace/项目/target/编译过的内容 /项目映射路径
保存完成之后点击立即构建,看下配置效果:
到此jenkins自动化部署完成