ci: 使用在线地址+scp部署
这个提交包含在:
父节点
261510e19a
当前提交
e514d5bbb3
42
Jenkinsfile
vendored
42
Jenkinsfile
vendored
@ -2,43 +2,22 @@ pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
PROD_HOST = '106.54.23.149'
|
||||
PROD_USER = 'ubuntu'
|
||||
DEPLOY_DIR = '/var/www/docs.xuqinmin.com/site'
|
||||
LOCAL_REPO = 'D:/Projects3/lawless-design'
|
||||
}
|
||||
|
||||
triggers {
|
||||
// 每 2 分钟检查本地仓库是否有新 commit
|
||||
pollSCM('H/2 * * * *')
|
||||
}
|
||||
|
||||
options {
|
||||
timeout(time: 5, unit: 'MINUTES')
|
||||
disableConcurrentBuilds()
|
||||
PROD_HOST = '106.54.23.149'
|
||||
PROD_USER = 'ubuntu'
|
||||
DEPLOY_DIR = '/var/www/docs.xuqinmin.com/site'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout Local') {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
// 使用本地文件路径,完全避免网络超时
|
||||
checkout([
|
||||
$class: 'GitSCM',
|
||||
branches: [[name: '*/main']],
|
||||
userRemoteConfigs: [[
|
||||
url: 'file:///D:/Projects3/lawless-design'
|
||||
]]
|
||||
])
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Docs') {
|
||||
steps {
|
||||
bat '''
|
||||
pip3 install mkdocs-material --quiet 2>nul || echo mkdocs already installed
|
||||
mkdocs build --clean --site-dir site
|
||||
echo Docs built successfully
|
||||
'''
|
||||
bat 'pip3 install mkdocs-material --quiet 2>nul || echo ok'
|
||||
bat 'mkdocs build --clean --site-dir site'
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,9 +25,8 @@ pipeline {
|
||||
steps {
|
||||
withCredentials([sshUserPrivateKey(credentialsId: 'PROD_SSH_KEY', keyFileVariable: 'SSH_KEY')]) {
|
||||
bat '''
|
||||
set RSYNC_RSH=ssh -i %SSH_KEY% -o StrictHostKeyChecking=no -o ConnectTimeout=30
|
||||
rsync -avz --delete site/ %PROD_USER%@%PROD_HOST%:%DEPLOY_DIR%/
|
||||
echo Deployed to https://docs.xuqinmin.com/
|
||||
ssh -i %SSH_KEY% -o StrictHostKeyChecking=no -o ConnectTimeout=30 %PROD_USER%@%PROD_HOST% "sudo rm -rf %DEPLOY_DIR%/*"
|
||||
scp -i %SSH_KEY% -o StrictHostKeyChecking=no -o ConnectTimeout=30 -r site/* %PROD_USER%@%PROD_HOST%:%DEPLOY_DIR%/
|
||||
'''
|
||||
}
|
||||
}
|
||||
@ -57,7 +35,7 @@ pipeline {
|
||||
|
||||
post {
|
||||
success {
|
||||
echo 'Docs site deployed: https://docs.xuqinmin.com/'
|
||||
echo 'Docs deployed: https://docs.xuqinmin.com/'
|
||||
}
|
||||
failure {
|
||||
echo 'Docs deployment failed!'
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户