diff --git a/Jenkinsfile b/Jenkinsfile index 58877dd..bb2f0a7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,6 +4,8 @@ pipeline { environment { APP_NAME = 'devops-test' VERSION = '1.0.0' + RUNDECK_URL = 'http://rundeck:4440' + RUNDECK_PROJECT = 'devops-test' } stages { @@ -14,12 +16,30 @@ pipeline { } } + stage('Secrets') { + steps { + echo "🔐 Retrieving secrets from Vaultwarden..." + script { + // Mount the scripts directory and run bw + sh ''' + if [ -f /opt/scripts/init-bw-session.sh ]; then + echo "Loading Bitwarden session..." + # Note: For production, configure Jenkins credentials properly + echo "Secrets module available" + else + echo "Bitwarden scripts not mounted, skipping..." + fi + ''' + } + } + } + stage('Validate') { steps { echo "🔍 Validating scripts..." sh 'ls -la' sh 'chmod +x app.sh' - sh 'bash -n app.sh' // Syntax check + sh 'bash -n app.sh' } } @@ -39,6 +59,24 @@ pipeline { echo " Branch: ${GIT_BRANCH}" } } + + stage('Deploy via Rundeck') { + when { + branch 'main' + } + steps { + echo "🚀 Triggering Rundeck deployment..." + script { + // Trigger Rundeck job via API + sh ''' + echo "Deployment would be triggered here" + echo "Rundeck URL: ${RUNDECK_URL}" + echo "Project: ${RUNDECK_PROJECT}" + # curl -X POST "${RUNDECK_URL}/api/41/job/JOB_ID/run" ... + ''' + } + } + } } post {