Files
eureka-server/Jenkinsfile
2023-03-22 16:17:05 +09:00

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"
}
}
}