45 lines
1.2 KiB
Groovy
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'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |