// Webhook + Gitlab git pull + Vapor def payload = readJSON text: "${payload}" String userName = payload.user_name String userEmail = payload.user_email String httpUrl = payload.project.http_url pipeline { agent { docker { image 'dillonngo/docker-based-image:poc' args "--group-add 992 -v /var/run/docker.sock:/var/run/docker.sock" } } environment { HOME = '.' } stages { stage('Download source code from Git') { steps { git( url: httpUrl, credentialsId: 'gitlab-jenkins-localhost', branch: 'dillon/34-jenkins-vapor' ) } } stage('Install') { steps { sh 'composer update' } } stage('Tests') { steps { sh 'vendor/bin/phpunit tests/Unit' } } stage('Deploy') { steps { script{ String gitCommitMessage = getCommitMessage() println("GIT CommitMessage: " + gitCommitMessage) sh "vendor/bin/vapor deploy staging --message='${gitCommitMessage}'" } } } } } @NonCPS String getCommitMessage(){ commitMessage = " " for ( changeLogSet in currentBuild.changeSets){ for (entry in changeLogSet.getItems()){ commitMessage = entry.msg } } return commitMessage }