| @ -0,0 +1,30 @@ | |||||
| node { | |||||
| checkout scm | |||||
| // Pega o commit id para ser usado de tag (versionamento) na imagem | |||||
| sh "git rev-parse --short HEAD > commit-id" | |||||
| def tag = readFile('commit-id').replace("\n", "").replace("\r", "") | |||||
| // configura o nome da aplicação, o endereço do repositório e o nome da imagem com a versão | |||||
| def appName = "jenkins-docker-kubectl" | |||||
| def registryHost = "127.0.0.1:30400/" | |||||
| def imageName = "${registryHost}${appName}:${tag}" | |||||
| // Configuramos os estágios | |||||
| stage "Build" | |||||
| def customImage = docker.build("${imageName}") | |||||
| stage "Push" | |||||
| customImage.push() | |||||
| stage "Deploy PROD" | |||||
| input "Deploy to PROD?" | |||||
| customImage.push('latest') | |||||
| sh "kubectl set image deployment jenkins jenkins=${imageName} --record" | |||||
| } | |||||