Jenkins Pipeline 常用操作

手动拉取 Git/Svn 仓库源码

说明:使用 Pipeline 自带的 git,svn 以及 checkscm 命令会将源码仓库加入监控,当不想使用这个特性时,需要手动进行源码拉取

//git sample
withCredentials([usernamePassword(credentialsId: '37813d64-15e9-4a3c-9646-a5bfe2bd44fd', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) {
	sh 'git clone http://${GIT_USERNAME}:${GIT_PASSWORD}@${your_git_project_location}'
}

//svn sample
withCredentials([usernamePassword(credentialsId: '87cd2e0d-2e81-4735-b881-b49b4302bc99', passwordVariable: 'SVN_PASSWORD', usernameVariable: 'SVN_USERNAME')]) {
	sh 'svn co ${your_svn_project_location} . --username ${SVN_USERNAME} --password ${SVN_PASSWORD}'
}

提交更改至 Git/Svn 仓库

说明:发布至源码仓库时常用的功能

//git sample
sh '''
	git add --all
	git commit -am "$commit"
	git push origin master
	git tag -a "$tagname" -m "$commit"
	git push origin $tagname
'''

//svn sample
sh '''
	svn st | awk '{if ( $1 == "?") { print $2}}' | xargs -r svn add
	svn st | awk '{if ( $1 == "!") { print $2}}' | xargs -r svn rm
	svn commit -m "$commit"
	svn cp . ${your_svn_project_location}/tags/${tagname}  -m "$commit"
'''

写邮件

说明:略

mail (
	to: '[email protected],[email protected]',
	cc: '[email protected]',
	charset: 'UTF-8',
	mimeType: ' text/plain', 
	subject: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - SUCCESS!", 
	body: """
${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - SUCCESS:
Check console output at ${env.BUILD_URL} to view the results.
	"""
)

你可能感兴趣的:(持续集成,Jenkins,Pipeline)