45 lines
1.2 KiB
Groovy
45 lines
1.2 KiB
Groovy
pipeline {
|
|
agent any
|
|
environment {
|
|
DEPLOY_PATH = '/var/www/codejava.tech'
|
|
}
|
|
stages {
|
|
stage('Install Dependencies') {
|
|
steps {
|
|
sh '''
|
|
apt-get update -qq && apt-get install -y -qq rsync
|
|
# Install Hugo
|
|
curl -sL https://github.com/gohugoio/hugo/releases/download/v0.146.0/hugo_extended_0.146.0_linux-amd64.tar.gz \
|
|
-o hugo.tar.gz
|
|
tar -xzf hugo.tar.gz hugo
|
|
|
|
# Install Go
|
|
curl -sL https://go.dev/dl/go1.24.1.linux-amd64.tar.gz -o go.tar.gz
|
|
tar -xzf go.tar.gz
|
|
'''
|
|
}
|
|
}
|
|
stage('Build') {
|
|
steps {
|
|
sh 'PATH=$PATH:$WORKSPACE/go/bin ./hugo --minify'
|
|
}
|
|
}
|
|
stage('Deploy') {
|
|
steps {
|
|
sh '''
|
|
rsync -az --delete -e "ssh -o StrictHostKeyChecking=no" \
|
|
public/ root@172.17.0.1:${DEPLOY_PATH}/
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
success {
|
|
echo 'Deployment successful! Visit https://codejava.tech'
|
|
}
|
|
failure {
|
|
echo 'Deployment failed!'
|
|
}
|
|
}
|
|
}
|