Jenkins基于gitee的项目的持续部署linux实战
Jenkins基于gitee的项目的持续部署实战
Jenkins实战需要服务器安装以下软件
- Jenkins
- git
- maven
- tomcat
开始实战
首先在我们的linux的maven配置文件中加入
<!-- 阿里云仓库--> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>https://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
先查看mvn的安装路径,再编辑其conf目录下的setting.xml文件
接着修改我们默认的文件地址
/home/deploy/repository/
OK前期部署完成,我们开始配置Jenkins
java -jar /usr/lib/jenkins/jenkins.war --httpPort=8088
启动完成后浏览器打开Jenkins
http://ipaddress:port
看到这个熟悉的老头,输入账号密码登录
然后点击新建Item
输入任务名称,选择自由项目
然后定义的两个String型的变量,一个是文件名,一个是url
注意,这里的url就是我们jitee里面的项目url
在这里获取
完事之后就可以开始写执行脚本了
注意 Jenkins会在构建完成后使用processTreeKiller杀掉了所有子进程,而且这是Jenkins的默认行为。
#!/bin/bash #解决jenkins杀死衍生进程 export BUILD_ID=dontkillme echo "=======进入的git仓库目录=======" mkdir -p /developer/git-rep/deploy/ cd /developer/git-rep/deploy/ #echo "=======删除之前克隆的目录======" rm -rf /developer/git-rep/deploy/$git_dir #echo "=======git克隆项目=======" git clone $git_url cd /developer/git-rep/deploy/$git_dir echo "=========更新git仓库最新代码到本地=========" git fetch echo "========git pull=========" git pull echo "=========maven打包项目=========" mvn clean package -Dmaven.test.skip=true echo "=========删除tomcat中旧的ROOT.war=========" rm -rf /apps/tomcat/webapps/ROOT.war echo "=========拷贝最新的war到tomcat中=========" cp /developer/git-rep/deploy/$git_dir/target/nd.com.war /apps/tomcat/webapps/ROOT.war echo "=========删除旧的ROOT文件夹=========" rm -rf /apps/tomcat/webapps/ROOT echo "=========关闭tomcat=========" sh /apps/tomcat/bin/shutdown.sh echo "=========休眠10秒=========" for i in {1..10} do echo ${i}"s" sleep 1s done echo "=========启动tomcat=========" sh /apps/tomcat/bin/startup.sh -Dspring.profiles.active=$profile echo "重新部署完成!!"
具体相关参数请根据自己的配置修改
配置完成之后就可以开始构建了
等待构建完成就可以啦
也可以查看部署情况