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

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

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

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

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

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

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

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

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

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

查看日志在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任务构建(三)

转载于:https://blog.51cto.com/anfishr/2324317

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值