|
|
|
@ -1,30 +1,21 @@ |
|
|
|
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" |
|
|
|
} |
|
|
|
pipeline { |
|
|
|
agent any |
|
|
|
|
|
|
|
stages { |
|
|
|
stage('Build') { |
|
|
|
steps { |
|
|
|
echo 'Building..' |
|
|
|
} |
|
|
|
} |
|
|
|
stage('Test') { |
|
|
|
steps { |
|
|
|
echo 'Testing..' |
|
|
|
} |
|
|
|
} |
|
|
|
stage('Deploy') { |
|
|
|
steps { |
|
|
|
echo 'Deploying....' |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |