Jenkins en Openshift no puede clonar el repo

Soy nuevo tanto para Jenkins como para Openshift, así que me ato un poco.

Configuré Jenkins y lo señalé para mi repo de github, pero no puedo clonarlo porque no puedo encontrar ningún lugar para almacenar mis cnetworkingenciales de git, y cuando entro en la caja de jenkins no puedo acceder a ~ / .ssh para crear nuevas keys o encontrar las que están allí. Un problema adicional también puede ser que mi git repo es privado.

Lo intenté en google pero no encontré nada. ¿Cómo le permito a Jenkins acceder a mi repository privado de git?

edit: ok encontré en manage, luego configuré un lugar para el nombre de usuario y el correo electrónico. luego hice ssh'd y usé ssh-keygen para crear la key ssh en .openshift_ssh y agregué esto a github, primero como una key ssh normal, luego como una key de implementación, y luego la misma en la aplicación-raíz / datos /.ssh pero todavía nada

Puedes intentar y seguir " Construyendo un proyecto alojado en Github usando una instancia de Openshift Jenkins " de Ramzi Maâlej.

Asegúrese de que Openshift no otorgue permiso de escritura en varias carpetas en una instancia de Jenkins, como: .ssh , .m2 . (o ssh no funcionaría de todos modos, porque el derecho en las carpetas es "demasiado permisivo")
Solo eso podría ser la fuente de tus problemas, pero si eso no es suficiente, sigue leyendo.

Entonces:

 rhc ssh buildserver mkdir app-root/data/git-ssh ssh-keygen -t rsa -b 4096 -C "youremail@yourdomain.com" -f $OPENSHIFT_DATA_DIR/git-ssh/id_rsa 

Implemente su $OPENSHIFT_DATA_DIR/git-ssh/id_rsa.pub en su count de GitHub

Cree un script ssh-wrapper.sh que haga lo siguiente:

 #!/bin/bash ID_RSA="$OPENSHIFT_DATA_DIR/git-ssh/id_rsa" KNOWN_HOSTS="$OPENSHIFT_DATA_DIR/git-ssh/known_hosts" ssh -o UserKnownHostsFile=$KNOWN_HOSTS -i $ID_RSA $1 $2 

No olvides hacer que sea ejecutable: chmod +x ssh-wrapper.sh

Pruébalo:

  ./ssh-wrapper.sh -T git@github.com Hi Jenkins! You've successfully authenticated, but GitHub does not provide shell access. 

Finalmente, configure Jenkins:

vaya a Manage Jenkins > Configure System > Global Properties y cree una nueva variable de entorno llamada GIT_SSH que GIT_SSH reference a la location donde creó su contenedor.

SSH en su aplicación Jenkins y use la key pública contenida en $OPENSHIFT_DATA_DIR/.ssh/jenkins_id_rsa.pub como su key de implementación Github / Gitlab / Bitbucket.

Intereting Posts