Jenkins实战需要服务器安装以下软件
- Jenkins
参考 https://blog.csdn.net/m0_50217781/article/details/112417128 - git
参考 https://blog.csdn.net/m0_50217781/article/details/112398132 - maven
参考 https://blog.csdn.net/m0_50217781/article/details/112400740 - tomcat
参考 https://blog.csdn.net/fukai8350/article/details/80467224
开始实战
首先在我们的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
指定端口启动Jenkins,不要用8080,不然会和tomcat冲突
java -jar /usr/lib/jenkins/jenkins.war --httpPort=808
启动完成后浏览器打开Jenkins
http://192.168.244.35: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 "重新部署完成!!"
具体相关参数请根据自己的配置修改
配置完成之后就可以开始构建了
等待构建完成就可以啦
也可以查看部署情况