Tive problemas com o Build e revendo o video do instrutor, encontrei diferenças com os códigos, conforme abaixo:
pipeline {
environment {
dockerImage = "${image}"
}
agent any
stages {
stage('Carregando o ENV de desenvolvimento') {
steps {
configFileProvider([configFile(fileId: '<id do seu arquivo de desenvolvimento>', variable: 'env')]) {
sh 'cat $env > .env'
}
}
}
stage('Derrubando o container antigo') {
steps {
script {
try {
sh 'docker rm -f django-todolist-dev1'
} catch (Exception e) {
sh "echo $e"
}
}
}
}
stage('Subindo o container novo') {
steps {
script {
try {
sh 'docker run -d -p 81:8000 -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock -v /var/lib/jenkins/workspace/jenkins-todo-list-desenvolvimento/.env:/usr/src/app/to_do/.env --name=django-todolist-dev ' + dockerImage + ':latest'
} catch (Exception e) {
slackSend (color: 'error', message: "[ FALHA ] Não foi possivel subir o container - ${BUILD_URL} em ${currentBuild.duration}s", tokenCredentialId: 'slack-token')
sh "echo $e"
currentBuild.result = 'ABORTED'
error('Erro')
}
}
}
}
stage('Notificando o usuario') {
steps {
slackSend (color: 'good', message: '[ Sucesso ] O novo build esta disponivel em: http://192.168.33.10:81/ ', tokenCredentialId: 'slack-token')
}
}
}
}
sh 'docker rm -f django-todolist-dev1'
No video está:
sh 'docker rm -f django-todolist-dev'
E também outra linha está diferente, o job aqui está como "jenkins-todo-list-desenvolvimento"
sh 'docker run -d -p 81:8000 -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock -v /var/lib/jenkins/workspace/jenkins-todo-list-desenvolvimento/.env:/usr/src/app/to_do/.env --name=django-todolist-dev ' + dockerImage + ':latest'
Já no video o nome do job está "todo-list-desenvolvimento":
sh 'docker run -d -p 81:8000 -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock -v /var/lib/jenkins/workspace/todo-list-desenvolvimento/.env:/usr/src/app/to_do/.env --name=django-todolist-dev ' + dockerImage + ':latest'
Então, alterando esses itens acima funcionou para mim