本实例通过jenkins自动化脚本,使用本地git库,自动上传测试服务器,线上服务器,包括文件过滤功能,版本回滚功能。使用实环境:git版本库在本地局域网,不在线上,又想通本地代码库自动上拉,回滚功能,自带文件过滤功能,可以避免一些不一样的配置文件,被覆盖。
环境:一个台本地机(jenkins主机,gitblit服务),一台测试服务器,一台线上服务器,都要求安装zip,jdk.
1.本地机安装好, 配置好git 免密码模式。请参照 https://blog.csdn.net/song3304/article/details/102754832
2.本地机安装好jenkis,配置好 测试服务器node,线上服务器node 请参照https://blog.csdn.net/song3304/article/details/102754940
3.所有主机ssh免登录设置用于SCP免用户密码输入,请参照 https://blog.csdn.net/song3304/article/details/102755182
开始 新建一个任务
点击流水流,只用填写流水线代码
pipeline script脚本
pipeline {
agent none
stages {
stage('git_pull') {
agent {
label 'local_53'}
steps {
sh '/var/lib/jenkins/git_path/.jenkinfile/energy_platform/git_pull.sh'
}
}
stage('choose_pack_move') {
agent {
label 'local_53'}
input {
message "请填写更新到最新哪个版本"
ok "确定"
parameters {
string(defaultValue: 'lastest', description: '默认版本更新到最新', name: 'choose_version')
}
}
steps {
echo "你选择的版本, ${choose_version}"
echo "开始打包,打包一个升级包,一个回滚包,当scp成功时,同时更新最新包版本号,"
sh "/var/lib/jenkins/git_path/.jenkinfile/energy_platform/pack_test.sh ${choose_version}"
echo "开始scp文件到测试服务器"
sh "/var/lib/jenkins/git_path/.jenkinfile/energy_platform/move_test.sh"
}
}
stage('update') {
agent {
label 'xwhl_log'}
steps {