qiuxuhui

导航

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 "重新部署完成!!"

  

具体相关参数请根据自己的配置修改

配置完成之后就可以开始构建了

 

等待构建完成就可以啦

也可以查看部署情况

posted on 2021-01-10 21:42  qiuxuhui  阅读(232)  评论(0编辑  收藏  举报