一: 效果展示
二: jenkins配置细节
三: 流水线细节
pipeline { agent any parameters { extendedChoice(name: 'services', type: 'PT_CHECKBOX', value: 'x-web,x-task,x-admin', defaultValue: 'x-web,x-task,x-admin', description: 'Select stages to run') } stages { stage('Prepare') { steps { script { // 将选择的参数转换为Groovy可用的列表 env.services = params.services.join(',') } } } stage('更新_kaihei_web') { when { expression { return params.services.contains('xa-web') } } steps { sh ''' jump_server_ip=1.1.1.1 web_do_scrip="ssh root@1.1.1.1 '/bin/bash -x /opt/script/yunwei/up-project/up.sh' " ssh -o StrictHostKeyChecking=no -p 22 root@$jump_server_ip "${web_do_scrip}" ''' } } stage('更新_kaihei_task') { when { expression { return params.services.contains('x-task') } } steps { sh ''' ''' } } stage('更新_kaihei_admin') { when { expression { return params.services.contains('x-admin') } } steps { sh ''' ... ''' } } } }
四:注意事项
3.1 jks的执行shell里对应的的脚本需根据实际情况进行编写,不再详细列出。
3.2 提前做好jks和远程跳板服务器的ssh认证,以便jks登录服务时执行命令,并把对应的变量传送过去。
3.3 提前做好跳板服务器和业务服务器的认证,以便跳板服务器ssh到业务服务器执行脚本及变量传送。