ci(jenkins): switch to multibranch pipe
This commit is contained in:
29
Jenkinsfile
vendored
29
Jenkinsfile
vendored
@@ -1,38 +1,31 @@
|
||||
pipeline {
|
||||
agent any
|
||||
environment {
|
||||
IMAGE_NAME = "astro-portfolio"
|
||||
CONTAINER_NAME = "portfolio"
|
||||
DOCKER_NETWORK = "reverse-proxy"
|
||||
DOCKER_HOST = "unix:///var/run/docker.sock"
|
||||
// Optimization
|
||||
PNPM_CACHE = "/var/jenkins_home/pnpm-cache"
|
||||
}
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
stage('Docker Build') {
|
||||
steps {
|
||||
sh "docker build -t ${IMAGE_NAME} ."
|
||||
echo "Build new docker image from ${env.BRANCH_NAME}..."
|
||||
sh "docker build -t portfolio:${env.BRANCH_NAME} ."
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
steps {
|
||||
sh "docker stop ${CONTAINER_NAME} || true"
|
||||
sh "docker rm ${CONTAINER_NAME} || true"
|
||||
sh "docker run -d --name ${CONTAINER_NAME} --network ${DOCKER_NETWORK} ${IMAGE_NAME}"
|
||||
// Deploy only master branch
|
||||
when {
|
||||
branch 'master'
|
||||
}
|
||||
}
|
||||
stage('Cleanup') {
|
||||
steps {
|
||||
sh "docker image prune -f"
|
||||
echo "Deploy new portfolio version..."
|
||||
sh "docker compose up -d"
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
echo "Clean unused image..."
|
||||
sh "docker image prune -f"
|
||||
}
|
||||
success { echo "Success !" }
|
||||
failure { echo "Failed." }
|
||||
}
|
||||
|
||||
11
docker-compose.yml
Normal file
11
docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
services:
|
||||
portfolio:
|
||||
image: portfolio:master
|
||||
container_name: portfolio
|
||||
restart: always
|
||||
networks:
|
||||
- reverse-proxy
|
||||
|
||||
networks:
|
||||
reverse-proxy:
|
||||
external: true
|
||||
Reference in New Issue
Block a user