security https teamcity teamcity-7.0 build-agent

security - El agente de construcción de TeamCity se desconecta después de agregar un certificado https autofirmado a teamcity



teamcity-7.0 build-agent (2)

Agregué un certificado autofirmado a mi Teamcity BuildServer para introducir el soporte https para que ahora pueda acceder a él en

https://ServerUrl:8443

(Más detalles sobre cómo here )

El resultado fue que pude acceder al servidor a través de https, pero mi agente de compilación ahora estaba desconectado. ¿Cómo arreglar esto?


Aquí hay un link a la documentación de TeamCity v8 en keytool.

Estaba haciendo esto en un agente de compilación de Windows y tenía un certificado SSL autofirmado en mi servidor de compilación de Amazon Linux. Estos fueron los pasos que tomé:

  1. Fui a construir un servidor en el navegador en Build Agent, es decir, https://teamcity.example.com
  2. Hizo clic en el error del certificado en la URL y descargó el certificado en la máquina local
  3. Exportó el certificado del explorador de certificados en Windows a un archivo cer.
  4. Usó la herramienta para llaves exactamente como se especifica en la documentación.

    > keytool -importcert -file <cert file where it was exported to> -keystore <path to JRE installation>/lib/security/cacerts password: changeit

  5. Reiniciado el agente de compilación y la viola!


El agente de compilación funciona como un cliente para el servidor de compilación y se comunica con él mediante http / https, y resulta que cuando agrega un certificado autofirmado el agente de compilación no lo acepta.

Lo necesitaba

  1. Dígale al agente de compilación la nueva ruta para comunicarse con el servidor.
  2. Informe al agente de construcción que podría confiar en el certificado autofirmado.

Para cambiar la ruta hice lo siguiente (ver esta publicación para más detalles)

Localiza el archivo:
$ TEAMCITY_HOME / buildAgent / conf / buildAgent.properties

Cambiar la propiedad
serverUrl = http: /: // localhost /: 8080 a su nueva URL

Para hacerle saber al agente de compilación que podía confiar en el nuevo certificado, tuve que importarlo al almacén de claves del agente de compilación. Esto se hizo usando keytool:

keytool -importcert -file <cert file> -keystore <agent installation path>/jre/lib/security/cacerts

(a menos que lo haya cambiado, el almacén de claves está protegido por contraseña: changeit )

El equipo de TeamCity describe este proceso con un poco más de detalles here

NOTA
Si necesita recuperar su certificado del almacén de claves de TeamCity buildserver, también puede usar keytool para hacer esto :

keytool -export -alias <alias name> -file <certificate file name> -keystore <Teamcity keystore path>