持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

一.新节点slave搭建
以前的主节点master:Centos7 190.168.3.250
新建的slave节点环境:Centos7 190.168.3.251java

系统设置-节点管理
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)git

持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
设置链接root帐号
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
保存
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
节点必须提早配置好java环境
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
启动代理
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)github

slave节点启动正常
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
注:
配置前要保证时间同步,要不时钟差别会报错显示web

slave /opt下生成工做目录
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)apache

二.测试新节点
构建之间这个hello任务
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)centos

选择限制项目的运行节点,选择slave
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)浏览器

构建任务是执行 hello并发送邮箱
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)tomcat

当即构建
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)bash

查看日志在slave上执行了构建
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)并发

在slave的工做目录下的workspace里已经有了构建的任务hello
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

三.建立流水任务Pipeline
1.建立前的准备
slave机子centos7系统 ,地址190.168.3.251
配置好java环境,maven,还有tomcat,deploy.sh脚本
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

配置好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
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

tomcat为以前master复制过来的,全部端口设置的仍是8090
deploy.sh脚本里复制编译好的hello.war包位置变了,须要修改,变为slave分工做目录/opt/workspace下了,剩下的与以前同样
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
#!/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.新建流水线任务
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

新建Pipeline script 脚本任务
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

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
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
选择git
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
加上项目地址和帐号
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
点击下面的生成
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
复制到git任务处便可,完成后保存
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

3.构建新建的pipeline任务
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
查看执行日志输出显示没有找到mvn
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

可是咱们刚才已经设置好java和maven的环境变量
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

检查节点的环境变量
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

只能看见java的环境变量,没有maven的环境变量
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

设置软链接,将mvn加入到节点的环境变量下/usr/bin,好让节点能找到mvn命令
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

再次执行构建,成功
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

浏览器查看
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

/mnt还有备份的代码
持续集成工具jenkins slave节点配置和Pipeline任务构建(三)

相关文章
相关标签/搜索