Files
shagram/Jenkinsfile
T
2026-01-16 23:52:50 +03:00

45 lines
1.2 KiB
Groovy

pipeline{
agent { label 'docker' }
options {
skipDefaultCheckout()
}
environment {
PROJECT_DIR = "/opt/shagram/shagram"
IMAGE_NAME = "shagram"
}
stages{
stage('Checkout') {
steps {
dir(env.PROJECT_DIR) {
deleteDir()
git url: 'https://github.com/emil28092005/shagram.git', branch: 'main'
}
}
}
stage('Build') {
steps {
dir(env.PROJECT_DIR) {
echo 'Building shagram...'
sh 'docker build -t ${IMAGE_NAME}:${GIT_COMMIT} .'
}
}
}
stage('Test') {
steps {
echo 'Testing...'
sh 'docker run --rm ${IMAGE_NAME}:${GIT_COMMIT} sqlite3 --version'
}
}
stage('Deploy') {
steps {
dir("${PROJECT_DIR}/deploy/shagram") {
echo 'Deploying...'
sh 'printf "APP_IMAGE=%s\\n" "${IMAGE_NAME}:${GIT_COMMIT}" > .env'
sh 'docker compose up -d'
sh 'docker compose ps'
}
}
}
}
}