IBM Cloud Docs
Acceso a repositorios de código privado

Acceso a repositorios de código privado

Un repositorio de código, como GitHub o GitLab, almacena el código fuente. Con Code Engine, puede añadir acceso a un repositorio de código privado y, a continuación, hacer referencia a dicho repositorio desde la compilación.

Después de crear el acceso a su repositorio de código privado, puede extraer código de un repositorio, compilarlo y desplegar una app o un trabajo con IBM Cloud® Code Engine.

Creación de acceso a repositorio de código

Al crear acceso a un repositorio de código privado, está guardando credenciales en Code Engine. Estas credenciales se denominan secretos SSH.

Antes de empezar

Elección de una clave SSH para el repositorio de código

Tanto para GitHub y GitLab, puede decidir entre dos tipos de claves SSH para conectarse al repositorio de origen.

  1. Una clave SSH asociada con el repositorio de código fuente; esta clave solo tiene acceso a los repositorios en los que registre la clave SSH. Este acceso es de solo lectura, de forma predeterminada, que es el nivel que Code Engine necesita para descargar el código fuente. Puede seleccionar acceso de escritura, si es necesario. Considere la posibilidad de elegir esta opción para establecer una clave SSH cuyo ámbito son repositorios específicos para controlar el acceso a solo los repositorios especificados.

  2. Una clave SSH asociada con un usuario, por ejemplo, su propia cuenta de usuario o un ID funcional que esté disponible en su organización. Esta clave SSH tiene los permisos de repositorio de la cuenta de usuario. Code Engine requiere acceso de lectura para descargar el código fuente.

    Dado que establecer una clave SSH con ámbito en una cuenta de usuario proporciona acceso a la cuenta completa, es importante tener en cuenta las implicaciones de seguridad cuando elija esta opción.

No cree el archivo de claves SSH con una frase de contraseña segura ya eso haría que el mandato build fallara.

Adición de acceso de repositorio privado desde la consola

Antes de empezar, cree un proyecto.

  1. Una vez que su proyecto esté en estado Activo, haga clic en el nombre de su proyecto en la página Code Engine Projects.
  2. En la página Componentes, pulse Secretos y mapas de configuración.
  3. En la página Secretos y mapas de configuración, pulse Crear para crear el secreto.
  4. En la página Crear secreto o configmap, realice los pasos siguientes:
    1. Seleccione Secreto SSH y pulse Siguiente.
    2. Proporcione un nombre; por ejemplo, mysecret-ssh.
    3. Añada la clave privada SSH para este secreto.
    4. Pulse Crear para crear el secreto.

Ahora que su secreto está creado desde la consola, vaya a la página Secretos y configmaps para ver una lista de los secretos y configmaps definidos. Puede aplicar filtros para personalizar la lista para que se ajuste a sus necesidades.

Puede crear acceso al crear una imagen.

Adición de acceso a repositorio privado con la CLI

A partir de la versión de la CLI 1.42.0, la definición y el trabajo con secretos en la CLI se unifican bajo el grupo de comandos secret grupo de comandos. Consulte los mandatos ibmcloud ce secret. Utilice la opción --format para especificar la categoría del secreto, como basic_auth, generic, hmac, ssh, tls o registry. Aunque puede seguir utilizando el repo grupo de comandos, aproveche las ventajas del grupo de comandos unificado secret unificado. Para crear un secreto para acceder a un servicio con una clave SSH, como para autenticarse en un repositorio Git como GitHub o GitLab, utilice el comando ibmcloud ce secret create --format ssh comando Un secreto SSH también se utiliza como secreto de acceso al repositorio Git. Para obtener más información sobre cómo trabajar con secretos en Code Engine, consulte Trabajar con secretos.

Un secreto SSH contiene las credenciales para acceder al repositorio privado que contiene el código fuente para construir su imagen de contenedor. Un secreto SSH también se utiliza como secreto de acceso al repositorio Git.

