Skip to content

Instantly share code, notes, and snippets.

@jhsea3do
Created July 26, 2018 14:33
Show Gist options
  • Save jhsea3do/5da8ac2e02453a7efaf00b3ff71f7a60 to your computer and use it in GitHub Desktop.
Save jhsea3do/5da8ac2e02453a7efaf00b3ff71f7a60 to your computer and use it in GitHub Desktop.
def userHome = "/home/jhsea3do";
def volsHome = "${userHome}/clusters/devops/vols";
def projHome = "hello";
def projUser = "1000:1000";
def projLink = "https://github.com/chenfromsz/spring-boot-hello.git"
pipeline {
agent none
stages {
stage('Prepare') {
agent { label 'master' }
steps {
dir(projHome) {
git branch: 'master', url: projLink
}
}
}
stage('Build') {
agent {
docker {
image 'maven:3.5-jdk-8-alpine'
args " -u ${projUser} -v ${volsHome}/jenkins_home/.m2:/var/maven/.m2 -e MAVEN_CONFIG=/var/maven/.m2 -e MAVEN_OPTS=' -Duser.home=/var/maven ' "
}
}
steps {
sh """
cd ${projHome};
mvn package
"""
}
}
stage('Deploy') {
agent {
docker {
image 'openjdk:8-alpine'
args " -u ${projUser} "
}
}
steps {
sh """
mkdir -p app/bin app/lib app/etc;
cp ${projHome}/target/*.jar app/lib/app.jar;
find app;
"""
}
}
stage('Run') {
agent {
docker {
image 'openjdk:8-alpine'
args " -u ${projUser} -p 11080:8080 -e SPRING_OPTS='-Dserver.port=8080 '"
}
}
steps {
script {
try {
timeout(time: 30, unit: 'SECONDS') {
sh """
cd app;
echo \$SPRING_OPTS;
java -jar \$SPRING_OPTS lib/app.jar;
"""
}
} catch (e) {
sh "echo time over"
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment