创建一个流水线项目,在最下面文本框输入脚本
其中第一步是拉取git代码,选择git插件并填写对应的git地址和凭证,点击生产流水线脚本
stage("拉取代码") {
steps {
##下面替换为生成的git流水线脚本
git credentialsId: 'xxxxxxxxxxxxxxxxxxxxxxxx'
}
}
选择sshpulish send over ssh,选择全局配置的服务器名称,输入项目名,路径,sh脚本,点击生产流水线脚本并复制到step中
stage("部署项目") {
steps {
##替换对应的流水线脚本即可
sshPublisher(publishers: [sshPublisherDesc(configName: 'aliyun-prod', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: ' /opt/tomcat-dynamic/bin/restart.sh', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/webapps/dynamic', remoteDirectorySDF: false, removePrefix: 'target/', sourceFiles: 'target/scpserver.war')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
完整脚本如下
pipeline {
agent any
tools{
maven 'maven'
}
stages {
stage("拉取代码") {
steps {
git credentialsId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
}
stage("构建代码") {
steps {
sh "mvn --version"
sh "mvn clean package"
}
}
stage("部署项目") {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: 'aliyun-prod', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: ' /opt/tomcat-dynamic/bin/restart.sh', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/webapps/dynamic', remoteDirectorySDF: false, removePrefix: 'target/', sourceFiles: 'target/scpserver.war')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
}