Conexiones para GitLab autoadministrado
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 agregar una acción de código fuente de GitLab autoadministrado en CodePipeline, puede elegir entre las siguientes opciones:
-
Usar el asistente Crear canalización de la consola de CodePipeline o la página Editar acción para elegir la opción de proveedor de GitLab autoadministrado. Consulte Crear una conexión a GitLab autoadministrado (consola) para añadir la acción. La consola le ayuda a crear un recurso de host y un recurso de conexiones.
-
Use la CLI para agregar la configuración de acciones para la acción
CreateSourceConnectioncon el proveedorGitLabSelfManagedy crear sus recursos:-
Para crear sus recursos de conexiones, consulte Crear un host y una conexión a GitLab autoadministrado (CLI) para crear un recurso de host y 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.
Antes de empezar:
-
Debe haber creado una cuenta en GitLab y disponer de GitLab Enterprise Edition o GitLab Community Edition con una instalación autoadministrada. Para obtener más información, consulte https://docs.gitlab.com/ee/subscriptions/self_managed/
. nota
Las conexiones solo dan acceso 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 recursos como CodePipeline. En el caso de los repositorios en grupos, no es necesario que sea el propietario del grupo.
-
Debe haber creado un token de acceso personal (PAT) de GitLab únicamente con el siguiente permiso limitado: api. Para obtener más información, consulte https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html
. Debe ser administrador para crear y utilizar el PAT. nota
Su PAT se utiliza para autorizar el host y las conexiones no la almacenan ni lo utilizan de ningún otro modo. Para configurar un host, puede crear un PAT temporal y, después de configurar el host, puede eliminarlo.
-
Puede elegir configurar el host con antelación. Puede configurar un host con y sin VPC. Para obtener detalles sobre la configuración de la VPC e información adicional sobre la creación de un host, consulte Crear un host.
Temas
Crear una conexión a GitLab autoadministrado (consola)
Siga estos pasos para usar la consola de CodePipeline para agregar una acción de conexiones para el repositorio de GitLab autoadministrado.
nota
Las conexiones de GitLab autoadministrado solo brindan acceso a los repositorios que pertenecen a la cuenta de GitLab autoadministrado que se utilizó para crear la conexión.
Antes de empezar:
Para una conexión de host a GitLab autoadministrado, debe haber completado los pasos para crear un recurso de host para su conexión. Consulte Administrar hosts para conexiones.
Paso 1: Crear o editar la canalización
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 autoadministrado.
-
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 autoadministrado.
-
-
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 autoadministrado. Continúe con el Paso 2: Crear una conexión a GitLab autoadministrado.
-
En Conexión, si aún no ha creado una conexión con su proveedor, elija la conexión y continúe en el paso 3: guardado de la acción de origen de GitLab autoadministrado.
-
Paso 2: creación de una conexión a GitLab autoadministrado
Después de elegir crear la conexión, se muestra la página Conectar a GitLab autoadministrado.
Para conectarse a GitLab autoadministrado
-
En Connection name (Nombre de la conexión), ingrese el nombre para la conexión.
-
En URL, ingrese el punto de conexión para el servidor.
nota
Si la dirección URL proporcionada ya se utilizó para configurar un host para una conexión, se le pedirá que elija el ARN del recurso de host que se creó previamente para ese punto de conexión.
-
Si lanzó su servidor en una Amazon VPC y desea conectarse a su VPC, elija Utilizar una VPC y complete la siguiente información para la VPC.
-
Elija Conectar a GitLab autoadministrado. La conexión creada se muestra con un estado Pendiente. Se crea un recurso de alojamiento para la conexión con la información del servidor que usted proporcionó. Se utiliza la URL para el nombre del alojamiento.
-
Elija Update pending connection (Actualizar conexión pendiente).
-
Si se abre una página con un mensaje de redireccionamiento para confirmar que desea continuar con el proveedor, seleccione Continuar. Introduzca la autorización del proveedor.
-
Aparece la página Configurar
host_name. En Proporcionar token de acceso personal, proporcione a su PAT de GitLab únicamente el siguiente permiso limitado:api.nota
Solo un administrador puede crear y usar el PAT.
Elija Continuar.
-
La página de conexión muestra la conexión creada en un estado Disponible.
Paso 3: Guardar la acción de código fuente de GitLab autoadministrado
Siga estos pasos del asistente o de la página de Editar acción para guardar la acción de origen con la información de conexión.
Para completar y guardar la acción de origen con la conexión
-
En Repository name (Nombre del repositorio), elija el nombre del repositorio de terceros.
-
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 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 autoadministrado utilizando el método predeterminado, elija CodePipeline predeterminado. La acción obtiene acceso a los archivos del repositorio 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.
-
-
Seleccione Siguiente en el asistente o Guardar en la página Editar acción.
Crear un host y una conexión a GitLab autoadministrado (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.
Puede utilizar la AWS Command Line Interface (AWS CLI) para crear un alojamiento para las conexiones instaladas.
Se utiliza un alojamiento para representar el punto de conexión de la infraestructura donde está instalado el proveedor de terceros. Tras completar la creación del host con la CLI, el host pasa a tener el estado Pendiente. A continuación, configure o registre el host para que pase a un estado Disponible. Una vez que el alojamiento esté disponible, complete los pasos para crear una conexión.
Para ello, utilice el comando create-host.
importante
Un alojamiento creado mediante la AWS CLI está en estado Pending de forma predeterminada. Después de crear un host con la CLI, utilice la consola o la CLI para configurar el host de manera que su estado cambie a Available.
Para crear un alojamiento
-
Abra un terminal (Linux, macOS o Unix) o un símbolo del sistema (Windows). Utilice la AWS CLI para ejecutar el comando create-host y especifique
--name,--provider-typey--provider-endpointde la conexión. En este ejemplo, el nombre del proveedor de terceros esGitLabSelfManagedy el punto de conexión esmy-instance.dev.aws codestar-connections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"Si se ejecuta correctamente, este comando devuelve la información del nombre de recurso de Amazon (ARN) del alojamiento, que será similar a lo siguiente.
{ "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }Después de este paso, el alojamiento se encuentra en estado
PENDING. -
Utilice la consola para completar la configuración del alojamiento y que el estado del alojamiento cambie a
Available.
Para crear una conexión a GitLab autoadministrado
-
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
--host-arny--connection-namede la conexión.aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --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" } -
Utilice la consola para configurar la 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" ] } } ] } } ]
-