diff --git a/Jenkinsfile_CD b/Jenkinsfile_CD new file mode 100644 index 0000000..1125f02 --- /dev/null +++ b/Jenkinsfile_CD @@ -0,0 +1,41 @@ +pipeline { + agent { + docker { + image 'maven:3.9.5-eclipse-temurin-17' + args '-v /root/.m2:/root/.m2' + } + } + + environment { + SSH_HOST = credentials('SSH_HOST') + SSH_PORT = credentials('SSH_PORT') + SSH_USER = credentials('SSH_USER') + SSH_PASS = credentials('SSH_PASS') + PATH_TO_DEV_FOLDER = credentials('PATH_TO_DEV_FOLDER') + IMAGE_NAME = servermonitorbot + IMAGE_VERSION = latest + } + + stages { + stage('Build') { + steps { + sh 'mvn -B -DskipTests -X clean package' + } + } + stage('Deploy') { + steps { + script { + sh """ + sshpass -p ${SSH_PASS} ssh -o StrictHostKeyChecking=no ${SSH_USER}@${SSH_HOST} -p ${SSH_PORT} 'mkdir -p ${PATH_TO_DEV_FOLDER}' + scp -o StrictHostKeyChecking=no -P ${SSH_PORT} target/*.jar ${SSH_USER}@${SSH_HOST}:${PATH_TO_DEV_FOLDER}/ + scp -o StrictHostKeyChecking=no -P ${SSH_PORT} Dockerfile ${SSH_USER}@${SSH_HOST}:${PATH_TO_DEV_FOLDER}/ + scp -o StrictHostKeyChecking=no -P ${SSH_PORT} docker-compose.yml ${SSH_USER}@${SSH_HOST}:${PATH_TO_DEV_FOLDER}/ + ssh -o StrictHostKeyChecking=no ${SSH_USER}@${SSH_HOST} -p ${SSH_PORT} 'cd ${PATH_TO_DEV_FOLDER} && docker build -t ${IMAGE_NAME}:${IMAGE_VERSION} .' + ssh -o StrictHostKeyChecking=no ${SSH_USER}@${SSH_HOST} -p ${SSH_PORT} 'cd ${PATH_TO_DEV_FOLDER} && docker-compose up -d' + """ + } + } + } + } + } +} \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile_CI similarity index 84% rename from Jenkinsfile rename to Jenkinsfile_CI index af40db6..c7ed1b4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile_CI @@ -8,14 +8,11 @@ pipeline { stages { stage('Build') { steps { - sh 'ls' sh 'mvn -B -DskipTests -X clean package' } } stage('Build docker') { steps { - sh 'ls' - sh 'ls target' sh 'docker build -t ldeloff/servermonitorbot:latest .' } }