Files
eureka-server/Jenkinsfile
2023-03-24 15:00:23 +09:00

76 lines
2.0 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) {
stage("Get Source") {
git branch: 'master', credentialsId: 'GIT_CREDENTIALS', url: "http://mindol.synology.me:8418/kiz-space/eureka-server.git"
}
try {
//-- 환경변수 파일 읽어서 변수값 셋팅
def props = readProperties file:"pipeline.properties"
def tag = props["version"]
def dockerRegistry = props["dockerRegistry"]
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"]
def registry = 'https://10.43.250.34:5000/v2/'
/*
echo "gradle build"
stage("Gradle Build") {
container('gradle') {
echo "gradle build start"
sh 'chmod +x ./gradlew'
sh './gradlew build'
echo "gradle build end"
}
}
*/
stage("Dockerize and Push") {
echo "docker start"
container("docker") {
echo "docker start loding"
def dockerImage = docker.build("${image}:${tag}")
echo "docker build end"
echo "docker push start"
docker.withRegistry("https://${registry}", 'REGISTRY_CREDENTIALS') {
echo "docker push loding"
dockerImage.push()
dockerImage.push('latest')
echo "docker push end"
}
}
}
echo "end"
} catch(e) {
echo e.getMessage()
currentBuild.result = "FAILED"
}
}
}