Skip to content

Credenciales de acceso del host Git

Esta página describe cómo crear credenciales para su host Git (GitHub, GitLab, Gitea, Bitbucket o Azure DevOps)

que Atlantis usará para hacer llamadas a la API.

Crear un usuario de Atlantis (opcional)

Recomendamos crear un nuevo usuario llamado @atlantis (o algo parecido) o usar un usuario de CI dedicado.

Esto no es obligatorio (puede usar un usuario existente o credenciales de GitHub app), sin embargo todos los comentarios que Atlantis escribe vendrán de ese usuario, por lo que podría ser confuso si vienen de una cuenta personal.

Example Comment

Un comentario de ejemplo que viene del usuario @atlantisbot

Generar un token de acceso

Una vez que haya creado un nuevo usuario (o decidido usar uno existente), necesita generar un token de acceso. Continúe leyendo las instrucciones para su host Git específico:

GitHub user

  • Cree un Personal Access Token
  • Cree el token con alcance repo
    • Los siguientes permisos de repositorio son el mínimo requerido:
      • Commit statuses: lectura y escritura (para actualizar el PR con indicadores de los estados de los trabajos de plan/apply/policy)
      • Contents: solo lectura (para obtener los archivos modificados y clonar el repositorio)
      • Metadata: solo lectura (esto se seleccionará automáticamente como obligatorio cuando Contents esté configurado como solo lectura)
      • Pull requests: lectura y escritura (para comentar y reaccionar en el PR)
  • Registre el token de acceso

WARNING

Su usuario de Atlantis también debe tener "Write permissions" (para repos en una organización) o ser un "Collaborator" (para repos en una cuenta de usuario) para poder establecer commit statuses:

Atlantis status

GitHub app

Crear la GitHub App usando Atlantis

WARNING

