Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ERRO - Aula 5:integração dos jobs

Após realizar os comandos no cmder, em todo-list-desenvolvimento, apresenta o seguinte erro: Shell Script script returned exit code 125 // Error signal Erro, na na etapa SUBINDO UM CONTAINER NOVO (e os da sequência não puderam ser realizados), e ao consultar Console output a mensagem do erro é : + docker run -d -p 80: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 ${image}:latest docker: invalid reference format. See 'docker run --help'.

No build, ao aproximar do número dele, é apresentada a mensagem ABORTADO> SAÍDA DE CONSOLE

Estou enviando o código que está no pipeline, copiei do script da aula , já revisei mas não consigo achar o erro

pipeline { environment { dockerImage = "${image}" } agent any

    stages {
        stage('Carregando o ENV de desenvolvimento') {
            steps {
                configFileProvider([configFile(fileId: '23ca5ef1-7fca-4674-beda-e947ad4535cd', variable: 'env')]) {
                    sh 'cat $env > .env'
                }
            }
        }
        stage('Derrubando o container antigo') {
            steps {
                script {
                    try {
                        sh 'docker rm -f django-todolist-dev'
                    } 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/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')
            }
        }
        stage ('Fazer o deploy em producao?') {
            steps {
                script {
                    slackSend (color: 'warning', message: "Para aplicar a mudança em produção, acesse [Janela de 10 minutos]: ${JOB_URL}", tokenCredentialId: 'slack-token')
                    timeout(time: 10, unit: 'MINUTES') {
                        input(id: "Deploy Gate", message: "Deploy em produção?", ok: 'Deploy')
                    }
                }
            }
        }
        stage (deploy) {
            steps {
                script {
                    try {
                        build job: 'todo-list-producao', parameters: [[$class: 'StringParameterValue', name: 'image', value: dockerImage]]
                    } catch (Exception e) {
                        slackSend (color: 'error', message: "[ FALHA ] Não foi possivel subir o container em producao - ${BUILD_URL}", tokenCredentialId: 'slack-token')
                        sh "echo $e"
                        currentBuild.result = 'ABORTED'
                        error('Erro')
                    }
                }
            }
        }
    }
}
2 respostas
solução!

Olá Milleide, tudo bem? Bem, o erro informa que existe um "formato de referência inválida", e a unica referência que temos nesse comando:

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'

É a variável dockerImage que faz referência a variável ${image}, então primeiro você deve verificar se fez a passagem do parâmetro ${image} no Job jenkins-todo-list-principal (vídeo), veja se todas as configurações feitas pelo professor nesse vídeo estão corretas, e fala pra gente!

Uma outra coisa, que não entendi bem foi que você falou que fez as configurações no cmder, então você está usando Windows é isso?

Olá! Sim, usando Windows Obrigada pela ajuda!Curso concluído.