Para crear un secreto SSH con la CLI, utilice el mandato secret create --format ssh. Este mandato requiere un nombre y una vía de acceso de clave, y también permite otros argumentos opcionales como, por ejemplo, la vía de acceso al archivo de hosts conocidos. Para obtener una lista completa de las opciones, consulte el mandato ibmcloud ce secret create --format ssh.

Por ejemplo, el siguiente comando crea un secreto SSH que se llama myrepossh a un repositorio en github.com que utiliza su clave privada SSH personal que se encuentra en la ubicación por defecto en su sistema.

Mac OS o Linux®

ibmcloud ce secret create --format ssh --name myrepossh --key-path $HOME/.ssh/id_rsa --known-hosts-path $HOME/.ssh/known_hosts

Windows

ibmcloud ce secret create --format ssh --name myrepossh --key-path "%HOMEPATH%\.ssh\id_rsa" --known-hosts-path "%HOMEPATH%\.ssh\known_hosts"

En la tabla siguiente se resumen las opciones que se utilizan con el mandato repo create en este ejemplo. Para obtener más información sobre el mandato y sus opciones, consulte el mandato ibmcloud ce repo create.

Descripción del mandato
Opción Descripción
--name

El nombre del secreto ssh. Utilice un nombre que sea exclusivo dentro del proyecto. Este valor es obligatorio.

  • El nombre debe empezar y terminar con un carácter alfanumérico en minúsculas.
  • El nombre debe tener 253 caracteres o menos y puede contener letras en minúsculas, números, puntos (.) y guiones (-).
--key-path La vía de acceso local a la clave SSH privada no cifrada. Si utiliza la clave SSH privada personal, este archivo suele estar en $HOME/.ssh/id_rsa (Mac OS o Linux) o en %HOMEPATH%.ssh\id_rsa (Windows). Este valor es obligatorio.
--known-hosts-path La vía de acceso al archivo de hosts conocidos. Este valor es una característica de seguridad para garantizar que la clave privada solo se utiliza para autenticarse en hosts a los que ha accedido anteriormente, específicamente los hosts de GitHub o GitLab. Este archivo se suele hallar en $HOME/.ssh/known_hosts (Mac OS o Linux) o en %HOMEPATH%.ssh\known_hosts (Windows).

Referencia a un repositorio Git privado en una compilación

Puede hacer referencia a un acceso existente o crear acceso al crear una imagen desde la consola.

Referencia a un repositorio Git privado en una compilación desde la consola

Para hacer referencia al repositorio Git privado en una compilación,

  1. Vaya al panel de control de Code Engine.
  2. Seleccione un proyecto (o cree uno).
  3. En la página del proyecto, pulse Compilaciones de imágenes.
  4. En la pestaña Compilación de imagen, pulse Crear.
  5. Para especificar un repositorio privado y añadir acceso, especifique el URL al repositorio en el campo URL de repositorio de código y, a continuación, seleccione el acceso de repositorio de código existente o crear acceso.
  6. Finalice la especificación de información para la compilación y pulse Listo.

Para obtener más información sobre cómo crear imágenes, consulte Creación de una imagen de contenedor.

El repositorio de código URL debe ser un SSH URL como git@github.com:IBM/CodeEngine.git en lugar de un HTTPS URL como https://github.ibm.com/codeengine/ui.

Referencia a un secreto SSH en una compilación con la CLI

Para utilizar un secreto SSH en una compilación, utilice la opción --git-repo-secret cuando ejecute el programa build create o el comando build update comando. Un secreto SSH también se utiliza como secreto de acceso al repositorio Git.

Si tiene una compilación existente, puede actualizarla utilizando el mandato build update.

ibmcloud ce build update --name mybuild --git-repo-secret myrepossh

Si desea crear una nueva compilación, consulte Creación de una configuración de compilación con la CLI.

Próximos pasos para el acceso al repositorio Git

Después de crear el secreto SSH para acceder a un repositorio Git, puede crear imágenes a partir del código fuente en el repositorio privado. Especifique el secreto SSH al ejecutar el mandato build create con la opción --git-repo-secret.