diff --git a/jenkins/Jenkinsfile b/jenkins/Jenkinsfile new file mode 100644 index 0000000..1765423 --- /dev/null +++ b/jenkins/Jenkinsfile @@ -0,0 +1,32 @@ +def remote = [:] +remote.name = 'remote' +remote.host = env.DEPLOY_HOST +remote.user = env.DEPLOY_USER +remote.identityFile = '/var/lib/jenkins/.ssh/id_rsa' +remote.knownHosts = '/var/lib/jenkins/.ssh/known_hosts' +remote.allowAnyHosts = true +remote.retryCount = 3 +remote.retryWaitSec = 3 +logLevel = 'FINER' + +pipeline { + agent any + stages { + stage('Build') { + steps { + sh './jenkins/build.sh' + //stash includes: 'target/', name: 'target' + } + } + stage('Deploy') { + steps { + //unstash 'target' + sshCommand remote: remote, command: 'rm -rf mar/target mar/deploy.sh' + sshPut remote: remote, from: 'target', into: 'mar' + sshPut remote: remote, from: 'jenkins/deploy.sh', into: 'mar/deploy.sh' + sshCommand remote: remote, command: 'chmod +x mar/deploy.sh && ./mar/deploy.sh' + } + } + } +} + diff --git a/jenkins/build.sh b/jenkins/build.sh new file mode 100755 index 0000000..b8e8dbf --- /dev/null +++ b/jenkins/build.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +mvn package \ No newline at end of file diff --git a/jenkins/deploy.sh b/jenkins/deploy.sh new file mode 100755 index 0000000..46a0439 --- /dev/null +++ b/jenkins/deploy.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +export MARROOT="mar" + +screen -S mar -X quit +echo "Starting MAR" + +cp ${MARROOT}/marConfig.properties ${MARROOT}/target/config.properties +cp -r ${MARROOT}/marCerts/ ${MARROOT}/target/certificates + +screen -S mar -d -m bash -c "cd ${MARROOT}/target && java -jar server-*.jar" +sleep 1 +screen -list \ No newline at end of file