1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| stage('服务重启') { when { environment name: 'Action', value: '重启服务' } steps { script { for (ENV in ENVS.tokenize(',')) { for (ProjectName in ProjectNames.tokenize(',')) { if ( ProjectName == "credit-support" ) { SubProjectNames = "credit-cache-manage,credit-rule-manage,credit-workflow,credit-uaa,credit-task" } if ( ProjectName == "credit-business" ) { SubProjectNames = "business-account,business-manage,business-credit,business-loan,business-collateral,business-risk,business-afterloan,business-warning,business-query,business-foreign,business-store" } if ( ProjectName == "credit-interface-converter" ) { SubProjectNames = "credit-interface-converter" } if ( ProjectName == "credit-gateway" ) { SubProjectNames = "credit-gateway" } if ( ProjectName == "credit-druid-admin" ) { SubProjectNames = "credit-druid-admin" } SubProjectNames.split(',').each { SubProjectName -> if ( SubProjectName == "credit-gateway" ) { DeployNodes = "dics-app1,dics-app2" } if ( SubProjectName == "credit-cache-manage" ) { DeployNodes = "dics-app1,dics-app2" }
def tasks_node = [:] DeployNodes.split(',').each { DeployNode -> tasks_node[DeployNode] = { def remote_path = '/data/docker-compose' def remote_cmd = "cd ${remote_path}/${SubProjectName}; source compose.profile && docker-compose restart" sshPublisher( publishers: [ sshPublisherDesc( configName: "$ENV-${DeployNode}", transfers: [sshTransfer( cleanRemote: false, excludes: '', execCommand: "${remote_cmd}", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: "", remoteDirectorySDF: false, removePrefix: "", sourceFiles: "" ) ], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false ) ] ) } } parallel tasks_node } } } } } }
|