-
Notifications
You must be signed in to change notification settings - Fork 20
/
Jenkinsfile
36 lines (23 loc) · 979 Bytes
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
node {
checkout scm
// Pega o commit id para ser usado de tag (versionamento) na imagem
sh "git rev-parse --short HEAD > commit-id"
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
appName = "app"
registryHost = "127.0.0.1:30400/"
imageName = "${registryHost}${appName}:${tag}"
// Configuramos os estágios
stage "Build"
def customImage = docker.build("${imageName}")
stage "Push"
customImage.push()
stage "Unit Test"
teste = "fullstack"
stage "Deploy PROD"
input "Deploy to PROD?"
customImage.push('latest')
sh "kubectl apply -f https://raw.githubusercontent.com/cirolini/Docker-Flask-uWSGI/master/k8s_app.yaml"
sh "kubectl set image deployment app app=${imageName} --record"
sh "kubectl rollout status deployment/app"
}