Crear una configuración de compilación que extrae el código fuente del repositorio privado

Si el código fuente se encuentra en un repositorio privado, cree una configuración de compilación con valores que incluyan información sobre dónde extraer el código fuente de un repositorio privado. Para la salida de compilación, puede elegir especificar detalles de registro junto con un secreto de registro para acceder a la imagen compilada en el registro. O bien, puede dejar que Code Engine se encargue de compilar la imagen automáticamente a partir de su código fuente y de almacenarla en IBM Cloud Container Registry. En este caso, no es necesario especificar un secreto de registro o la ubicación del registro de imágenes.

La creación de una configuración de compilación no crea una imagen, sino que crea la configuración para crear una imagen. Luego debe ejecutar una compilación que haga referencia a la configuración de compilación para crear una imagen. La configuración de compilación no se valida ni se utiliza para crear una imagen hasta que se ejecuta la compilación. La configuración de compilación permite varias compilaciones posteriores de una imagen, por ejemplo cuando se aplican cambios en el repositorio de origen.

Puede elegir ignorar determinados patrones de archivo del código fuente utilizando el archivo .ceignore, que se comporta de forma similar a un archivo .gitignore. Por ejemplo, las entradas de un archivo .ceignore para una aplicación node.js pueden incluir node_modules y .npm. Para obtener más patrones de archivo de ejemplo que ignorar, consulte el repositorioGitHub.gitignore.

Creación de una configuración de compilación desde la consola (repositorio privado)

  1. Vaya al panel de control de Code Engine.

  2. Seleccione el proyecto en el que ha añadido el registro de contenedores.

  3. En la página del proyecto, pulse Compilaciones de imágenes.

  4. En la pestaña Compilación de imagen, pulse Crear. Se abre el panel lateral Especificar detalles de compilación en el que se especifican los detalles de la compilación.

  5. En la sección Origen, especifique un nombre para la compilación, el URL del repositorio de origen y el acceso a repositorio de código.

    • Si el código está en un repositorio privado, utilice un URL SSH para el URL de repositorio de código y seleccione el nombre de un secreto SSH existente o cree un secreto SSH. Un ejemplo de un URL SSH es git@github.com:IBM/CodeEngine.git.
    • Opcionalmente, seleccione un nombre de rama de origen. Si no proporciona un nombre de rama y deja el campo vacío, Code Engine utiliza automáticamente la rama predeterminada del repositorio especificado. Puede especificar cualquier otro nombre de rama, etiqueta o ID de confirmación.

    Pulse Siguiente para continuar.

  6. En la sección Estrategia, seleccione la estrategia que desea utilizar.

    • Si selecciona Dockerfile, también puede especificar una vía de acceso alternativa para el Dockerfile.
    • Seleccione el tamaño de la compilación en Recursos de compilación.

    Pulse Siguiente para avanzar a la última sección.

  7. En la sección Salida, especifique los detalles de la imagen de contenedor.

    • Seleccione un secreto de registro existente o pulse Crear secreto de registro para añadir uno nuevo.
    • Si está creando la imagen en una instancia de Container Registry que está en su cuenta, puede seleccionar Code Engine managed secret y Code Engine crea y gestiona el secreto automáticamente.
    • A continuación, seleccione el espacio de nombres, el repositorio y la etiqueta de la imagen que desea crear. Puede elegir Code Engine para crear y gestionar el espacio de nombres en Container Registry.
    • Si la imagen existe en Container Registry, puede seleccionar una de las imágenes existentes o especificar un nuevo repositorio o etiqueta.
  8. Pulse Finalizado para finalizar la creación de la compilación.

Después de crear la configuración de compilación, debe ejecutar la compilación para crear el archivo de imagen. Después de crear el archivo de imagen, puede desplegar una app o ejecutar un trabajo con el archivo de imagen recién creado.

Creación de una configuración de compilación con la CLI (repositorio privado)

Para crear una configuración de compilación con la CLI, utilice el mandato build create. Para ver una lista completa de opciones, consulte el mandato ibmcloud ce build create.

