Skeleton is ready
This commit is contained in:
58
Jenkinsfile
vendored
Normal file
58
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
API_TOKEN = credentials('04f8a5d4-19fc-4ab3-979e-35bbb5b64611')
|
||||
ENV_FILE = '/usr/local/share/environment/api.env'
|
||||
COMPOSE_FILE = 'src/deploy/main/docker-compose.yaml'
|
||||
PHP_CONTAINER = 'project-php'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Clean') {
|
||||
steps {
|
||||
cleanWs()
|
||||
}
|
||||
}
|
||||
stage('Clone') {
|
||||
steps {
|
||||
sh """
|
||||
git clone https://gitea.diffteam.online/PHP/LaravelSkeletonAPI.git src
|
||||
"""
|
||||
}
|
||||
}
|
||||
stage('Environment') {
|
||||
steps {
|
||||
sh """
|
||||
if [ -f "${ENV_FILE}" ]; then
|
||||
cp "${ENV_FILE}" src/.env
|
||||
|
||||
echo ".env file copied successfully"
|
||||
else
|
||||
echo "ERROR: .env file not found at ${ENV_FILE}"
|
||||
|
||||
exit 1
|
||||
fi
|
||||
"""
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
steps {
|
||||
sh """
|
||||
docker compose --env-file src/.env -f "${COMPOSE_FILE}" build
|
||||
"""
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
steps {
|
||||
sh """
|
||||
docker compose --env-file src/.env -f "${COMPOSE_FILE}" down --remove-orphans
|
||||
docker compose --env-file src/.env -f "${COMPOSE_FILE}" up -d
|
||||
|
||||
docker exec "${PHP_CONTAINER}" php artisan migrate --force
|
||||
docker exec "${PHP_CONTAINER}" php artisan optimize
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user