Eu estava seguindo este tutorial :
node {
git url: 'https://github.com/joe_user/simple-maven-project-with-tests.git'
...
}
No entanto, não diz como adicionar credenciais. O Jenkins tem uma seção específica de "Credenciais", onde você define usuário e senha de usuário e, em seguida, obtém a ID para usar em jobs, mas como faço para usar isso nas instruções do Pipeline?
Eu tentei com:
git([url: '[email protected]:company/repo.git', branch: 'master', credentialsId: '12345-1234-4696-af25-123455'])
sem sorte:
stderr: Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Existe uma maneira de configurar os creds no pipeline ou eu tenho que colocar as chaves SSH no arquivo .ssh / authorized_keys do usuário do Jenkin Linux?
No mundo ideal, eu gostaria de ter um repositório para trabalhos de pipeline e repo-keys, iniciar o Docker Jenkins e adicionar dinamicamente esses trabalhos e chaves sem precisar configurar nada no Console do Jenkins.
fonte
credentialsId
vem do id,/var/lib/jenkins/credentials.xml
pois tive que lutar para descobrir.http://yourjenkinsinstall/credentials
). Não há necessidade de vasculhar os arquivos de configuração.ssh://
. Removendo e consertando.Para finalizar a compra explicitamente usando uma credencial específica
Para finalizar a compra com base nas credenciais configuradas no Jenkins Job atual
Você pode usar os dois estágios em um único arquivo Jenkins.
fonte
Se você quiser usar credenciais ssh,
se quiser usar credenciais de nome de usuário e senha, você precisa usar o clone http como @Serban mencionado.
fonte
Adding new global credentials -> 7.
seguinte link. jenkins.io/doc/book/using/using-credentialsAdicionando a você um exemplo rápido usando o plugin git GitSCM :
em seu pipeline
fonte
checkout
exemplo simples como este, obrigado.Pelo que vale a pena acrescentar à discussão ... o que eu fiz que acabou me ajudando ... Já que o pipeline é executado dentro de um espaço de trabalho dentro de uma imagem do docker que é limpa cada vez que é executado. Peguei as credenciais necessárias para executar as operações necessárias no repo dentro do meu pipeline e as armazenei em um arquivo .netrc. isso me permitiu autorizar as operações de repositório git com sucesso.
fonte
Resolveu para mim usando
fonte