diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..2ef1be0 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,69 @@ +#! /bin/groovy +pipeline { + agent { + docker { + alwaysPull true + image 'alpine:3.14' + label 'Wrangler1' + args '-u root' + } + } + + + + + + stages { + stage('Prepare Environment'){ + steps{ + sh "#!/bin/sh \n" + + 'id; apk add docker openrc git' + } + } + stage('Obtain Source'){ + steps { + git branch: 'main', url: 'https://git.adamoutler.com/aoutler/aidgaf-server.git' + } + } + stage('Build in docker') { + steps { + // Get some code from a Git repository + sh "#!/bin/sh \n" + + 'docker build -t aidgaf .' + } + } + stage ("setup credentials"){ + steps{ + withCredentials([ sshUserPrivateKey(credentialsId: 'dockeruserOn192.168.1.115', keyFileVariable: 'sshkey', usernameVariable: 'user')]) { + sh "#!/bin/sh \n" + + 'set +e; docker stop aidgaf-server||echo machine stopped; docker rm aidgaf-server||echo machine does not exist; set -e' + } + + } + } + stage ('export docker container'){ + steps { + + sh "#!/bin/sh \n" + + 'set +e; docker stop aidgaf-server||echo machine stopped; docker rm aidgaf-server||echo machine does not exist; set -e' + withCredentials([ + string(credentialsId: 'OpenAI-API-Token', variable: 'OPEN_AI_TOKEN'), + string(credentialsId: 'PapaHashingSecret', variable: 'PAPA_HASH'), + sshUserPrivateKey(credentialsId: 'dockeruserOn192.168.1.115', keyFileVariable: 'sshkey', usernameVariable: 'user') + ]) { + sh "#!/bin/sh \n" + + 'mkdir -p ~/.ssh; cp "${sshkey}" ~/.ssh/id_rsa' + sh "#!/bin/sh \n" + + 'docker run --name=aidgaf-server -eSERVERPORT=8087 -eHOSTNAME=0.0.0.0 -eHASHKEY="${PAPA_HASH}" -eAPIKEY="${OPEN_AI_TOKEN}" -p8087:8087 -d --restart=always aidgaf' + } + } + } + + + // To run Maven on a Windows agent, use + // bat "mvn -Dmaven.test.failure.ignore=true clean package" + + + + } +}