一.新节点slave搭建
以前的主节点master:Centos7 190.168.3.250
新建的slave节点环境:Centos7 190.168.3.251java
系统设置-节点管理git
设置链接root帐号
保存
节点必须提早配置好java环境
启动代理github
slave节点启动正常
注:
配置前要保证时间同步,要不时钟差别会报错显示web
slave /opt下生成工做目录apache
二.测试新节点
构建之间这个hello任务centos
选择限制项目的运行节点,选择slave浏览器
构建任务是执行 hello并发送邮箱tomcat
当即构建bash
查看日志在slave上执行了构建并发
在slave的工做目录下的workspace里已经有了构建的任务hello
三.建立流水任务Pipeline
1.建立前的准备
slave机子centos7系统 ,地址190.168.3.251
配置好java环境,maven,还有tomcat,deploy.sh脚本
配置好java和maven环境变量
export MAVEN_HOME=/opt/apache-maven-3.6.0
export JAVA_HOME=/opt/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
tomcat为以前master复制过来的,全部端口设置的仍是8090
deploy.sh脚本里复制编译好的hello.war包位置变了,须要修改,变为slave分工做目录/opt/workspace下了,剩下的与以前同样
#!/bin/bash
tomcat_home=/opt/tomcat
#1.检测 tomcat 是否存在
tomcat=ps -ef |grep /opt/tomcat | grep -v 'grep\|tail'| awk '{print $2}'
echo ${tomcat}
if test -z ${tomcat}
then
echo "tomcat 没有启动"
else
echo "关闭 tomcat"
sh ${tomcat_home}/bin/shutdown.sh
sleep 2
fi
#2.备份原先/opt下的war包
mv ${tomcat_home}/webapps/hello.war /mnt/hello.war-$(date +%Y%m%d-%H:%M:%S)
#3.将jenkins workspace中打包好的包放到/opt下的tomcat
cp -r /opt/worksqace/workspace/pipline/target/hello.war ${tomcat_home}/webapps/hello.war
#4.启动/opt下的 tomcat
sh ${tomcat_home}/bin/startup.sh
tomcat=ps -ef |grep /opt/tomcat | grep -v 'grep\|tail'| awk '{print $2}'
echo ${tomcat}
sleep 6
if test -z ${tomcat}
then
echo "tomcat 启动失败"
else
echo "部署成功"
fi
2.新建流水线任务
新建Pipeline script 脚本任务
pipeline {
agent {label 'slave'}
stages {
stage('Checkout') {
steps {
echo 'Checkout'
git credentialsId: '61406221-afad-495c-808f-d492fb45876b', url: 'https://github.com/anfishr/hello.git'
}
}
stage('Build') {
steps {
echo 'Building'
sh 'mvn clean package'
}
}
stage('deploy') {
steps {
echo 'deploy'
sh 'JENKINS_NODE_COOKIE=dontKillMe /opt/deploy.sh'
}
}
}
}
其中的git拉取代码的写法能够参照 Pipeline Syntax
选择git
加上项目地址和帐号
点击下面的生成
复制到git任务处便可,完成后保存
3.构建新建的pipeline任务
查看执行日志输出显示没有找到mvn
可是咱们刚才已经设置好java和maven的环境变量
检查节点的环境变量
只能看见java的环境变量,没有maven的环境变量
设置软链接,将mvn加入到节点的环境变量下/usr/bin,好让节点能找到mvn命令
再次执行构建,成功
浏览器查看
/mnt还有备份的代码