Disponible en versiones de Atlantis posteriores a 0.13.0.

  • Inicie Atlantis con un nombre de usuario y token falsos de GitHub (atlantis server --gh-user fake --gh-token fake --repo-allowlist 'github.com/your-org/*' --atlantis-url https://$ATLANTIS_HOST). Si instala como una Organization, recuerde agregar --gh-org your-github-org a este comando.

  • Visite https://$ATLANTIS_HOST/github-app/setup y haga clic en Setup para crear la app en GitHub. Será redirigido de vuelta a Atlantis

  • Se mostrará en la pantalla un enlace para instalar su app, junto con sus secretos. Registre las credenciales de su app e instale su app para su usuario/org siguiendo dicho enlace.

  • Cree un archivo con el contenido de la GitHub App Key, por ejemplo atlantis-app-key.pem

  • Reinicie Atlantis con nuevas flags: atlantis server --gh-app-id <your id> --gh-app-key-file atlantis-app-key.pem --gh-webhook-secret <your secret> --write-git-creds --repo-allowlist 'github.com/your-org/*' --atlantis-url https://$ATLANTIS_HOST.

    NOTE: En lugar de usar un archivo para la GitHub App Key, también puede pasar el valor de la clave directamente usando --gh-app-key. También puede crear un archivo de configuración en lugar de usar flags. Vea Server Configuration.

WARNING

Por el momento solo se admite una única instalación por GitHub App.

NOTE

GitHub App maneja las llamadas del webhook por sí misma, por lo tanto no es necesario crear webhooks por separado. Si los webhooks se crearon manualmente, pueden eliminarse al usar GitHub App. De lo contrario, habría 2 llamadas a Atlantis, lo que produciría errores de bloqueo en path/workspace.

Los webhooks pueden crearse manualmente o ser administrados por la GitHub App para los repositorios que activan Atlantis. Si los crea manualmente (vea la sección siguiente), no especifique detalles del webhook en la configuración de la GitHub app. En ambos casos se recomienda encarecidamente proteger los webhooks usando un secreto. Vea Webhook Secrets

Crear manualmente la GitHub app

  • Cree la GitHub app como Administrator

    • Asegúrese de que la app esté registrada / instalada con la organización / usuario
    • Vea la documentación de GitHub app
  • Cree un archivo con el contenido de la GitHub App Key, por ejemplo atlantis-app-key.pem

  • Inicie Atlantis con las siguientes flags: atlantis server --gh-app-id <your id> --gh-installation-id <installation id> --gh-app-key-file atlantis-app-key.pem --gh-webhook-secret <your secret> --write-git-creds --repo-allowlist 'github.com/your-org/*' --atlantis-url https://$ATLANTIS_HOST.

    NOTE: En lugar de usar un archivo para la GitHub App Key, también puede pasar el valor de la clave directamente usando --gh-app-key. También puede crear un archivo de configuración en lugar de usar flags. Vea Server Configuration.

NOTE

Instalar manualmente la GitHub app significa que las credenciales pueden ser compartidas por muchas instalaciones de Atlantis. Esto tiene el beneficio de centralizar el acceso al repositorio para módulos / código compartidos.

NOTE

Los repositorios deben registrarse manualmente con la GitHub app creada para permitir que Atlantis interactúe con Pull Requests.

NOTE

Pasar la flag adicional --gh-app-slug modificará el nombre de la App al publicar comentarios en un Pull Request.

Permisos

GitHub App necesita estos permisos. Estos se configuran automáticamente cuando se crea una GitHub app.

NOTE

Desde v0.19.7, se ha agregado un nuevo permiso para Administration. Si ya ha creado una GitHub app, actualizar Atlantis a v0.19.7 no agregará automáticamente este permiso, por lo que deberá configurarlo manualmente.

Desde v0.22.3, se ha agregado un nuevo permiso para Members, que es requerido para funciones que aplican permisos a los miembros de un equipo de una organización en lugar de a usuarios individuales. Al igual que el permiso Administration anterior, actualizar Atlantis no agregará automáticamente este permiso, por lo que si desea usar funciones que dependen de comprobar la pertenencia a equipos deberá agregarlo manualmente.

Desde v0.30.0, se ha agregado un nuevo permiso para Actions, que es requerido para comprobar si un pull request es mergeable mientras se omite la verificación de apply. Actualizar Atlantis no agregará automáticamente este permiso, por lo que deberá agregarlo manualmente.

TypeAccess
AdministrationRead-only
ChecksRead and write
Commit statusesRead and write
ContentsRead and write
IssuesRead and write
MetadataRead-only (default)
Pull requestsRead and write
WebhooksRead and write
MembersRead-only
ActionsRead-only

GitLab

Gitea

  • Vaya a "Profile and Settings" > "Settings" en Gitea (arriba a la derecha)
  • Vaya a "Applications" en "User Settings" en Gitea
  • Cree un token en "Manage Access Tokens" con los siguientes permisos:
    • issue: Read and Write
    • repository: Read and Write
    • user: Read
  • Registre el token de acceso

Bitbucket Cloud (bitbucket.org)

  • Cree un App Password siguiendo BitBucket Cloud: Create an app password
  • Etiquete la contraseña como "atlantis"
  • Seleccione Pull requests: Read y Write para que Atlantis pueda leer sus pull requests y escribir comentarios en ellos. Si desea habilitar la funcionalidad hide-prev-plan-comments y así eliminar comentarios antiguos, agregue también Account: Read.
  • Registre el token de acceso

Bitbucket Server (aka Stash)

  • Haga clic en su avatar en la parte superior derecha y seleccione Manage account

  • Haga clic en Personal access tokens en la barra lateral

  • Haga clic en Create a token

  • Nombre el token atlantis

  • Dé al token permisos de Project Read y permisos de Pull request Write

  • Haga clic en Create y registre el token de acceso

    NOTE: Atlantis enviará el token como un Bearer Auth to the Bitbucket API en lugar de usar Basic Auth.

Azure DevOps

  • Cree un Personal access token siguiendo Azure DevOps: Use personal access tokens to authenticate
  • Etiquete la contraseña como "atlantis"
  • Los alcances mínimos requeridos para este token son:
    • Code (Read & Write)
    • Code (Status)
    • Member Entitlement Management (Read)
  • Registre el token de acceso

Pasos siguientes

Una vez que tenga su usuario y token de acceso, estará listo para crear un secreto de webhook. Vea Creating a Webhook Secret.

Copyright Atlantis a Series of LF Projects, LLC. Para los términos de uso del sitio web, la política de marcas y otras políticas del proyecto, consulta LF Projects, LLC Policies.