Repos:
myrepo
, no servidor gitlab auto-hospedado, em repo privado com (testado) implantar chaves
mainrepo
, no servidor gitlab auto-hospedado, em repositório privado que funciona bem. Seu pacote.json faz referência a myrepo
da seguinte forma:
"dependencies": {
"myrepo": "git+ssh://[email protected]:myusernamespace/myrepo.git"
}
O mainrepo
é implantado em uma instância de bean beank do AWS Elastic sem problemas.
O problema é que o processo de compilação na instância do bean de feijão Elastic está falhando, já que ele não tem permissões para acessar o servidor gitlab
No log da interface do usuário da web da AWS
2016-02-04 13:36:59 UTC+0000 ERROR During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version.
2016-02-04 13:36:59 UTC+0000 ERROR Failed to deploy application.
2016-02-04 13:36:58 UTC+0000 ERROR Unsuccessful command execution on instance id(s) 'i-111111f'. Aborting the operation.
2016-02-04 13:36:58 UTC+0000 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2016-02-04 13:36:58 UTC+0000 ERROR [Instance: i-111111f] Command failed on instance. Return code: 1 Output: [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/50npm.sh] command failed with error code 1: /opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh + /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install npm ERR! git clone [email protected]:myusernamespace/myrepo.git Cloning into bare repository '/tmp/.npm/_git-remotes/git-git-myhost-com-myysername-myrepo-git-99d4209c'... npm ERR! git clone [email protected]:myusernamespace/myrepo.git Host key verification failed. npm ERR! git clone [email protected]:myusernamespace/myrepo.git fatal: Could not read from remote repository. npm ERR! git clone [email protected]:myusernamespace/myrepo.git npm ERR! git clone [email protected]:myysername/ref.
Em nodejs.log
:
353 error Host key verification failed.
353 error fatal: Could not read from remote repository.
353 error
353 error Please make sure you have the correct access rights
353 error and the repository exists.
Para permitir que o Gitlabs veicule os repositórios por meio do ssh, adicionei uma chave ssh pública ao implante do Gitlabs chaves para o projeto (e chaves validadas com git clone [email protected]:myusernamespace/myrepo.git
)
Em seguida, para permitir o acesso do bean de feijão Elastic ao Gitlab, adicionei a mesma chave pública ao ambiente, criando 01_authorized_keys.config
em ebextensions
:
files:
/home/ec2-user/.ssh/authorized_keys:
mode: "000400"
owner: ec2-user
group: ec2-user
content: |
ssh-rsa AAAA{...the existing eb authorized_keys...} existing_authorized_keys_name
ssh-rsa AAAA{...gitlab.pub...} [email protected]
Mas falhou: (
Outras coisas que eu tentei:
authorized_keys
conforme esta resposta
eb deploy
usará ebextensions mesmo que não sejam Tags amazon-web-services