forked from mindol1004/msa-kiz-app
추가 'Jenkinsfile'
This commit is contained in:
61
Jenkinsfile
vendored
Normal file
61
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
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: ${git_credential}, url: ${gitRepository}
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
stage("Gradle Build") {
|
||||
container('gradle') {
|
||||
sh './gradlew build'
|
||||
}
|
||||
}
|
||||
|
||||
stage("Dockerize and Push") {
|
||||
container("docker") {
|
||||
docker.withRegistry("${dockerRegistry}", "${registry_credential}") {
|
||||
sh "docker build -f ./Dockerfile -t ${image}:${tag} ."
|
||||
sh "docker push ${image}:${tag}"
|
||||
sh "docker tag ${image}:${tag} ${image}:latest"
|
||||
sh "docker push ${image}:latest"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch(e) {
|
||||
currentBuild.result = "FAILED"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user