在jenkins中选择构建流水线输入对应的名称,
在最下方输入框中输入脚本
其中拉取代码中的git通过使用流水线语法,填写对应的git地址,凭证后,点击生产流水线脚本,
将生产的脚步复制到拉取代码下的steps中即可
stage("拉取代码") {
steps {
git credentialsId: '项目自动生成的验证字符串', url: 'https://项目git地址.git'
}
}
项目部署中需要推送到远程服务器,需要提前安装sshPulish插件
如上图选择sshPulish,选择远程服务器,输入文件名,地址,执行的脚步,然后生产流水线脚本。复制到 项目部署下的,如红色部分
stage('部署项目') {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: 'aliyun-prod', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'tar zxvf /opt/webapps/static/scp-v2-frontend/scp-v2-frontend.tar.gz --strip-components 1 -C /opt/webapps/static/scp-v2-frontend/', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/webapps/static/scp-v2-frontend', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'scp-v2-frontend.tar.gz')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
完整脚本如下
pipeline {
agent any
stages {
stage("拉取代码") {
steps {
git credentialsId: '项目自动生成的验证字符串', url: 'https://项目git地址.git'
}
}
stage("构建代码") {
steps {
nodejs('node') {
sh ' npm install '
sh ' npm run build '
}
}
}
stage ("打包") {
steps {
##压缩前端包
sh "tar -zcvf scp-v2-frontend.tar.gz dist/*"
}
}
stage('部署项目') {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: 'aliyun-prod', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'tar zxvf /opt/webapps/static/scp-v2-frontend/scp-v2-frontend.tar.gz --strip-components 1 -C /opt/webapps/static/scp-v2-frontend/', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/webapps/static/scp-v2-frontend', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'scp-v2-frontend.tar.gz')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
}