pipeline { agent any environment { ATHENA_DEPLOYMENT_SSH_KEY = credentials("athena_ssh_key") ENVIRONMENT = credentials("ENVIRONMENT") DB_HOST = credentials("DB_HOST") DB_PORT = credentials("DB_PORT") DB_USER = credentials("DB_USER") DB_PASS = credentials("DB_PASS") DB_NAME = credentials("DB_NAME") DB_SSL = credentials("DB_SSL") COOKIE_STRING = credentials("COOKIE_STRING") ALLOW_REGISTRATION = credentials("ALLOW_REGISTRATION") LOGGER_WEBHOOK_URL = credentials("LOGGER_WEBHOOK_URL") } stages { stage('Build') { steps { echo 'Creating environment variables (.env)' sh 'echo ENVIRONMENT=$ENVIRONMENT >> .env' sh 'echo DB_HOST=$DB_HOST >> .env' sh 'echo DB_PORT=$DB_PORT >> .env' sh 'echo DB_USER=$DB_USER >> .env' sh 'echo DB_PASS=$DB_PASS >> .env' sh 'echo DB_NAME=$DB_NAME >> .env' sh 'echo DB_SSL=$DB_SSL >> .env' sh 'echo COOKIE_STRING=$COOKIE_STRING >> .env' sh 'echo ALLOW_REGISTRATION=$ALLOW_REGISTRATION >> .env' sh 'echo LOGGER_WEBHOOK_URL=$LOGGER_WEBHOOK_URL >> .env' echo 'Clearing Git directory' sh 'rm -rf ./.git' } } stage('Test') { steps { echo 'Testing..' } } stage('Deploy') { steps { echo 'Creating SSH Key...' sh 'apt update' sh 'apt install -y rsync' sh 'bash scripts/deploy.sh' } } } }