73 lines
1.3 KiB
Groovy
73 lines
1.3 KiB
Groovy
pipeline {
|
|
agent { label 'docker-agent' }
|
|
|
|
options {
|
|
skipDefaultCheckout(true)
|
|
timestamps()
|
|
}
|
|
|
|
environment {
|
|
IMAGE_NAME = "shagram"
|
|
DEPLOY_DIR = "/opt/shagram/shagram/deploy/shagram"
|
|
COMPOSE_FILE = "${WORKSPACE}/deploy/shagram/compose.yaml"
|
|
}
|
|
|
|
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
checkout scm
|
|
sh '''
|
|
set -eux
|
|
git reset --hard
|
|
git clean -xffd
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage('Build') {
|
|
steps {
|
|
script {
|
|
env.GIT_SHA = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim()
|
|
env.APP_IMAGE = "${IMAGE_NAME}:${env.GIT_SHA}"
|
|
}
|
|
sh '''
|
|
set -eux
|
|
docker build -t "$APP_IMAGE" .
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage('Test') {
|
|
steps {
|
|
sh '''
|
|
echo "Testing..."
|
|
'''
|
|
}
|
|
}
|
|
stage('Debug env') {
|
|
steps {
|
|
sh '''
|
|
echo "BRANCH_NAME=$BRANCH_NAME"
|
|
echo "GIT_BRANCH=$GIT_BRANCH"
|
|
git rev-parse --abbrev-ref HEAD || true
|
|
git rev-parse HEAD
|
|
'''
|
|
}
|
|
}
|
|
|
|
|
|
stage('Deploy') {
|
|
when {
|
|
expression { env.GIT_BRANCH == 'origin/main' || env.GIT_BRANCH == 'main' }
|
|
}
|
|
steps {
|
|
sh 'echo "deploying"'
|
|
sh 'touch /opt/shagram/TEST_WEBHOOK.txt'
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|