linux环境下 jenkins自动化部署
1.linux环境安装tomcat,jdk,并配置环境变量
2.安装两个tomcat(一个跑jenkins的war包,一个跑你要部署的项目,我这里只跑一个,如果跑多个项目,就得安装多个tomcat,并配置端口号,避免冲突)
3.将代码从gitlab仓库中拉取到服务器,(服务器安装git,yum install git和maven,并配置maven的仓库)
4.拉取的代码跑通,包括要打的war包下依赖的jar包,依次install,直到要部署的war包能够编译成功
5.编译成功后,编写jenkins的流水线脚本
“`
node {
stage(‘build jar’) {
sh ”’
a=(exchange-cache xhv2-exchange-common xhv2-exchange-dao xhv2-stats-dao xhv2-operate-service)
for i in
i———————”
cd /root/qinrenbiao/$i
git pull
/root/qinrenbiao/tools/apache-maven-3.3.9/bin/mvn clean install -Dmaven.test.skip=true
done
'''
}
stage('exchange-config') {
sh '''
a=exchange-config
echo "---------------------------------开始构建$a--------------------------------------"
cd /root/qinrenbiao/$a
if [ `git branch|grep "* stg-$a"|wc -l` -ne 1 ]
then
git checkout stg-$a
fi
git pull
echo -----------
/root/qinrenbiao/tools/apache-maven-3.3.9/bin/mvn clean install -Pexchange-api-test -Dmaven.test.skip=true
'''
}
stage('build operate-web') {
sh '''
a=operate-web
echo "---------------------------------开始构建$a--------------------------------------"
cd /root/qinrenbiao/xhv2-$a
if [ `git branch|grep "* stg-$a"|wc -l` -ne 1 ]
then
git checkout stg-$a
fi
git pull
echo -----------
/root/qinrenbiao/tools/apache-maven-3.3.9/bin/mvn clean package -Dmaven.test.skip=true
'''
}
stage('deploy operate-web') {
sh '''
ip=127.0.0.1
glnr="'/root/tomcat/apache-tomcat-8081/webapps'"
webapps="/root/tomcat/apache-tomcat-8081/webapps"
bin="/root/tomcat/apache-tomcat-8081/bin/startup.sh"
war_path="/root/qinrenbiao/xhv2-operate-web/target/operate-web.war"
echo "---------------------------------开始发布$a--------------------------------------"
[ `ssh root@$ip "ps -ef|grep $glnr|grep -v 'grep'|wc -l"` -gt 0 ] && \
ssh root@$ip "ps -ef|grep $glnr|grep -v grep"|awk '{print $2}'|xargs ssh root@$ip "kill -9" || \
echo "tomcat not start!!!!!!!"
scp $war_path root@$ip:$webapps
ssh root@$ip "
source /etc/profile
$bin "
'''
}
}
“`根据需要进行修改
6.构建项目,可以通过观看控制台来判断问题所在和是否构建成功