2
respostas

[Bug] err: chmod: cannot access 'main': No such file or directory

Olá,

Segui conforme o que foi apresentado em aula, finalizou positivamente, porém não esta funcionando a aplicação, abaixo algumas informações detalhado na finalização do Job do EC2: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, Antonio.

Tudo bem?

Desculpa a demora, estou respondendo esse tópico para tentar ajudar você e outros alunos que estiverem com essa mesma dúvida, e também para organizar o nosso fórum. Valeu :)

Pelo que entendi, você seguiu as instruções apresentadas no curso de Integração Contínua para criar um pipeline de entrega e implementação contínua na EC2. No entanto, ao finalizar o job no EC2, a aplicação não está funcionando corretamente e você está recebendo o erro "chmod: cannot access 'main': No such file or directory".

Esse erro geralmente ocorre quando o arquivo "main" não está presente no diretório em que o comando "chmod" está sendo executado. Verifique se o arquivo "main" está no diretório correto e se o nome do arquivo está escrito corretamente. Certifique-se também de que o arquivo tenha permissões de execução corretas.

Além disso, observe que no código do arquivo "EC2.yml" apresentado na aula, há um comando "chmod +x main" antes do comando "nohup ./main > nohup.out 2> nohup.err &". Esse comando está dando permissão de execução ao arquivo "main". Certifique-se de que esse comando esteja presente no seu arquivo "EC2.yml" e que esteja sendo executado corretamente.

Caso o problema persista, verifique se o arquivo "main" está sendo gerado corretamente durante o processo de build ou compilação da sua aplicação. Certifique-se de que todos os passos necessários para a geração desse arquivo estejam sendo executados corretamente no seu pipeline.

Espero que essas dicas possam te ajudar a resolver o problema. Se tiver mais alguma dúvida, é só me dizer. Espero ter ajudado e bons estudos!

Pessoal, estava com o mesmo problema apos a Aula 05 "No such file or directory", nao subia a aplicação.

Primeira dica é olhar os logs no nohup.err gerados dentro do maquina virtual, no meu caso estava apresentando "No such file or directory",

Isso ocorre quando o linux nao encontra o arquivo e diretorio, e de fato o arquivo "main"(executavel), não estava no diretorio da maquina virtual.

Dentro do EC2.yml, verifiquei que eu estava executando o steps na ordem errada, conforme abaixo:

jobs:
  EC2:
    runs-on: ubuntu-latest
    steps:
    
     - name: Download a Build Artifact
       uses: actions/download-artifact@v3.0.0
       with:
    # Artifact name
        name: programa
        
         - uses: actions/checkout@v3 # aqui esta ERRADO
     - name: Deploy to Staging server
       uses: easingthemes/ssh-deploy@main
       with:
       .....

O comando uses: "- uses: actions/checkout@v3" devem ser o primeiro passo a ser executado, pois ele apaga todos os arquivos para preparar o ambiente, entao o meu artefato estava sendo apagado antes de baixa-lo.

A solução conforme dito anteriomente é deixar ele sendo o primeiro steps:

jobs:
  EC2:
    runs-on: ubuntu-latest
    steps:
     - uses: actions/checkout@v3 #alteracao de posicionamento, DEVE FICAR AQUI
     - name: Download a Build Artifact
       uses: actions/download-artifact@v3.0.0
       with:
    # Artifact name
        name: programa
        
     - name: Deploy to Staging server
       uses: easingthemes/ssh-deploy@main
       with:

Espero ter ajudado