1
resposta

Aplicação não faz o Deploy na outra maquina

Fiz exatamente o que esta descrito nos videos e nas explicações posteriores, mas o jenkins não realiza a cópia para a maquina de produção. O video terminou sem uma explicação e exibição da compilação funcionando, parece que faltou algo a ser mostrado.

1 resposta

Olá Danilo, tudo bem? Peço desculpas pela demora no retorno! Mas para resolver o problema vou indicar o mesmo passo a passo que indiquei para o Natan nesse outro tópico.

O que acontece é que depois de colocar o seguinte conteúdo:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>

<user username="jenkins" password="jenkins" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

Dentro do arquivo /var/lib/tomcat8/conf/tomcat-users.xml e logo em seguida reiniciar o Tomcat com o comando sudo service tomcat8 restart como o instrutor apresentou, faltou fazer o seguinte processo:

  • Ir novamente em "Ações de pós-build" (Post-build Actions) , na parte de Credentials clique em Add e depois em Jenkins, como na imagem abaixo: Add Credentials

  • Coloque os campos da seguinte forma:

    • Username: jenkins
    • Password: jenkins
    • ID: jenkins
    • Description: jenkins
  • Por fim, clique no botão Add, como na imagem abaixo: Save Credential

  • E novamente no campo de Credentials selecione a nova crendencial que acabamos de criar jenkins e salve o Job novamente, como na imagem: Select Credential
  • Agora tente executar o Job novamente.

Acho que talvez você tenha o seguinte ERROR:

ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: Failed to deploy [/var/lib/jenkins/workspace/catalogo/target/alura-aws.war]

<outra parte do log>
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The Tomcat Manager responded "FAIL - Deployed application at context path [/alura-aws] but context failed to start
" instead of the expected "OK" message

Já vou me antecipar e indicar os passos para você resolver esse outro problema:

1) Conecte-se a máquina EC2 via SSH, entre no banco de dados com o comando (instale o mysql-client antes e também o RDS e o EC2 precisam estar no mesmo VPC):

mysql -u root -h endpoint_do_banco_de_dados -p

E agora informe a senha.

2) E depois crie o banco de dados "alura_aws", para isso você precisa executar o comando para criar o banco de dados:

CREATE DATABASE alura_aws;

3) Agora crie saia do MySQL e entre no arquivo setenv.sh com o comando:

sudo nano /usr/share/tomcat8/bin/setenv.sh

4) Altere o arquivo colocando a porta do MySQL (3306) e também coloque a palavra reservada export antes de todas as variaveis, então o arquivo deve ficar da seguinte forma:

export url=endpoint_do_banco_de_dados:3306
export usuario=root
export senha=12345678

E deve funcionar corretamente seu build, caso ainda persista o erro, então entre na pasta /var/lib/tomcat8/webapps com o comando:

cd /var/lib/tomcat8/webapps

E exclua o arquivo "alura-aws.war" e a pasta "alura-aws/" com os comandos:

sudo rm  alura-aws.war

E depois:

sudo rm -r  alura-aws

E tente fazer o build novamente.

Espero ter ajudado!