2024-01-31 13:40:59 +08:00
|
|
|
pipeline {
|
2024-01-31 15:02:47 +08:00
|
|
|
environment {
|
2024-01-31 13:40:59 +08:00
|
|
|
QODANA_TOKEN=credentials('qodana-token')
|
2024-01-31 18:59:51 +08:00
|
|
|
SSH_KEY=credentials('ssh-key')
|
2024-01-31 15:02:47 +08:00
|
|
|
}
|
2024-01-31 16:26:58 +08:00
|
|
|
agent any
|
2024-01-31 16:25:45 +08:00
|
|
|
|
2024-01-31 15:02:47 +08:00
|
|
|
stages {
|
2024-01-31 16:23:02 +08:00
|
|
|
stage('Qodana代码检查') {
|
|
|
|
when {
|
|
|
|
branch 'feature'
|
|
|
|
}
|
2024-01-31 15:02:47 +08:00
|
|
|
steps {
|
2024-01-31 16:25:45 +08:00
|
|
|
script {
|
|
|
|
docker.image('jetbrains/qodana-go').run('''
|
|
|
|
-v "${WORKSPACE}":/data/project
|
|
|
|
--entrypoint=""
|
|
|
|
''') {
|
|
|
|
sh 'qodana'
|
|
|
|
}
|
|
|
|
}
|
2024-01-31 15:02:47 +08:00
|
|
|
}
|
|
|
|
}
|
2024-01-31 17:06:32 +08:00
|
|
|
stage('项目构建') {
|
2024-01-31 16:23:02 +08:00
|
|
|
steps {
|
2024-01-31 18:41:23 +08:00
|
|
|
echo '部署项目'
|
2024-01-31 16:25:45 +08:00
|
|
|
sh 'export GOARCH=amd64'
|
|
|
|
sh 'export GOOS=linux'
|
2024-01-31 16:38:33 +08:00
|
|
|
sh '/usr/local/go/bin/go build -o personalMain'
|
2024-01-31 16:23:02 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('项目部署至服务器') {
|
|
|
|
steps {
|
2024-01-31 18:41:23 +08:00
|
|
|
echo '部署项目至服务器'
|
2024-01-31 19:04:47 +08:00
|
|
|
sshPublisher(publishers: [sshPublisherDesc(configName: 'XiaoLFengBlogServer', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''cd ./blog-main
|
2024-01-31 17:11:30 +08:00
|
|
|
chmod +x ./personalMain
|
2024-01-31 19:01:31 +08:00
|
|
|
nohup ./personalMain > logger.log 2>&1 &''', execTimeout: 120000, flatten: false, keepFilePermissions: true, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: 'blog-main', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'personalMain')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
|
2024-01-31 18:59:51 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('项目归档') {
|
|
|
|
steps {
|
|
|
|
echo '项目归档'
|
2024-01-31 19:01:31 +08:00
|
|
|
archiveArtifacts artifacts: 'personalMain', fingerprint: true, followSymlinks: false, onlyIfSuccessful: true
|
2024-01-31 16:25:45 +08:00
|
|
|
}
|
2024-01-31 16:23:02 +08:00
|
|
|
}
|
2024-01-31 15:02:47 +08:00
|
|
|
}
|
2024-01-31 16:25:45 +08:00
|
|
|
}
|