PersonalMain-Golang/Jenkinsfile

48 lines
1.8 KiB
Go
Raw Normal View History

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 18:59:51 +08:00
sshPublisher(publishers: [sshPublisherDesc(configName: 'JslServer', sshCredentials: [encryptedPassphrase: '{AQAAABAAAAAQSo3d/A9JT3b4GyF3ko9CLF5tctSczhkSZNxEzdL8mEw=}', key: SSH_KEY, keyPath: '', username: 'ecs-user'], transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''cd ./blog-main
2024-01-31 17:11:30 +08:00
chmod +x ./personalMain
2024-01-31 18:59:51 +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)])
}
}
stage('项目归档') {
steps {
echo '项目归档'
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
}