Conexiones de Gitlab.com
Las conexiones permiten autorizar y establecer configuraciones que asocian al proveedor externo con los recursos de AWS. Para asociar su repositorio de terceros como origen de su canalización, debe usar una conexión.
nota
En lugar de crear o usar una conexión existente en su cuenta, puede usar una conexión compartida con otra Cuenta de AWS. Consulte Uso de una conexión compartida con otra cuenta.
nota
Esta característica no está disponible en las regiones de Asia-Pacífico (Hong Kong), Asia-Pacífico (Hyderabad), Asia-Pacífico (Yakarta), Asia-Pacífico (Melbourne), Asia-Pacífico (Osaka), África (Ciudad del Cabo), Medio Oriente (Baréin), Europa (España), Europa (Zúrich), Israel (Tel Aviv) o AWS GovCloud (Oeste de EE. UU.). Para hacer referencia a otras acciones disponibles, consulte Integraciones de productos y servicios con CodePipeline. Para ver consideraciones sobre esta acción en la región de Europa (Milán), consulte la nota que aparece en Acciones de CodeStarSourceConnection para Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com y GitLab autoadministrado.
Para añadir una acción de origen de GitLab.com en CodePipeline, puede elegir entre las siguientes opciones:
-
Usa el asistente de creación de canalización de la consola CodePipeline o la página Editar acción para elegir la opción de proveedor de GitLab. Consulte Creación de una conexión a GitLab.com (consola) para añadir la acción. La consola le ayuda a crear un recurso de conexiones.
-
Use la CLI para agregar la configuración de acción para la
CreateSourceConnectionacción con el proveedorGitLabde la siguiente manera:-
Para crear sus recursos de conexiones, consulte Creación de una conexión a GitLab (CLI) para crear un recurso de conexiones con la CLI.
-
Utilice el ejemplo
CreateSourceConnectionde configuración de acciones en Acciones de CodeStarSourceConnection para Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com y GitLab autoadministrado para añadir la acción, como se muestra en Crear una canalización (CLI).
-
nota
También puede crear una conexión mediante la consola de Herramientas para desarrolladores, en Configuración. Consulte Crear una conexión.
nota
Al autorizar la instalación de esta conexión en GitLab.com, concede a nuestro servicio permisos para procesar los datos accediendo a la cuenta y puede revocar los permisos en cualquier momento desinstalando la aplicación.
Antes de empezar:
-
Debe haber creado una cuenta con GitLab.com.
nota
Las conexiones solo dan acceso a los repositorios que pertenecen a la cuenta que se utilizó para crear y autorizar la conexión.
nota
Puede crear conexiones a un repositorio en el que tenga el rol de propietario en GitLab y, a continuación, la conexión se puede usar con el repositorio con recursos como CodePipeline. En el caso de los repositorios en grupos, no es necesario que sea el propietario del grupo.
-
Para especificar una fuente para la canalización, debe haber creado ya un repositorio en gitlab.com.
Creación de una conexión a GitLab.com (consola)
Siga estos pasos para usar la consola de CodePipeline para añadir una acción de conexiones para su proyecto en GitLab.
Para crear o editar la canalización
-
Inicie sesión en la consola de CodePipeline.
-
Elija una de las siguientes opciones.
-
Elija Crear canalización. Siga los pasos de Crear una canalización para completar la primera pantalla y seleccione Siguiente. En la página Fuente, en Proveedor de fuente, elija GitLab.
-
Elija editar una canalización existente. Elija Editar y, a continuación, elija Editar etapa. Elija añadir o editar su acción de origen. En la página Editar acción, en Nombre de la acción, introduzca el nombre de la acción. En Proveedor de la acción, elija GitLab.
-
-
Realice una de las siguientes acciones:
-
En Conexión, si aún no ha creado una conexión con su proveedor, seleccione Conectar a GitLab. Continúe con el paso 4 para crear la conexión.
-
En Conexión, si ya ha creado una conexión con su proveedor, seleccione la conexión. Continúe con el paso 9.
nota
Si cierra la ventana emergente antes de que se cree una conexión con Gitlab.com, tendrá que actualizar la página.
-
-
Para crear una conexión a un repositorio de GitLab, en Seleccionar un proveedor, elija GitLab. En Nombre de la conexión, introduzca el nombre de la conexión que desea crear. Elija Connect to GitLab.
-
Cuando aparezca la página de inicio de sesión de GitLab, inicie sesión con las credenciales y, a continuación, elija Iniciar sesión.
-
Si es la primera vez que autoriza la conexión, se muestra una página de autorización con un mensaje solicitando la autorización para la conexión para acceder a la cuenta de Gitlab.com.
Elija Autorizar.
-
El navegador vuelve a la página de la consola de conexiones. En Crear una conexión de GitLab, la nueva conexión se muestra en Nombre de la conexión.
-
Elija Connect to GitLab.
Volverá a la consola de CodePipeline.
nota
Cuando se haya creado correctamente una conexión con Gitlab.com, aparecerá un cartel de confirmación en la ventana principal.
Si no ha iniciado sesión anteriormente en GitLab en la máquina actual, tendrá que cerrar manualmente la ventana emergente.
-
En Nombre del repositorio, elija el nombre de su proyecto en GitLab especificando la ruta del proyecto con el espacio de nombres. Por ejemplo, para un repositorio a nivel de grupo, introduzca el nombre del repositorio en el siguiente formato:
group-name/repository-name. Para obtener más información sobre la ruta y el espacio de nombres, consulte el campopath_with_namespaceen https://docs.gitlab.com/ee/api/projects.html#get-single-project. Para obtener más información sobre el espacio de nombres en GitLab, consulte https://docs.gitlab.com/ee/user/namespace/ . nota
En el caso de los grupos en GitLab, debe especificar manualmente la ruta del proyecto con el espacio de nombres. Por ejemplo, para un repositorio con el nombre
myrepoen un grupomygroup, introduzca lo siguiente:mygroup/myrepo. Puede encontrar la ruta del proyecto con el espacio de nombres en la URL de GitLab. -
En Desencadenadores de canalización, puede agregar desencadenadores si su acción es una acción de CodeConnections. Para configurar los desencadenadores de canalización y, de forma opcional, filtrar con desencadenadores, consulte más información en Agregación de desencadenadores con tipos de eventos de solicitud de inserción o extracción de código.
-
En Nombre de ramificación, elija la ramificación en la que desea que la canalización detecte los cambios de origen.
nota
Si el nombre de la rama no se completa automáticamente, significa que no tienes acceso de propietario al repositorio. El nombre del proyecto no es válido o la conexión utilizada no tiene acceso al proyecto/repositorio.
-
En Output artifact format (Formato del artefacto de salida), debe elegir el formato de los artefactos.
-
Para almacenar artefactos de salida de la acción de GitLab.com utilizando el método predeterminado, elija CodePipeline default (CodePipeline predeterminado). La acción obtiene acceso a los archivos del repositorio de GitLab.com y almacena los artefactos en un archivo ZIP en el almacén de artefactos de canalización.
-
Para almacenar un archivo JSON que contiene una referencia URL al repositorio de manera que las acciones posteriores puedan ejecutar comandos Git directamente, elija Clonación completa. Esta opción solo se puede utilizar en acciones de CodeBuild posteriores.
Si elige esta opción, tendrá que añadir los permisos a su rol de servicio CodeBuild, tal y como se muestra en Agrega permisos de GitClone de CodeBuild para las conexiones a Bitbucket, GitHub, GitHub Enterprise Server o Gitlab.com. Para ver un tutorial que muestra cómo utilizar la opción Clonación completa, consulte Tutorial: Usar una clonación completo con un origen de canalización de GitHub.
-
-
Seleccione guardar la acción de origen y continuar.
Creación de una conexión a GitLab (CLI)
Puede utilizar AWS Command Line Interface (AWS CLI) para crear una conexión.
Para ello, utilice el comando create-connection.
importante
De forma predeterminada, las conexiones que se crean a través de AWS CLI o AWS CloudFormation tienen el estado PENDING. Después de crear una conexión con la CLI o CloudFormation, utilice la consola para modificar la conexión y establecer su estado en AVAILABLE.
Para crear una conexión
-
Abra un terminal (Linux, macOS o Unix) o un símbolo del sistema (Windows). Utilice AWS CLI para ejecutar el comando create-connection y especifique los valores de
--provider-typey--connection-namede la conexión. En este ejemplo, el nombre del proveedor de terceros esGitLaby el nombre especificado para la conexión esMyConnection.aws codestar-connections create-connection --provider-type GitLab --connection-name MyConnectionSi se ejecuta correctamente, este comando devuelve la información del ARN de la conexión, que será similar a lo siguiente.
{ "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f" } -
Utilice la consola para completar la conexión. Para obtener más información, consulte Actualización de una conexión pendiente.
-
De forma predeterminada, la canalización detecta los cambios al enviar el código al repositorio de origen de conexión. Para configurar la configuración del desencadenador de canalización para la publicación manual o para las etiquetas de Git, realiza una de las siguientes acciones:
-
Para configurar la configuración de los desencadenadores de canalización para que comience únicamente con una versión manual, añade la siguiente línea a la configuración:
"DetectChanges": "false", -
Para configurar los desencadenadores de canalización para filtrar con ellos, consulte más información en Agregación de desencadenadores con tipos de eventos de solicitud de inserción o extracción de código. Por ejemplo, lo siguiente se añade al nivel de canalización de la definición de JSON de canalización. En este ejemplo,
release-v0yrelease-v1son las etiquetas de Git que se deben incluir yrelease-v2es la etiqueta de Git que se debe excluir."triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]
-