jenkins(二)Pipeline语法速成
jenkins(二)
Pipeline语法速成
标签:
目录
背景描述:
为了交付文档,先写个速成的版本,目的是供其他同事基于此模板快速配置使用,后续要继续深入研究。
查资料的时候看到了这个文章:
深知自己在这方面还是个弟弟,还是要继续深入学习。
1.语法模板
配置:
pipeline { agent any stages { stage(‘pullcode‘){ steps{ checkout([$class: ‘SubversionSCM‘, additionalCredentials: [], excludedCommitMessages: ‘‘, excludedRegions: ‘‘ , excludedRevprop: ‘‘, excludedUsers: ‘‘, filterChangelog: false, ignoreDirPropChanges: false, includedRegions: ‘‘ , locations: [[cancelProcessOnExternalsFail: true, credentialsId: ‘d4dc650e-a10e-487a-bad9-d6dbf7ee4f45‘, depthOption: ‘infinity‘ , ignoreExternalsOption: true, local: ‘.‘, remote: ‘http://39.98.82.231:86/svn/gkg/ws/ws/trunk‘]], quietOperation: true , workspaceUpdater: [$class: ‘UpdateUpdater‘]]) } } stage(‘Build‘) { steps { sh ‘‘‘ echo "开始编译打包过程" mvn clean && mvn package -DskipTests=true echo "编译打包过程结束" ‘‘‘ } } stage(‘Test‘){ steps { sh ‘echo "Test stage"‘ } } stage(‘Deploy‘) { steps { withEnv([‘JENKINS_NODE_COOKIE=dontkillme‘]) { sh ‘‘‘ echo "关闭服务" ssh "cmd /c net stop jenkins_test" echo "删除原始文件" ssh "cmd /c rd/s/q D:/root/apache-tomcat-8.5.24/webapps" echo "开始使用scp传输文件" scp "${WORKSPACE}/target/ws.war" :/ echo "开始调用远程tomcat进行重启" ssh "cmd /c net start jenkins_test" ‘‘‘ } } } } }
1.1概述
这段脚本定义了四个步骤:pullcode
、Build
、Test
、Deploy
即获取代码、编译、测试、发布。
1.2pullcode
获取代码
参考
《jenkins使用文档》2.5生成获取代码语句
将生成的代码直接复制到:
stage(‘pullcode‘){ steps{ //复制到此处 } }
1.3Build
编译代码
sh 声明使用shell命令 使用shell执行后面的命令
Pipeline使用groovy的语法,三个```包裹的内容是一个字符串,并可以在其中引用变量
echo shell输出命令
mvn clean && mvn package -DskipTests=true mvn命令,打包并跳过测试,可根据自己的需求指定参数
1.4Test
目前没有测试环节,暂时跳过
1.5Devlop
withEnv([‘JENKINS_NODE_COOKIE=dontkillme‘]) {} 用于声明该模块下的语句进程终止后,不关闭子进程
之前已经配置好了jenkins与部署服务器之间的通信,可以直接使用ssh操作远程服务器:
ssh "cmd /c net stop jenkins_test" 在192.168.124.9服务器上执行“net stop jenkins_test”命令,关闭jenkins_test服务(注册的tomcat服务)
ssh "cmd /c rd/s/q D:/root/apache-tomcat-8.5.24/webapps" 在192.168.124.9服务器上执行“rd/s/q D:/root/apache-tomcat-8.5.24/webapps”命令,删除rd/s/q D:/root/apache-tomcat-8.5.24/webapps路径下所有文件及文件夹
scp "${WORKSPACE}/target/ws.war" :/ 使用scp传输文件 WORKSPACE为环境变量,是该项目的路径 scp后面跟的是需要传输的文件,需要根据各位编译打包生成的文件名修改该参数,也可以使用合适的环境变量使用动态的语句。 scp后面第二个参数跟传输目标:root是登录远程服务的身份;@号跟ip地址;:后跟路径。该路径根据目标服务器而定,如果根据《jenkins使用文档》1.1windows 配置ssh服务,则/对应的是freeSSHd配置的SFTP home path。其他路径依此路径改写。
ssh "cmd /c net start jenkins_test" 在192.168.124.9服务器上执行“net start jenkins_test”命令,开启jenkins_test服务(注册的tomcat服务)
相关推荐
达观数据 2020-11-11
汪康 2020-10-30
ppppfly 2020-10-24
synshitou 2020-10-21
programmeryu 2020-09-24
Topbeyond 2020-08-21
lrcoop 2020-08-18
young依然 2020-08-17
oden 2020-08-16
lrcoop 2020-08-15
yserver 2020-08-15
王永迪 2020-08-15
pursuemylife 2020-08-14
pandaphinex 2020-08-09
leonranri 2020-07-26
CloasGao 2020-07-21
zccheu 2020-07-18