Con el mandato build create, puede dejar que Code Engine se encargue de crear la imagen automáticamente a partir del código fuente y de almacenarla en IBM Cloud Container Registry. Para este caso de acceso automático, no es necesario que especifique un secreto de registro o la ubicación del registro de imágenes. O bien, puede especificar la ubicación para la salida de imagen de compilación y proporcionar un secreto de registro para que Code Engine pueda acceder y enviar el resultado de compilación al registro.

Creación de una configuración de compilación con la CLI (con código fuente de repositorio privado y acceso automático al registro)

En este caso de ejemplo, Code Engine compila una imagen a partir del código fuente del repositorio privado y la carga automáticamente en IBM Cloud Container Registry. Consulte Configuración de autorizaciones para registros de imágenes para obtener más información sobre cómo establecer los permisos necesarios para que Code Engine acceda automáticamente a estas imágenes en Container Registry.

Antes de empezar

Cree una configuración de compilación para compilar una imagen a partir de un repositorio privado y deje que Code Engine almacene automáticamente la imagen y acceda a ella. Por ejemplo, el siguiente mandato de build create crea una configuración de compilación denominada helloworld-build-private que se compila a partir del repositorio de Git https://github.com/myprivaterepo/builds privado, y utiliza la estrategia buildpacks y el tamaño de compilación de medium. Code Engine carga automáticamente la imagen en IBM Cloud Container Registry. Además, como el nombre de rama del repositorio no se especifica con la opción --commit, Code Engine utiliza automáticamente la rama predeterminada del repositorio especificado, que es main para este repositorio de Git. Al no especificar la ubicación del registro de imágenes o un secreto de registro, Code Engine envía la salida de compilación a IBM Cloud Container Registry con acceso automático.

Debido a que el repositorio Git proporcionado es privado, el acceso requiere un secreto de repositorio Git. Como resultado, --source que especifique debe utilizar el protocolo SSH, como por ejemplo git@github.com:myprivaterepo/builds.git. El valor de --source no debe utilizar el formato http o https.

ibmcloud ce build create --name helloworld-build-private --source git@github.com:myprivaterepo/builds.git --context-dir /hello --strategy buildpacks --git-repo-secret myrepo

Después de crear la configuración de compilación, debe ejecutar la compilación para crear el archivo de imagen. Después de crear el archivo de imagen, puede desplegar una app o ejecutar un trabajo con el archivo de imagen recién creado.

Creación de una configuración de compilación con la CLI (con código fuente del repositorio privado y acceso proporcionado por el usuario al registro)

En este caso de ejemplo, Code Engine compila una imagen a partir del código fuente del repositorio privado con un secreto de repositorio de Git que proporciona el usuario y, a continuación, la carga en el registro de contenedor con el acceso de registro proporcionado por el usuario.

Antes de empezar

Cree una configuración de compilación para crear una imagen a partir de un repositorio privado y especifique la ubicación del registro de imágenes para la salida de compilación con un secreto de registro. Con el mandato build create, especifique la opción --image para proporcionar la ubicación del registro de imágenes y especifique la opción --registry-secret para acceder al registro. Por ejemplo, el mandato siguiente crea una configuración de compilación denominada helloworld-build-private que se compila desde el repositorio Git privado https://github.com/myprivaterepo/builds, utiliza la estrategia buildpacks y el tamaño de compilación medium y almacena la imagen en us.icr.io/mynamespace/codeengine-helloworld utilizando el secreto de registro definido en myregistry.

Debido a que el repositorio Git proporcionado es privado, el acceso requiere un secreto de repositorio Git. Como resultado, --source que especifique debe utilizar el protocolo SSH, como por ejemplo git@github.com:myprivaterepo/builds.git. El valor de --source no debe utilizar el formato http o https.

En este ejemplo, el mandato utiliza el tamaño de compilación de medium predeterminado. Como el nombre de rama del repositorio no se especifica con la opción --commit, Code Engine utiliza automáticamente la rama predeterminada del repositorio especificado.

ibmcloud ce build create --name helloworld-build-private --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source git@github.com:myprivaterepo/builds.git --context-dir /hello --strategy buildpacks --git-repo-secret myrepo

Después de crear la configuración de compilación, debe ejecutar la compilación para crear el archivo de imagen. Después de crear el archivo de imagen, puede desplegar una app o ejecutar un trabajo con el archivo de imagen recién creado.