Files
java-maven-app/Jenkinsfile
2020-11-22 13:43:08 +01:00

51 lines
1.4 KiB
Groovy

#!/usr/bin/env groovy
library identifier: 'jenkins-shared-library@master', retriever: modernSCM(
[$class: 'GitSCMSource',
remote: 'https://gitlab.com/nanuchi/jenkins-shared-library.git',
credentialsId: 'gitlab-credentials'
]
)
pipeline {
agent any
tools {
maven 'Maven'
}
environment {
IMAGE_NAME = 'nanajanashia/demo-app:java-maven-1.0'
}
stages {
stage('build app') {
steps {
script {
echo 'building application jar...'
buildJar()
}
}
}
stage('build image') {
steps {
script {
echo 'building docker image...'
buildImage(env.IMAGE_NAME)
dockerLogin()
dockerPush(env.IMAGE_NAME)
}
}
}
stage('deploy') {
steps {
script {
echo 'deploying docker image to EC2...'
def dockerComposeCmd = "docker-compose -f docker-compose.yaml up --detach"
sshagent(['ec2-server-key']) {
sh "scp docker-compose.yaml ec2-user@35.180.251.121:/home/ec2-user"
sh "ssh -o StrictHostKeyChecking=no ec2-user@35.180.251.121 ${dockerComposeCmd}"
}
}
}
}
}
}