Jenkins, Subversion e SSL certificados

x

privacidade e cookies

Este site usa cookies. Continuando, você aceita seu uso. Consiga mais informação; Por exemplo, sobre como controlar cookies.

entendido

anúncios

trazer de automatizar o lançamento De um projeto Maven, encontramos um problema com certificados e subversão. O problema é que o Subversion não aceita o certificado Sidelabcode. Especificamente, o erro é o seguinte:

Error validating server certificate for 'https://code.sidelab.es:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: code.sidelab.es
- Valid: from Fri, 09 Sep 2011 13:42:29 GMT until Mon, 06 Sep 2021 13:42:29 GMT
- Issuer: Web, Sidelab, ES, Madrid
- Fingerprint: 59:6f:56:07:f5:a8:bf:fe:7a:57:75:37:a8:57:76:8c:0f:9f:6f:9d
(R)eject, accept (t)emporarily or accept (p)ermanently? svn: Commit failed (details follow):
svn: OPTIONS of 'https://code.sidelab.es/svn/optsicomres/res/trunk': Server certificate verification failed: issuer is not trusted (https://code.sidelab.es)
Error validating server certificate for 'https://code.sidelab.es:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: code.sidelab.es
- Valid: from Fri, 09 Sep 2011 13:42:29 GMT until Mon, 06 Sep 2021 13:42:29 GMT
- Issuer: Web, Sidelab, ES, Madrid
- Fingerprint: 59:6f:56:07:f5:a8:bf:fe:7a:57:75:37:a8:57:76:8c:0f:9f:6f:9d
(R)eject, accept (t)emporarily or accept (p)ermanently? svn: OPTIONS of 'https://code.sidelab.es/svn/optsicomres/res': Server certificate verification failed: issuer is not trusted (https://code.sidelab.es)

Em princípio, o problema é resolvido acessando a máquina e fazendo qualquer Subversion on-hand do mesmo usuário com o qual o SVN é executado de Jenkins. No entanto, a coisa não é tão simples, porque é possível que não possamos usar diretamente o usuário para isso de forma interativa. Isso é dado quando o usuário que executa o Jenkins é um usuário sem login, como o usuário do tomcat ou www-data. Então eu vou deixar aqui um método genérico que deve funcionar em (quase) qualquer caso:

  • conectar à máquina com qualquer usuário.
  • executa alguma operação em O repositório, por exemplo, svn info https://miservidor/path/repo.
  • aceita permanentemente o certificado pressionando “p”.
  • copie o arquivo gerado na pasta .subversion/auth/svn.ssl.servers/ Dentro do lar do usuário para a mesma estrutura de pastas dentro da casa do usuário com a qual Jenkins é executado.

com este mecanismo que consegui resolver o problema, e agora você pode fazer commits e qualquer tipo de operação no repositório automaticamente de Jenkins sem problemas.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *