forked from mindol1004/msa-kiz-app
61 lines
1.8 KiB
Groovy
61 lines
1.8 KiB
Groovy
def label = "eureka-${UUID.randomUUID().toString()}"
|
|
|
|
podTemplate(
|
|
label: label,
|
|
containers: [
|
|
//container image는 docker search 명령 이용
|
|
containerTemplate(name: "docker", image: "docker:latest", ttyEnabled: true, command: "cat"),
|
|
containerTemplate(name: "gradle", image: "gradle", command: "cat", ttyEnabled: true),
|
|
containerTemplate(name: "kubectl", image: "bitnami/kubectl", command: "cat", ttyEnabled: true)
|
|
],
|
|
//volume mount
|
|
volumes: [
|
|
hostPathVolume(hostPath: "/var/run/docker.sock", mountPath: "/var/run/docker.sock")
|
|
]
|
|
)
|
|
{
|
|
node(label) {
|
|
|
|
//-- 환경변수 파일 읽어서 변수값 셋팅
|
|
def props = readProperties file:"pipeline.properties"
|
|
def tag = props["version"]
|
|
def gitRepository = props["gitRepository"]
|
|
def git_credential=props["git_credential"]
|
|
def dockerRegistry = props["dockerRegistry"]
|
|
def registry_credential=props["registry_credential"]
|
|
def image = props["image"]
|
|
def deployment = props["deployment"]
|
|
def service = props["service"]
|
|
def ingress = props["ingress"]
|
|
def selector_key = props["selector_key"]
|
|
def selector_val = props["selector_val"]
|
|
def namespace = props["namespace"]
|
|
|
|
stage("Get Source") {
|
|
git branch: 'master', credentialsId: credentials('GIT_CREDENTIALS'), url: "http://mindol.synology.me:8418/kiz-space/eureka-server.git"
|
|
}
|
|
|
|
try {
|
|
|
|
stage("Gradle Build") {
|
|
container('gradle') {
|
|
sh './gradlew build'
|
|
}
|
|
}
|
|
|
|
stage("Dockerize and Push") {
|
|
container("docker") {
|
|
docker.withRegistry("http://mindol.synology.me:60000/v2/_catalog/", credentials('REGISTRY_CREDENTIALS')) {
|
|
sh "docker build -f ./Dockerfile -t kiz/eureka:0.1 ."
|
|
sh "docker push kiz/eureka:0.1"
|
|
sh "docker tag kiz/eureka:0.1 kiz/eureka:latest"
|
|
sh "docker push kiz/eureka:latest"
|
|
}
|
|
}
|
|
}
|
|
|
|
} catch(e) {
|
|
currentBuild.result = "FAILED"
|
|
}
|
|
}
|
|
} |