1
0
mirror of synced 2026-01-07 00:01:39 -05:00

Merge pull request #17778 from github/repo-sync

repo sync
This commit is contained in:
Octomerger Bot
2022-05-11 20:57:04 -05:00
committed by GitHub
1007 changed files with 6502 additions and 3605 deletions

View File

@@ -49,7 +49,7 @@ También puedes ver si un propietario de empresa tiene un rol específico en la
| Propietario de empresa | Propietario de la organización | Puede configurar los ajustes de la organización y administrar el acceso a los recursos de la misma mediante equipos, etc. |
| Propietario de empresa | Miembro de la organización | Puede acceder a los recursos y contenido de la organización, tales como repositorios, sin acceder a los ajustes de la misma. |
Para revisar todos los roles en una organización, consulta la sección "[Roles en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)". {% ifversion ghec %} Los miembros de la organización también pueden tener roles personalizados para un repositorio específico. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)".{% endif %}
Para revisar todos los roles en una organización, consulta la sección "[Roles en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)". {% if custom-repository-roles %} Los miembros de la organización también pueden tener roles personalizados para un repositorio específico. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)".{% endif %}
Para obtener más información sobre el rol de propietario de empresa, consulta la sección "[Roles en una empresa](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owner)".

View File

@@ -22,7 +22,7 @@ shortTitle: Crear & probar con Java & Gradle
## Introducción
Esta guía te muestra cómo crear un flujo de trabajo que realiza la integración continua (CI) para tu proyecto Java usando el sistema de construcción Gradle. El flujo de trabajo que creas te permitirá ver cuándo las confirmaciones de una solicitud de extracción causan la construcción o las fallas de prueba en tu rama por defecto; este enfoque puede ayudar a garantizar que tu código siempre sea correcto. Puedes extender tu flujo de trabajo de CI para almacenar en caché los archivos y cargar artefactos desde una ejecución de flujo de trabajo.
Esta guía te muestra cómo crear un flujo de trabajo que realiza la integración continua (CI) para tu proyecto Java usando el sistema de construcción Gradle. El flujo de trabajo que creas te permitirá ver cuándo las confirmaciones de una solicitud de extracción causan la construcción o las fallas de prueba en tu rama por defecto; este enfoque puede ayudar a garantizar que tu código siempre sea correcto. You can extend your CI workflow to {% if actions-caching %}cache files and{% endif %} upload artifacts from a workflow run.
{% ifversion ghae %}
{% data reusables.actions.self-hosted-runners-software %}
@@ -110,12 +110,16 @@ steps:
arguments: -b ci.gradle package
```
{% if actions-caching %}
## Almacenar dependencias en caché
Cuando utilizas ejecutores hospedados en {% data variables.product.prodname_dotcom %}, tus dependencias de compilación pueden almacenarse en caché para acelerar tus ejecuciones de flujo de trabajo. Después de una ejecución exitosa, la `gradle/gradle-build-action` guarda en caché las partes importantes del directorio principal del usuario de Gradle. En los jobs futuros, el caché se restablecerá para que los scripts de compilación no necesiten recompilarse y las dependencias no necesiten descargarse desde los repositorios de paquetes remotos.
Your build dependencies can be cached to speed up your workflow runs. Después de una ejecución exitosa, la `gradle/gradle-build-action` guarda en caché las partes importantes del directorio principal del usuario de Gradle. En los jobs futuros, el caché se restablecerá para que los scripts de compilación no necesiten recompilarse y las dependencias no necesiten descargarse desde los repositorios de paquetes remotos.
El almacenamiento en caché se habilita predeterminadamente cuando se utiliza la acción `gradle/gradle-build-action`. Para obtener más información, consulta [`gradle/gradle-build-action`](https://github.com/gradle/gradle-build-action#caching).
{% endif %}
## Empaquetar datos de flujo de trabajo como artefactos
Una vez que tu compilación haya tenido éxito y tus pruebas hayan pasado, es posible que desees cargar los paquetes Java resultantes como un artefacto de construcción. Esto almacenará los paquetes construidos como parte de la ejecución del flujo de trabajo y te permitirá descargarlos. Los artefactos pueden ayudarte a probar y depurar solicitudes de extracción en tu entorno local antes de que se fusionen. Para obtener más información, consulta "[Conservar datos de flujo de trabajo mediante artefactos](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts)."

View File

@@ -22,7 +22,7 @@ shortTitle: Crear & probar en Java con Maven
## Introducción
Esta guía te muestra cómo crear un flujo de trabajo que realiza la integración continua (CI) para tu proyecto Java utilizando la herramienta de gestión de proyectos de software Maven. El flujo de trabajo que creas te permitirá ver cuándo las confirmaciones de una solicitud de extracción causan la construcción o las fallas de prueba en tu rama por defecto; este enfoque puede ayudar a garantizar que tu código siempre sea correcto. Puedes extender tu flujo de trabajo de CI para almacenar en caché los archivos y cargar artefactos desde una ejecución de flujo de trabajo.
Esta guía te muestra cómo crear un flujo de trabajo que realiza la integración continua (CI) para tu proyecto Java utilizando la herramienta de gestión de proyectos de software Maven. El flujo de trabajo que creas te permitirá ver cuándo las confirmaciones de una solicitud de extracción causan la construcción o las fallas de prueba en tu rama por defecto; este enfoque puede ayudar a garantizar que tu código siempre sea correcto. You can extend your CI workflow to {% if actions-caching %}cache files and{% endif %} upload artifacts from a workflow run.
{% ifversion ghae %}
{% data reusables.actions.self-hosted-runners-software %}
@@ -99,9 +99,11 @@ steps:
run: mvn --batch-mode --update-snapshots verify
```
{% if actions-caching %}
## Almacenar dependencias en caché
Cuando utilizas ejecutores hospedados en {% data variables.product.prodname_dotcom %}, puedes guardar tus dependencias en el caché para acelerar tus ejecuciones de flujo de trabajo. Después de una ejecución exitosa, tu repositorio Maven local se almacenará en la infraestructura de acciones de GitHub. En las ejecuciones de flujo de trabajo futuras, el caché se restaurará para que las dependencias no necesiten descargarse desde los repositorios remotos de Maven. Puedes guardar las dependencias en caché utilizando simplemente la [acción `setup-java`](https://github.com/marketplace/actions/setup-java-jdk) o puedes utilizar la [Acción `cache`](https://github.com/actions/cache) para tener una configuración personalizada y más avanzada.
Puedes almacenar en caché tus dependencias para acelerar tus ejecuciones de flujo de trabajo. After a successful run, your local Maven repository will be stored in a cache. En las ejecuciones de flujo de trabajo futuras, el caché se restaurará para que las dependencias no necesiten descargarse desde los repositorios remotos de Maven. Puedes guardar las dependencias en caché utilizando simplemente la [acción `setup-java`](https://github.com/marketplace/actions/setup-java-jdk) o puedes utilizar la [Acción `cache`](https://github.com/actions/cache) para tener una configuración personalizada y más avanzada.
```yaml{:copy}
steps:
@@ -118,6 +120,8 @@ steps:
Este flujo de trabajo guardará los contenidos de tu repositorio local de Maven, ubicado en el directorio `.m2` del directorio de inicio del ejecutor. La clave de caché será el contenido con hash de _pom.xml_, por lo que los cambios en _pom.xml_ invalidará el caché.
{% endif %}
## Empaquetar datos de flujo de trabajo como artefactos
Una vez que tu compilación haya tenido éxito y tus pruebas hayan pasado, es posible que desees cargar los paquetes Java resultantes como un artefacto de construcción. Esto almacenará los paquetes construidos como parte de la ejecución del flujo de trabajo y te permitirá descargarlos. Los artefactos pueden ayudarte a probar y depurar solicitudes de extracción en tu entorno local antes de que se fusionen. Para obtener más información, consulta "[Conservar datos de flujo de trabajo mediante artefactos](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts)."

View File

@@ -120,7 +120,7 @@ steps:
run: dotnet add package Newtonsoft.Json --version 12.0.1
```
{% ifversion fpt or ghec %}
{% if actions-caching %}
### Almacenar dependencias en caché

View File

@@ -136,7 +136,7 @@ Si no especificas una versión de Node.js, {% data variables.product.prodname_do
Los ejecutores alojados en {% data variables.product.prodname_dotcom %} tienen instalados administradores de dependencias de npm y Yarn. Puedes usar npm y Yarn para instalar dependencias en tu flujo de trabajo antes de construir y probar tu código. Los ejecutores Windows y Linux alojados en {% data variables.product.prodname_dotcom %} también tienen instalado Grunt, Gulp y Bower.
Cuando utilizas ejecutores hospedados en {% data variables.product.prodname_dotcom %}, también puedes guardar las dependencias en el caché para acelerar tu flujo de trabajo. Para obtener más información, consulta la sección "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Almacenar las dependencias en caché para agilizar los flujos de trabajo</a>".
{% if actions-caching %}You can also cache dependencies to speed up your workflow. For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)."{% endif %}
### Ejemplo con npm
@@ -228,9 +228,11 @@ El ejemplo anterior crea un archivo *.npmrc* con el siguiente contenido:
always-auth=true
```
{% if actions-caching %}
### Ejemplo de dependencias en caché
Cuando utilices ejecutores hospedados en {% data variables.product.prodname_dotcom %}, puedes guardarlos en caché y restablecer las dependencias utilizando la [acción `setup-node`](https://github.com/actions/setup-node).
You can cache and restore the dependencies using the [`setup-node` action](https://github.com/actions/setup-node).
El siguiente ejemplo guarda las dependencias en caché para npm.
@@ -278,7 +280,9 @@ steps:
- run: pnpm test
```
Si tienes un requisito personalizado o necesitas controles más exactos para almacenar en caché, puedes utilizar la [acción `cache`](https://github.com/marketplace/actions/cache). Para obtener más información, consulta la sección "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Almacenar las dependencias en caché para agilizar los flujos de trabajo</a>".
Si tienes un requisito personalizado o necesitas controles más exactos para almacenar en caché, puedes utilizar la [acción `cache`](https://github.com/marketplace/actions/cache). Para obtener más información, consulta la sección "[Almacenar las dependencias en caché para agilizar los flujos de trabajo](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)".
{% endif %}
## Construir y probar tu código

View File

@@ -104,7 +104,7 @@ The table below describes the locations for various PowerShell modules in each {
{% endnote %}
When using {% data variables.product.prodname_dotcom %}-hosted runners, you can also cache dependencies to speed up your workflow. For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching dependencies to speed up workflows</a>."
{% if actions-caching %}You can also cache dependencies to speed up your workflow. For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)."{% endif %}
For example, the following job installs the `SqlServer` and `PSScriptAnalyzer` modules:
@@ -128,9 +128,11 @@ jobs:
{% endnote %}
{% if actions-caching %}
### Caching dependencies
When using {% data variables.product.prodname_dotcom %}-hosted runners, you can cache PowerShell dependencies using a unique key, which allows you to restore the dependencies for future workflows with the [`cache`](https://github.com/marketplace/actions/cache) action. For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching dependencies to speed up workflows</a>."
You can cache PowerShell dependencies using a unique key, which allows you to restore the dependencies for future workflows with the [`cache`](https://github.com/marketplace/actions/cache) action. For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)."
PowerShell caches its dependencies in different locations, depending on the runner's operating system. For example, the `path` location used in the following Ubuntu example will be different for a Windows operating system.
@@ -151,6 +153,8 @@ steps:
Install-Module SqlServer, PSScriptAnalyzer -ErrorAction Stop
```
{% endif %}
## Testing your code
You can use the same commands that you use locally to build and test your code.

View File

@@ -197,7 +197,7 @@ We recommend using `setup-python` to configure the version of Python used in you
{% data variables.product.prodname_dotcom %}-hosted runners have the pip package manager installed. You can use pip to install dependencies from the PyPI package registry before building and testing your code. For example, the YAML below installs or upgrades the `pip` package installer and the `setuptools` and `wheel` packages.
When using {% data variables.product.prodname_dotcom %}-hosted runners, you can also cache dependencies to speed up your workflow. For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching dependencies to speed up workflows</a>."
{% if actions-caching %}You can also cache dependencies to speed up your workflow. For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)."{% endif %}
```yaml{:copy}
steps:
@@ -227,9 +227,11 @@ steps:
pip install -r requirements.txt
```
{% if actions-caching %}
### Caching Dependencies
When using {% data variables.product.prodname_dotcom %}-hosted runners, you can cache and restore the dependencies using the [`setup-python` action](https://github.com/actions/setup-python).
You can cache and restore the dependencies using the [`setup-python` action](https://github.com/actions/setup-python).
The following example caches dependencies for pip.
@@ -244,10 +246,12 @@ steps:
- run: pip test
```
By default, the `setup-python` action searches for the dependency file (`requirements.txt` for pip or `Pipfile.lock` for pipenv) in the whole repository. For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching packages dependencies</a>" in the `setup-python` actions README.
By default, the `setup-python` action searches for the dependency file (`requirements.txt` for pip or `Pipfile.lock` for pipenv) in the whole repository. For more information, see "[Caching packages dependencies](https://github.com/actions/setup-python#caching-packages-dependencies)" in the `setup-python` README.
If you have a custom requirement or need finer controls for caching, you can use the [`cache` action](https://github.com/marketplace/actions/cache). Pip caches dependencies in different locations, depending on the operating system of the runner. The path you'll need to cache may differ from the Ubuntu example above, depending on the operating system you use. For more information, see [Python caching examples](https://github.com/actions/cache/blob/main/examples.md#python---pip) in the `cache` action repository.
{% endif %}
## Testing your code
You can use the same commands that you use locally to build and test your code.

View File

@@ -144,9 +144,11 @@ steps:
- run: bundle install
```
{% if actions-caching %}
### Almacenar dependencias en caché
Si estás utilizando ejecutores hospedados en {% data variables.product.prodname_dotcom %}, las acciones de `setup-ruby` proporcionarán un método para manejar automáticamente el guardado en caché de tus gemas entre ejecuciones.
The `setup-ruby` actions provides a method to automatically handle the caching of your gems between runs.
Para habilitar el guardado en caché, configura lo siguiente.
@@ -159,11 +161,11 @@ steps:
```
{% endraw %}
Esto configurará a bundler para que instale tus gemas en `vendor/cache`. Para cada ejecución exitosa de tu flujo de trabajo, Actions guardará esta carpeta en caché y volverá a descargarse para cualquier ejecución de flujo de trabajo subsecuente. Se utiliza un hash de tu gemfile.lock y de la versión de Ruby como la clave de caché. Si instalas cualquier gema nueva o cambias una versión, el caché se invalidará y bundler realizará una instalación desde cero.
Esto configurará a bundler para que instale tus gemas en `vendor/cache`. For each successful run of your workflow, this folder will be cached by {% data variables.product.prodname_actions %} and re-downloaded for subsequent workflow runs. Se utiliza un hash de tu gemfile.lock y de la versión de Ruby como la clave de caché. Si instalas cualquier gema nueva o cambias una versión, el caché se invalidará y bundler realizará una instalación desde cero.
**Guardar en caché sin setup-ruby**
Para tener un mejor control sobre el guardado en caché, si estás utilizando ejecutores hospedados en {% data variables.product.prodname_dotcom %}, puedes utilizar la acción `actions/cache` directamente. Para obtener más información, consulta la sección "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Almacenar las dependencias en caché para agilizar los flujos de trabajo</a>".
For greater control over caching, you can use the `actions/cache` action directly. Para obtener más información, consulta la sección "[Almacenar las dependencias en caché para agilizar los flujos de trabajo](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)".
```yaml
steps:
@@ -195,6 +197,8 @@ steps:
bundle install --jobs 4 --retry 3
```
{% endif %}
## Probar tu código en matrices
La siguiente matriz de ejemplo prueba todos los lanzamientos estables y versiones principales de MRI, JRuby y TruffleRuby en Ubuntu y macOS.

View File

@@ -75,7 +75,7 @@ Antes de comenzar, deberás crear un repositorio en {% ifversion ghae %}{% data
outputs:
random-number:
description: "Random number"
value: ${{ steps.random-number-generator.outputs.random-id }}
value: ${{ steps.random-number-generator.outputs.random-number }}
runs:
using: "composite"
steps:

View File

@@ -286,7 +286,7 @@ steps:
**Ejemplo: Utilizando funciones de verificación de estado**
`my backup step` solo se ejecutará cuando falle el paso previo de una acción compuesta. Para obtener más información, consulta la sección "[Expresiones](/actions/learn-github-actions/expressions#job-status-check-functions)".
`my backup step` solo se ejecutará cuando falle el paso previo de una acción compuesta. Para obtener más información, consulta la sección "[Expresiones](/actions/learn-github-actions/expressions#status-check-functions)".
```yaml
steps:

View File

@@ -31,7 +31,7 @@ Puedes configurar tu flujo de trabajo de DC para que se ejecute cuando ocurra un
{% data variables.product.prodname_actions %} Proporciona características que te dan más control sobre los despliegues. Por ejemplo, puedes utilizar ambientes para requerir aprobaciones para que proceda un job, restringir que ramas pueden activar un flujo de trabajo o limitar el acceso a los secretos. {% ifversion fpt or ghae or ghes > 3.1 or ghec %}Puedes utilizar la concurrencia para limitar tu mapa de DC a un máximo de un despliegue en curso y uno pendiente. {% endif %}Para obtener más información sobre estas características, consulta las secciones "[Desplegar con las Github Actions](/actions/deployment/deploying-with-github-actions)" y "[Utilizar ambientes para despliegue](/actions/deployment/using-environments-for-deployment)".
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
## Utilizar OpenID Connect para acceder a los recursos en la nube

View File

@@ -26,7 +26,7 @@ Esta guía te explica cómo utilizar las {% data variables.product.prodname_acti
En cada subida nueva a `main` en tu repositorio de {% data variables.product.company_short %}, el flujo de trabajo de las {% data variables.product.prodname_actions %} creará y subirá una imagen de contenedor nueva hacia el ECR de Amazon y luego desplegará una definición de tarea nueva hacia el ECS de Amazon.
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -21,7 +21,7 @@ topics:
Esta guía te explica cómo utilizar las {% data variables.product.prodname_actions %} para compilar y desplegar un contenedor de Docker a [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -20,7 +20,7 @@ topics:
Esta guía te explica cómo utilizar las {% data variables.product.prodname_actions %} para compilar y desplegar un proyecto de Java a [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -19,7 +19,7 @@ topics:
Esta guía te explica cómo utilizar las {% data variables.product.prodname_actions %} para compilar y desplegar un proyecto de .NET a [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -25,7 +25,7 @@ topics:
Esta guía explica cómo utilizar las {% data variables.product.prodname_actions %} para compilar, probar y desplegar un proyecto de Node.js a [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -19,7 +19,7 @@ topics:
Esta guía te explica cómo utilizar las {% data variables.product.prodname_actions %} para compilar y desplegar un proyecto de PHP hacia [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -20,7 +20,7 @@ topics:
Esta guía te explica cómo utilizar las {% data variables.product.prodname_actions %} para compilar y desplegar un proyecto de Python hacia [Azure App Service](https://azure.microsoft.com/services/app-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -20,7 +20,7 @@ topics:
Esta guía te explica cómo utilizar las {% data variables.product.prodname_actions %} para crear y desplegar un proyecto a [Azure Kubernetes Service](https://azure.microsoft.com/services/kubernetes-service/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -20,7 +20,7 @@ topics:
Esta guía te explica cómo utilizar las {% data variables.product.prodname_actions %} para compilar y desplegar una app web a [Azure Static Web Apps](https://azure.microsoft.com/services/app-service/static/).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -26,7 +26,7 @@ Esta guía te explica cómo utilizar las {% data variables.product.prodname_acti
GKE es un agrupamiento administrado de Kubernetes de Google Cloud que puede hospedar tus cargas de trabajo contenerizadas en la nube o en tu propio centro de datos. Para obtener más información, consulta la página de [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine).
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -7,6 +7,7 @@ versions:
fpt: '*'
ghae: issue-4856
ghec: '*'
ghes: '>=3.5'
type: tutorial
topics:
- Security
@@ -66,11 +67,14 @@ The following example OIDC token uses a subject (`sub`) that references a job en
"jti": "example-id",
"sub": "repo:octo-org/octo-repo:environment:prod",
"environment": "prod",
"aud": "https://github.com/octo-org",
"aud": "{% ifversion ghes %}https://HOSTNAME{% else %}https://github.com{% endif %}/octo-org",
"ref": "refs/heads/main",
"sha": "example-sha",
"repository": "octo-org/octo-repo",
"repository_owner": "octo-org",
"actor_id": "12",
"repository_id": "74",
"repository_owner_id": "65",
"run_id": "example-run-id",
"run_number": "10",
"run_attempt": "2",
@@ -81,21 +85,22 @@ The following example OIDC token uses a subject (`sub`) that references a job en
"event_name": "workflow_dispatch",
"ref_type": "branch",
"job_workflow_ref": "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main",
"iss": "https://token.actions.githubusercontent.com",
"iss": "{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}",
"nbf": 1632492967,
"exp": 1632493867,
"iat": 1632493567
}
```
To see all the claims supported by {% data variables.product.prodname_dotcom %}'s OIDC provider, review the `claims_supported` entries at https://token.actions.githubusercontent.com/.well-known/openid-configuration.
To see all the claims supported by {% data variables.product.prodname_dotcom %}'s OIDC provider, review the `claims_supported` entries at
{% ifversion ghes %}`https://HOSTNAME/_services/token/.well-known/openid-configuration`{% else %}https://token.actions.githubusercontent.com/.well-known/openid-configuration{% endif %}.
The token includes the standard audience, issuer, and subject claims:
| Claim | Description |
| ----------- | ---------------------- |
| `aud`| _(Audience)_ By default, this is the URL of the repository owner, such as the organization that owns the repository. This is the only claim that can be customized. You can set a custom audience with a toolkit command: [`core.getIDToken(audience)`](https://www.npmjs.com/package/@actions/core/v/1.6.0) |
| `iss`| _(Issuer)_ The issuer of the OIDC token: `https://token.actions.githubusercontent.com` |
| `iss`| _(Issuer)_ The issuer of the OIDC token: {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} |
| `sub`| _(Subject)_ Defines the subject claim that is to be validated by the cloud provider. This setting is essential for making sure that access tokens are only allocated in a predictable way.|
The OIDC token also includes additional standard claims:
@@ -115,6 +120,7 @@ The token also includes custom claims provided by {% data variables.product.prod
| Claim | Description |
| ----------- | ---------------------- |
| `actor`| The personal account that initiated the workflow run. |
| `actor_id`| The ID of personal account that initiated the workflow run. |
| `base_ref`| The target branch of the pull request in a workflow run. |
| `environment`| The name of the environment used by the job. |
| `event_name`| The name of the event that triggered the workflow run. |
@@ -123,7 +129,9 @@ The token also includes custom claims provided by {% data variables.product.prod
| `ref`| _(Reference)_ The git ref that triggered the workflow run. |
| `ref_type`| The type of `ref`, for example: "branch". |
| `repository`| The repository from where the workflow is running. |
| `repository_id`| The ID of the repository from where the workflow is running. |
| `repository_owner`| The name of the organization in which the `repository` is stored. |
| `repository_owner_id`| The ID of the organization in which the `repository` is stored. |
| `run_id`| The ID of the workflow run that triggered the workflow. |
| `run_number`| The number of times this workflow has been run. |
| `run_attempt`| The number of times this workflow run has been retried. |
@@ -201,7 +209,7 @@ To configure the subject in your cloud provider's trust relationship, you must a
| | |
| ------ | ----------- |
| Amazon Web Services | `"token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/demo-branch"` |
| Amazon Web Services | `"{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:sub": "repo:octo-org/octo-repo:ref:refs/heads/demo-branch"` |
| Azure| `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` |
| Google Cloud Platform| `(assertion.sub=='repo:octo-org/octo-repo:ref:refs/heads/demo-branch')` |
| HashiCorp Vault| `bound_subject="repo:octo-org/octo-repo:ref:refs/heads/demo-branch" ` |

View File

@@ -7,6 +7,7 @@ versions:
fpt: '*'
ghae: issue-4856
ghec: '*'
ghes: '>=3.5'
type: tutorial
topics:
- Security
@@ -31,7 +32,7 @@ This guide explains how to configure AWS to trust {% data variables.product.prod
To add the {% data variables.product.prodname_dotcom %} OIDC provider to IAM, see the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html).
- For the provider URL: Use `https://token.actions.githubusercontent.com`
- For the provider URL: Use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}
- For the "Audience": Use `sts.amazonaws.com` if you are using the [official action](https://github.com/aws-actions/configure-aws-credentials).
### Configuring the role and trust policy
@@ -42,9 +43,9 @@ Edit the trust relationship to add the `sub` field to the validation conditions.
```json{:copy}
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
"token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch"
"ForAllValues:StringEquals": {
"{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:aud": "sts.amazonaws.com",
"{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch"
}
}
```

View File

@@ -7,6 +7,7 @@ versions:
fpt: '*'
ghae: issue-4856
ghec: '*'
ghes: '>=3.5'
type: tutorial
topics:
- Security

View File

@@ -7,6 +7,7 @@ versions:
fpt: '*'
ghae: issue-4856
ghec: '*'
ghes: '>=3.5'
type: tutorial
topics:
- Security

View File

@@ -7,6 +7,7 @@ versions:
fpt: '*'
ghae: issue-4856
ghec: '*'
ghes: '>=3.5'
type: tutorial
topics:
- Security
@@ -39,7 +40,7 @@ Orientación adicional para configurar el proveedor de identidad:
- Para fortalecer la seguridad, asegúrate de haber revisado la sección ["Configurar la confianza de OIDC con la nube"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud). Por ejemplo, consulta ["Configurar el tema en tu proveedor de servicios en la nube"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-subject-in-your-cloud-provider).
- Para que la cuenta de servicio esté disponible para su configuración, esta necesita estar asignada al rol `roles/iam.workloadIdentityUser`. Para obtener más información, consulta la "[Documentación de GCP](https://cloud.google.com/iam/docs/workload-identity-federation?_ga=2.114275588.-285296507.1634918453#conditions)".
- La URL emisora a utilizar: `https://token.actions.githubusercontent.com`
- The Issuer URL to use: {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}
## Actualizar tu flujo de trabajo de {% data variables.product.prodname_actions %}

View File

@@ -7,6 +7,7 @@ versions:
fpt: '*'
ghae: issue-4856
ghec: '*'
ghes: '>=3.5'
type: tutorial
topics:
- Security
@@ -32,8 +33,8 @@ Esta guía te proporciona un resumen de cómo configurar HashiCorp Vault para qu
Para utilizar OIDC con HashiCorp Vault, necesitarás agregar una configuración de confianza para el proveedor de OIDC de {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la [documentación](https://www.vaultproject.io/docs/auth/jwt) de HashiCorp Vault.
Configura la bóveda para que acepte Tokens Web JSON (JWT) para la autenticación:
- Para la `oidc_discovery_url`, utiliza `https://token.actions.githubusercontent.com`
- Para el `bound_issuer`, utiliza `https://token.actions.githubusercontent.com`
- For the `oidc_discovery_url`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}
- For `bound_issuer`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}
- Asegúrate de que `bound_subject` se defina correctamente para tus requisitos de seguridad. Para obtener más información, consulta la sección ["Configurar la confianza de OIDC con la nube"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud) y [`hashicorp/vault-action`](https://github.com/hashicorp/vault-action).
## Actualizar tu flujo de trabajo de {% data variables.product.prodname_actions %}

View File

@@ -6,6 +6,7 @@ versions:
fpt: '*'
ghae: issue-4856
ghec: '*'
ghes: '>=3.5'
children:
- /about-security-hardening-with-openid-connect
- /configuring-openid-connect-in-amazon-web-services

View File

@@ -45,11 +45,14 @@ For example, the following OIDC token is for a job that was part of a called wor
{
"jti": "example-id",
"sub": "repo:octo-org/octo-repo:environment:prod",
"aud": "https://github.com/octo-org",
"aud": "{% ifversion ghes %}https://HOSTNAME{% else %}https://github.com{% endif %}/octo-org",
"ref": "refs/heads/main",
"sha": "example-sha",
"repository": "octo-org/octo-repo",
"repository_owner": "octo-org",
"actor_id": "12",
"repository_id": "74",
"repository_owner_id": "65",
"run_id": "example-run-id",
"run_number": "10",
"run_attempt": "2",
@@ -60,7 +63,7 @@ For example, the following OIDC token is for a job that was part of a called wor
"event_name": "workflow_dispatch",
"ref_type": "branch",
"job_workflow_ref": "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main",
"iss": "https://token.actions.githubusercontent.com",
"iss": "{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}",
"nbf": 1632492967,
"exp": 1632493867,
"iat": 1632493567

View File

@@ -27,12 +27,12 @@ Volver a ejecutar un flujo de tabajo{% if re-run-jobs %} o los jobs dentro de es
{% data reusables.repositories.actions-tab %}
{% data reusables.repositories.navigate-to-workflow %}
{% data reusables.repositories.view-run %}
{% ifversion fpt or ghes > 3.2 or ghae-issue-4721 or ghec %}
{% ifversion fpt or ghes > 3.4 or ghae-issue-4721 or ghec %}
1. En la esquina superior derecha del flujo de trabajo, utiliza el menú desplegable **Volver a ejecutar jobs** y selecciona **Volver a ejecutar todos los jobs**.
Si no hubieron jobs fallidos, no verás el menú desplegable **Volver a ejecutar jobs**. En vez de esto, haz clic en **Volver a ejecutar todos los jobs**. ![Menú desplegable de verificaciones de re-ejecución](/assets/images/help/repository/rerun-checks-drop-down.png)
{% endif %}
{% ifversion ghes < 3.3 or ghae %}
{% ifversion ghes < 3.5 or ghae %}
1. En la esquina superior derecha del flujo de trabajo, utiliza el menú desplegable **Volver a ejecutar jobs** y selecciona **Volver a ejecutar todos los jobs**. ![Volver a ejecutar el menú desplegable de verificaciones](/assets/images/help/repository/rerun-checks-drop-down-updated.png)
{% endif %}
@@ -109,7 +109,7 @@ gh run rerun --job <em>job-id</em>
{% endif %}
{% ifversion fpt or ghes > 3.2 or ghae-issue-4721 or ghec %}
{% ifversion fpt or ghes > 3.4 or ghae-issue-4721 or ghec %}
## Revisar las ejecuciones de flujo de trabajo anteriores
Puedes ver los resultados desde tus intentos anteriores para ejecutar un flujo de trabajo. También puedes ver las ejecuciones de flujo de trabajo anteriores utilizando la API. Para obtener más información, consulta la sección "[Obtener una ejecución de flujo de trabajo](/rest/reference/actions#get-a-workflow-run)".

View File

@@ -82,6 +82,8 @@ Para obtener más información, consulta la sección "[Utilizar variables de amb
CircleCI y {% data variables.product.prodname_actions %} proporcionan un método para almacenar archivos en cahcé manualmente en el archivo de configuración.
{% if actions-caching %}
Puedes encontrar un ejemplo de la sintaxis para cada sistema.
<table class="d-block">
@@ -119,7 +121,11 @@ GitHub Actions
</tr>
</table>
El almacenamiento en caché de las {% data variables.product.prodname_actions %} solo se aplica a los repositorios que se hospedan en {% data variables.product.prodname_dotcom_the_website %}. Para obtener más información, consulta la sección "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Almacenar las dependencias en caché para agilizar los flujos de trabajo</a>".
{% else %}
{% data reusables.actions.caching-availability %}
{% endif %}
{% data variables.product.prodname_actions %} no tiene un equivalente al Almacenamiento en Caché por Capas de Docker (o DLC, por sus siglas en inglés) que tiene CircleCI.
@@ -175,7 +181,7 @@ GitHub Actions
</tr>
</table>
Para obtener más información, consulta "[Conservar datos de flujo de trabajo mediante artefactos](/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts)."
For more information, see "[Persisting workflow data using artifacts](/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts)."
## Usar bases de datos y contenedores de servicio

View File

@@ -309,6 +309,8 @@ Para obtener más información, consulta las secciones "[Variables de ambiente](
La IC/EC de GitLab y las {% data variables.product.prodname_actions %} proporcionan un método en el archivo de configuración para guardar los archivos de flujo de trabajo manualmente en el caché.
{% if actions-caching %}
Puedes encontrar un ejemplo de la sintaxis para cada sistema:
<table class="d-block">
@@ -359,7 +361,11 @@ jobs:
</tr>
</table>
El almacenamiento en caché de las {% data variables.product.prodname_actions %} solo se aplica a los repositorios que se hospedan en {% data variables.product.prodname_dotcom_the_website %}. Para obtener más información, consulta la sección "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Almacenar las dependencias en caché para agilizar los flujos de trabajo</a>".
{% else %}
{% data reusables.actions.caching-availability %}
{% endif %}
## Artefactos

View File

@@ -302,7 +302,11 @@ jobs:
## Almacenar dependencias en caché
Travis CI y {% data variables.product.prodname_actions %} te permiten guardar dependencias en caché manualmente para reutilizarlas posteriormente. Este ejemplo ilustra la sintaxis de caché para cada sistema.
Travis CI y {% data variables.product.prodname_actions %} te permiten guardar dependencias en caché manualmente para reutilizarlas posteriormente.
{% if actions-caching %}
Este ejemplo ilustra la sintaxis de caché para cada sistema.
<table>
<tr>
@@ -337,7 +341,11 @@ cache: npm
</tr>
</table>
El almacenamiento en caché de las {% data variables.product.prodname_actions %} solo se aplica a los repositorios que se hospedan en {% data variables.product.prodname_dotcom_the_website %}. Para obtener más información, consulta la sección "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Almacenar las dependencias en caché para agilizar los flujos de trabajo</a>".
{% else %}
{% data reusables.actions.caching-availability %}
{% endif %}
## Ejemplos de tareas comunes

View File

@@ -78,7 +78,7 @@ on:
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
runs-on: {% ifversion ghes %}[self-hosted]{% else %}ubuntu-latest{% endif %}
steps:
- name: Check out the repo
uses: {% data reusables.actions.action-checkout %}
@@ -108,12 +108,16 @@ El flujo de trabajo anterior verifica el repositorio de {% data variables.produc
## Publicar imágenes en {% data variables.product.prodname_registry %}
{% ifversion ghes > 3.4 %}
{% data reusables.package_registry.container-registry-ghes-beta %}
{% endif %}
{% data reusables.actions.release-trigger-workflow %}
En el siguiente ejemplo de flujo de trabajo, utilizamos las acciones `login-action` {% ifversion fpt or ghec %}, `metadata-action`,{% endif %} y `build-push-action` de Docker para crear la imagen de Docker y, si la compilación tiene éxito, sube la imagen cargada al {% data variables.product.prodname_registry %}.
In the example workflow below, we use the Docker `login-action`{% ifversion fpt or ghec %}, `metadata-action`,{% endif %} and `build-push-action` actions to build the Docker image, and if the build succeeds, push the built image to {% data variables.product.prodname_registry %}.
Las opciones de `login-action` que se requieren para el {% data variables.product.prodname_registry %} son:
* `registry`: Debe configurarse en {% ifversion fpt or ghec %}`ghcr.io`{% else %}`docker.pkg.github.com`{% endif %}.
* `registry`: Must be set to {% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes > 3.4 %}`{% data reusables.package_registry.container-registry-hostname %}`{% else %}`docker.pkg.github.com`{% endif %}.
* `username`: Puedes utilizar el contexto {% raw %}`${{ github.actor }}`{% endraw %} para utilizar automáticamente el nombre de usuario del usuario que desencadenó la ejecución del flujo de trabajo. Para obtener más información, consulta "[Contextos](/actions/learn-github-actions/contexts#github-context)".
* `password`: Puedes utilizar el secreto generado automáticamente `GITHUB_TOKEN` para la contraseña. Para más información, consulta "[Autenticando con el GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)."
@@ -122,13 +126,17 @@ La opción de `metadata-action` que se requiere para el {% data variables.produc
* `images`: El designador de nombre de la imagen de Docker que estás compilando.
{% endif %}
Las opciones de `build-push-action` que se requieren para {% data variables.product.prodname_registry %} son:{% ifversion fpt or ghec %}
The `build-push-action` options required for {% data variables.product.prodname_registry %} are:{% ifversion fpt or ghec %}
* `context`: Define el contexto de la compilación como el conjunto de archivos que se ubican en la ruta especificada.{% endif %}
* `push`: Si se configura en `true`, la imagen se cargará al registro si se compila con éxito.{% ifversion fpt or ghec %}
* `tags` y `labels`: Estos se llenan con la salida de la `metadata-action`.{% else %}
* `tags`: Debe configurarse en el formato `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION`. Por ejemplo, para una imagen que se llame `octo-image` y esté almacenada en {% data variables.product.prodname_dotcom %} en la ruta `http://github.com/octo-org/octo-repo`, la opción `tags` debe configurarse como `docker.pkg.github.com/octo-org/octo-repo/octo-image:latest`. Puedes configurar una tarjeta sencilla como se muestra a continuación o especificar etiquetas múltiples en una lista.{% endif %}
* `tags`: Must be set in the format {% ifversion ghes > 3.4 %}`{% data reusables.package_registry.container-registry-hostname %}/OWNER/REPOSITORY/IMAGE_NAME:VERSION`.
{% ifversion fpt or ghec %}
For example, for an image named `octo-image` stored on {% data variables.product.prodname_ghe_server %} at `https://HOSTNAME/octo-org/octo-repo`, the `tags` option should be set to `{% data reusables.package_registry.container-registry-hostname %}/octo-org/octo-repo/octo-image:latest`{% else %}`docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION`.
For example, for an image named `octo-image` stored on {% data variables.product.prodname_dotcom %} at `http://github.com/octo-org/octo-repo`, the `tags` option should be set to `docker.pkg.github.com/octo-org/octo-repo/octo-image:latest`{% endif %}. Puedes configurar una tarjeta sencilla como se muestra a continuación o especificar etiquetas múltiples en una lista.{% endif %}
{% ifversion fpt or ghec or ghes > 3.4 %}
{% data reusables.package_registry.publish-docker-image %}
El flujo de trabajo anterior se activa mediante una subida a la rama "release". Verifica el repositorio de GitHub y utiliza la `login-action` para ingresar en el {% data variables.product.prodname_container_registry %}. Luego extrae las etiquetas y marcas de la imagen de Docker. Finalmente, utiliza la acción `build-push-action` para crear la imagen y publicarla en el {% data variables.product.prodname_container_registry %}.
@@ -170,11 +178,15 @@ jobs:
{% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/octo-image:${{ github.event.release.tag_name }}{% endraw %}
```
El flujo de trabajo anterior verifica el repositorio {% data variables.product.prodname_dotcom %}, utiliza la `login-action` para ingresar en el registro y luego utiliza la acción `build-push-action` para: crear una imagen de Docker con base en el `Dockerfile` de tu repositorio; subir la imagen al registro de Docker y aplicar el SHA de confirmación y versión de lanzamiento como etiquetas de la imagen.
The above workflow checks out the {% data variables.product.product_name %} repository, uses the `login-action` to log in to the registry, and then uses the `build-push-action` action to: build a Docker image based on your repository's `Dockerfile`; push the image to the Docker registry, and apply the commit SHA and release version as image tags.
{% endif %}
## Publicar imágenes en Docker Hub y en {% data variables.product.prodname_registry %}
{% ifversion ghes > 3.4 %}
{% data reusables.package_registry.container-registry-ghes-beta %}
{% endif %}
En un flujo de trabajo sencillo, puedes publicar tu imagen de Docker en registros múltiples si utilizas las acciones `login-action` y `build-push-action` para cada registro.
El siguiente flujo de trabajo de ejemplo utiliza los pasos de las secciones anteriores ("[Publicar imágenes en Docker Hub](#publishing-images-to-docker-hub)" y "[Publicar imágenes en el {% data variables.product.prodname_registry %}](#publishing-images-to-github-packages)") para crear un solo flujo de trabajo que cargue ambos registros.
@@ -191,7 +203,7 @@ on:
jobs:
push_to_registries:
name: Push Docker image to multiple registries
runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
runs-on: {% ifversion ghes %}[self-hosted]{% else %}ubuntu-latest{% endif %}{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
permissions:
packages: write
contents: read{% endif %}
@@ -205,10 +217,10 @@ jobs:
username: {% raw %}${{ secrets.DOCKER_USERNAME }}{% endraw %}
password: {% raw %}${{ secrets.DOCKER_PASSWORD }}{% endraw %}
- name: Log in to the {% ifversion fpt or ghec %}Container{% else %}Docker{% endif %} registry
- name: Log in to the {% ifversion fpt or ghec or ghes > 3.4 %}Container{% else %}Docker{% endif %} registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: {% ifversion fpt or ghec %}ghcr.io{% elsif ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}
registry: {% ifversion fpt or ghec %}ghcr.io{% elsif ghae %}docker.YOUR-HOSTNAME.com{% elsif ghes > 3.4 %}{% data reusables.package_registry.container-registry-hostname %}{% else %}docker.pkg.github.com{% endif %}
username: {% raw %}${{ github.actor }}{% endraw %}
password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
@@ -218,7 +230,7 @@ jobs:
with:
images: |
my-docker-hub-namespace/my-docker-hub-repository
{% ifversion fpt or ghec %}ghcr.io/{% raw %}${{ github.repository }}{% endraw %}{% elsif ghae %}{% raw %}docker.YOUR-HOSTNAME.com/${{ github.repository }}/my-image{% endraw %}{% else %}{% raw %}docker.pkg.github.com/${{ github.repository }}/my-image{% endraw %}{% endif %}
{% ifversion fpt or ghec or ghes > 3.4 %}{% data reusables.package_registry.container-registry-hostname %}/{% raw %}${{ github.repository }}{% endraw %}{% elsif ghae %}{% raw %}docker.YOUR-HOSTNAME.com/${{ github.repository }}/my-image{% endraw %}{% else %}{% raw %}docker.pkg.github.com/${{ github.repository }}/my-image{% endraw %}{% endif %}
- name: Build and push Docker images
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
@@ -229,4 +241,4 @@ jobs:
labels: {% raw %}${{ steps.meta.outputs.labels }}{% endraw %}
```
El flujo de trabajo anterior verifica el repositorio {% data variables.product.prodname_dotcom %}, utiliza `login-action` dos veces para iniciar sesión en ambos registros y genera etiquetas y marcadores con la acción `metadata-action`. Entonces, la acción `build-push-action` crea y sube la imagen de Docker a Docker Hub y al {% ifversion fpt or ghec %}{% data variables.product.prodname_container_registry %}{% else %}registro de Docker{% endif %}.
The above workflow checks out the {% data variables.product.product_name %} repository, uses the `login-action` twice to log in to both registries and generates tags and labels with the `metadata-action` action. Then the `build-push-action` action builds and pushes the Docker image to Docker Hub and the {% ifversion fpt or ghec or ghes > 3.4 %}{% data variables.product.prodname_container_registry %}{% else %}Docker registry{% endif %}.

View File

@@ -25,7 +25,7 @@ Los secretos son variables de ambiente cifradas que creas en una organización,
Para que los secretos se almacenen a nivel de ambiente, puedes habilitar los revisores requeridos para controlar el acceso a los secretos. Un job de flujo de trabajo no puede acceder a los secretos del ambiente hasta que los revisores requeridos le otorguen aprobación.
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
{% note %}

View File

@@ -159,7 +159,7 @@ Para obtener más información, consulta las secciones "[Acerca del {% data vari
Para ayudarte a mitigar el resigo de un token expuesto, considera restringir los permisos asignados. Para obtener màs informaciòn, consulta la secciòn "[Modificar los permisos para el GITHUB_TOKEN](/actions/reference/authentication-in-a-workflow#modifying-the-permissions-for-the-github_token)".
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
## Utilizar OpenID connect para acceder a los recursos en la nube
@@ -291,7 +291,7 @@ Un ejecutor auto-hospedado puede agregarse a varios niveles en tu jerarquía de
- Si cada equipo administrará sus propios ejecutores auto-hospedados, entonces se recomienda agregarlos en el nivel más alto de propiedad del equipo. Por ejemplo, si cada equipo es dueño de su propia organización, entonces será más simple si los ejecutores se agregan a nivel de organización también.
- También podrías agregar ejecutores a nivel de repositorio, pero esto agregará una sobrecarga de administración y también incrementará la cantidad de ejecutores que necesitas, ya que no puedes compartir ejecutores entre repositorios.
{% ifversion fpt or ghec or ghae-issue-4856 %}
{% ifversion fpt or ghec or ghae-issue-4856 or ghes > 3.4 %}
### Autenticarte a tu proveedor en la nube
Si estás utilizando las {% data variables.product.prodname_actions %} para desplegar a un proveedor en la nube o si intentas utilizar HashiCorp Vault para la administración de secretos, entonces se recomienda que consideres utilizar OpenID Connect para crear tokens de acceso con un buen alcance y de vida corta para tus ejecuciones de flujo de trabajo. Para obtener más información, consulta la sección "[Acerca del fortalecimiento de seguridad con OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)".

View File

@@ -124,10 +124,10 @@ jobs:
For more information, see "[Using a matrix for your jobs](/actions/using-jobs/using-a-matrix-for-your-jobs)."
{% ifversion fpt or ghec %}
{% if actions-caching %}
### Almacenar dependencias en caché
Los ejecutores hospedados en {% data variables.product.prodname_dotcom %} se inician como ambientes nuevos para cada job, así que, si tus jobs utilizan dependencias a menudo, puedes considerar almacenar estos archivos en caché para ayudarles a mejorar el rendimiento. Una vez que se crea el caché, estará disponible para todos los flujos de trabajo en el mismo repositorio.
If your jobs regularly reuse dependencies, you can consider caching these files to help improve performance. Una vez que se crea el caché, estará disponible para todos los flujos de trabajo en el mismo repositorio.
Este ejemplo ilustra cómo almacenar el directorio `~/.npm` en el caché:

View File

@@ -9,22 +9,20 @@ redirect_from:
- /actions/guides/caching-dependencies-to-speed-up-workflows
- /actions/advanced-guides/caching-dependencies-to-speed-up-workflows
versions:
fpt: '*'
ghec: '*'
feature: actions-caching
type: tutorial
topics:
- Workflows
miniTocMaxHeadingLevel: 3
---
## Acerca de almacenar en caché las dependencias de flujo de trabajo
Las ejecuciones de flujo de trabajo a menudo reutilizan las mismas salidas o dependencias descargadas de una ejecución a otra. Por ejemplo, las herramientas de administración de paquetes y dependencias como Maven, Gradle, npm y Yarn mantienen una caché local de las dependencias descargadas.
Los trabajos en los ejecutores alojados {% data variables.product.prodname_dotcom %} se inician en un entorno virtual limpio y deben descargar dependencias cada vez, lo que provoca una mayor utilización de la red, un tiempo de ejecución más largo y un mayor costo. Para ayudar a acelerar el tiempo que se tarda en volver a crear estos archivos, {% data variables.product.prodname_dotcom %} puede almacenar en caché las dependencias que utilizas con frecuencia en los flujos de trabajo.
{% ifversion fpt or ghec %} Jobs on {% data variables.product.prodname_dotcom %}-hosted runners start in a clean virtual environment and must download dependencies each time, causing increased network utilization, longer runtime, and increased cost. {% endif %}To help speed up the time it takes to recreate files like dependencies, {% data variables.product.prodname_dotcom %} can cache files you frequently use in workflows.
Para almacenar en caché las dependencias de un trabajo, deberás usar la acción de `caché` de {% data variables.product.prodname_dotcom %}. La acción recupera una caché identificada por una clave única. Para más información, consulta [`actions/cache`](https://github.com/actions/cache).
Si estás almacenando en caché los administradores de paquetes que se listan a continuación, considera utilizar las acciones de setup-* respectivas, las cuales casi no requieren de configuración y son fáciles de utilizar.
To cache dependencies for a job, you can use {% data variables.product.prodname_dotcom %}'s [`cache` action](https://github.com/actions/cache). The action creates and restores a cache identified by a unique key. Alternatively, if you are caching the package managers listed below, using their respective setup-* actions requires minimal configuration and will create and restore dependency caches for you.
<table>
<thead>
@@ -36,62 +34,59 @@ Si estás almacenando en caché los administradores de paquetes que se listan a
<tbody>
<tr>
<td>npm, yarn, pnpm</td>
<td><a href="https://github.com/actions/setup-node">setup-node</a></td>
<td><a href="https://github.com/actions/setup-node#caching-global-packages-data">setup-node</a></td>
</tr>
<tr>
<td>pip, pipenv</td>
<td><a href="https://github.com/actions/setup-python">setup-python</a></td>
<td><a href="https://github.com/actions/setup-python#caching-packages-dependencies">setup-python</a></td>
</tr>
<tr>
<td>gradle, maven</td>
<td><a href="https://github.com/actions/setup-java">setup-java</a></td>
<td><a href="https://github.com/actions/setup-java#caching-packages-dependencies">setup-java</a></td>
</tr>
<tr>
<td>ruby gems</td>
<td><a href="https://github.com/ruby/setup-ruby">setup-ruby</a></td>
<td><a href="https://github.com/ruby/setup-ruby#caching-bundle-install-automatically">setup-ruby</a></td>
</tr>
</tbody>
</table>
{% warning %}
**Advertencia**: Te recomendamos que no almacenes ninguna información confidencial en la caché de los repositorios públicos. Por ejemplo, la información confidencial puede incluir tokens de acceso o credenciales de inicio de sesión almacenados en un archivo en la ruta de la caché. Además, los programas de interfaz de línea de comando (CLI) como `docker login` pueden guardar las credenciales de acceso en un archivo de configuración. Cualquier persona con acceso de lectura puede crear una solicitud de extracción en un repositorio y acceder a los contenidos de la caché. Las bifurcaciones de un repositorio también pueden crear solicitudes de extracción en la rama base y acceder a las cachés en la rama base.
**Warning**: {% ifversion fpt or ghec %}Be mindful of the following when using caching with {% data variables.product.prodname_actions %}:
* {% endif %}We recommend that you don't store any sensitive information in the cache. Por ejemplo, la información confidencial puede incluir tokens de acceso o credenciales de inicio de sesión almacenados en un archivo en la ruta de la caché. Además, los programas de interfaz de línea de comando (CLI) como `docker login` pueden guardar las credenciales de acceso en un archivo de configuración. Anyone with read access can create a pull request on a repository and access the contents of a cache. Las bifurcaciones de un repositorio también pueden crear solicitudes de extracción en la rama base y acceder a las cachés en la rama base.
{%- ifversion fpt or ghec %}
* When using self-hosted runners, caches from workflow runs are stored on {% data variables.product.company_short %}-owned cloud storage. A customer-owned storage solution is only available with {% data variables.product.prodname_ghe_server %}.
{%- endif %}
{% endwarning %}
## Comparar artefactos y caché de dependencias
{% data reusables.actions.comparing-artifacts-caching %}
Los artefactos y el almacenamiento en caché son similares porque brindan la posibilidad de almacenar archivos en {% data variables.product.prodname_dotcom %}, pero cada característica ofrece diferentes casos de uso y no se puede usar indistintamente.
- Usa el almacenamiento en caché cuando quieras reutilizar archivos que no cambien a menudo entre trabajos o ejecuciones de flujo de trabajo.
- Usa artefactos cuando quieras guardar los archivos producidos por un trabajo para ver después de que haya finalizado un flujo de trabajo. Para obtener más información, consulta "[Conservar datos de flujo de trabajo mediante artefactos](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts)".
For more information on workflow run artifacts, see "[Persisting workflow data using artifacts](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts)."
## Restricciones para acceder a una caché
Con la `v2` de la acción `cache`, puedes acceder al caché en en los flujos de trabajo que cualquier evento que tenga un `GITHUB_REF` active. Si estás utilizando la `v1` de la acción `cache`, únicamente podrás acceder al caché en los flujos de trabajo que activen los eventos `push` y `pull_request`, con excepción de aquellos eventos `pull_request` `closed`. Para obtener más información, consulta "[Eventos que activan los flujos de trabajo](/actions/reference/events-that-trigger-workflows)".
Un flujo de trabajo puede acceder y restaurar una caché creada en la rama actual, la rama base (incluidas las ramas base de los repositorios bifurcados) o la rama predeterminada (por lo general `main`). Por ejemplo, un caché creado en la rama predeterminada sería accesible desde cualquier solicitud de cambios. También, si la rama `feature-b` tiene la rama base `feature-a`, un flujo de trabajo activado en `feature-b` tendría acceso a las cachés creadas en la rama predeterminada (`main`), `feature-a` y `feature-b`.
Las restricciones de acceso proporcionan aislamiento y seguridad de caché al crear una frontera lógica entre las ramas diferentes. Por ejemplo, un caché creado para la rama `feature-a` (con la base `main`) no sería accesible para una solicitud de extracción para la rama `feature-b` (con la base `main`).
Las restricciones de acceso proporcionan aislamiento y seguridad de caché al crear una frontera lógica entre las ramas diferentes. For example, a cache created for the branch `feature-a` (with the base `main`) would not be accessible to a pull request for the branch `feature-c` (with the base `main`).
Los flujos de trabajo múltiples dentro de un repositorio comparten entradas de caché. Puede accederse a un caché que se crea para una rama dentro de un flujo de trabajo y se puede establecer desde otro flujo de trabajo para el mismo repositorio y rama.
## Usando la acción `cache`
La acción `cache` intentará restaurar una memoria caché basada en la `key` (clave) que proporciones. Cuando la acción encuentra una memoria caché, la acción restaura los archivos almacenados en la caché al `path` (ruta) que configures.
The [`cache` action](https://github.com/actions/cache) will attempt to restore a cache based on the `key` you provide. Cuando la acción encuentra una memoria caché, la acción restaura los archivos almacenados en la caché al `path` (ruta) que configures.
Si no hay una coincidencia exacta, la acción crea una nueva entrada de caché si el trabajo se completa correctamente. La nueva memoria caché usará la `key` que proporcionaste y contiene los archivos en el directorio del `path`.
If there is no exact match, the action automatically creates a new cache if the job completes successfully. The new cache will use the `key` you provided and contains the files you specify in `path`.
De manera opcional, puedes proporcionar una lista de `restore-keys` para usar cuando la `key` no coincida con una memoria caché existente. Una lista de `restore-keys` es útil cuando estás restaurando una caché desde otra rama porque `restore-keys` pueden coincidir parcialmente con claves de caché. Para obtener más información acerca de la coincidencia `restore-keys`, consulta [Hacer coincidir una clave de caché](#matching-a-cache-key)".
Para más información, consulta [`actions/cache`](https://github.com/actions/cache).
### Parámetros de entrada para la acción `chache`
- `key`: **Obligatorio** La clave que se crea cuando se guarda una memoria caché y la clave utilizada para buscar una caché. Puede ser cualquier combinación de variables, valores de contexto, cadenas estáticas y funciones. Las claves tienen una longitud máxima de 512 caracteres y las claves más largas que la longitud máxima provocarán un error en la acción.
- `path`: **Obligatorio** La ruta del archivo en el ejecutor para almacenar en caché o restaurar. The path can be an absolute path or relative to the workspace directory.
- Las rutas pueden ser tanto directorios o solo archivos, y los patrones estilo glob son compatibles.
- Con la `v2` de la acción `cache`, puedes especificar una ruta sencilla o puedes agregar rutas múltiples en líneas separadas. Por ejemplo:
- `key`: **Obligatorio** La clave que se crea cuando se guarda una memoria caché y la clave utilizada para buscar una caché. It can be any combination of variables, context values, static strings, and functions. Las claves tienen una longitud máxima de 512 caracteres y las claves más largas que la longitud máxima provocarán un error en la acción.
- `path`: **Required** The path(s) on the runner to cache or restore.
- You can specify a single path, or you can add multiple paths on separate lines. Por ejemplo:
```
- name: Cache Gradle packages
@@ -101,14 +96,15 @@ Para más información, consulta [`actions/cache`](https://github.com/actions/ca
~/.gradle/caches
~/.gradle/wrapper
```
- Con la `v1` de la acción `cache`, solo se puede utilizar una ruta única, la cual debe ser un directorio. No puedes almacenar en caché un archivo único.
- `restore-keys`: **Optional** A string containing alternative restore keys, with each restore key placed on a new line. If no cache hit occurred for `key`, these restore keys are used sequentially in the order provided to find and restore a cache. Por ejemplo:
- You can specify either directories or single files, and glob patterns are supported.
- You can specify absolute paths, or paths relative to the workspace directory.
- `restore-keys`: **Optional** A string containing alternative restore keys, with each restore key placed on a new line. If no cache hit occurs for `key`, these restore keys are used sequentially in the order provided to find and restore a cache. Por ejemplo:
{% raw %}
```yaml
restore-keys: |
npm-foobar-${{ hashFiles('package-lock.json') }}
npm-foobar-
npm-feature-${{ hashFiles('package-lock.json') }}
npm-feature-
npm-
```
{% endraw %}
@@ -123,17 +119,15 @@ Este ejemplo crea una nueva memoria caché cuando los paquetes en el archivo `pa
```yaml{:copy}
name: Caching with npm
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: {% data reusables.actions.action-checkout %}
- name: Cache node modules
id: cache-npm
uses: {% data reusables.actions.action-cache %}
env:
cache-name: cache-node-modules
@@ -146,7 +140,12 @@ jobs:
{% raw %}${{ runner.os }}-build-{% endraw %}
{% raw %}${{ runner.os }}-{% endraw %}
- name: Install Dependencies
- if: {% raw %}${{ steps.cache-npm.outputs.cache-hit == false }}{% endraw %}
name: List the state of node modules
continue-on-error: true
run: npm list
- name: Install dependencies
run: npm install
- name: Build
@@ -156,23 +155,27 @@ jobs:
run: npm test
```
Cuando `key` coincide con una caché existente, se denomina hit de caché y la acción restaura los archivos almacenados en la caché al directorio `path`.
When `key` matches an existing cache, it's called a _cache hit_, and the action restores the cached files to the `path` directory.
Cuando `key` no coincide con una caché existente, se denomina una falta de caché y se crea una nueva memoria caché si el trabajo se completa correctamente. Cuando se produce una falta de caché, la acción busca claves alternativas llamadas `restore-keys`.
When `key` doesn't match an existing cache, it's called a _cache miss_, and a new cache is automatically created if the job completes successfully.
When a cache miss occurs, the action also searches your specified `restore-keys` for any matches:
1. Si proporcionas `restore-Keys`, la acción `cache` busca cualquier caché en forma secuencial que coincida con la lista de `restore-keys`.
- Cuando hay una coincidencia exacta, la acción restaura los archivos en la memoria caché al directorio `path`.
- Si no hay coincidencias exactas, la acción busca coincidencias parciales de las claves de restauración. Cuando la acción encuentra una coincidencia parcial, se restaura la caché más reciente al directorio `path`.
1. La acción `cache` se completa y el siguiente paso en el flujo de trabajo del job se ejecuta.
1. Si el trabajo se completa correctamente, la acción crea una nueva memoria caché con los contenidos del directorio `path`.
1. The `cache` action completes and the next step in the job runs.
1. If the job completes successfully, the action automatically creates a new cache with the contents of the `path` directory.
Para almacenar en caché los archivos en más de un directorio, necesitarás un paso que use la acción [`cache`](https://github.com/actions/cache) para cada directorio. Una vez que creas una caché, no puedes cambiar los contenidos de una memoria caché existente, pero puedes crear una nueva caché con una clave nueva.
For a more detailed explanation of the cache matching process, see "[Matching a cache key](#matching-a-cache-key)." Una vez que creas una caché, no puedes cambiar los contenidos de una memoria caché existente, pero puedes crear una nueva caché con una clave nueva.
### Usar contextos para crear claves de caché
Una clave de caché puede incluir cualquiera de los contextos, funciones, literales y operadores admitidos por {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Expresiones](/actions/learn-github-actions/expressions)".
Una clave de caché puede incluir cualquiera de los contextos, funciones, literales y operadores admitidos por {% data variables.product.prodname_actions %}. For more information, see "[Contexts](/actions/learn-github-actions/contexts)" and "[Expressions](/actions/learn-github-actions/expressions)."
Usar expresiones para crear una `key` te permite crear automáticamente una nueva caché cuando las dependencias han cambiado. Por ejemplo, puedes crear una `key` utilizando una expresión que calcule el hash de un archivo `package-lock.json` de npm.
Using expressions to create a `key` allows you to automatically create a new cache when dependencies change.
Por ejemplo, puedes crear una `key` utilizando una expresión que calcule el hash de un archivo `package-lock.json` de npm. So, when the dependencies that make up the `package-lock.json` file change, the cache key changes and a new cache is automatically created.
{% raw %}
```yaml
@@ -186,19 +189,32 @@ npm-${{ hashFiles('package-lock.json') }}
npm-d5ea0750
```
### Using the output of the `cache` action
You can use the output of the `cache` action to do something based on whether a cache hit or miss occurred. If there is a cache miss (an exact match for a cache was not found for the specified `key`), the `cache-hit` output is set to `false`.
In the example workflow above, there is a step that lists the state of the Node modules if a cache miss occurred:
```yaml
- if: {% raw %}${{ steps.cache-npm.outputs.cache-hit == false }}{% endraw %}
name: List the state of node modules
continue-on-error: true
run: npm list
```
## Hacer coincidir una clave de caché
La acción `cache` busca primero las coincidencias de caché para `key` y `restore-keys` en la rama que contiene la ejecución del flujo de trabajo. Si no hay coincidencias en la rama actual, la acción `chache` busca a `key` y `restore-keys` en la rama padre y en las ramas ascendentes.
Puedes proporcionar una lista de claves de restauración para usar cuando haya una falta de caché en `key`. Puedes crear múltiples claves de restauración ordenadas desde las más específicas hasta las menos específicas. La acción `cache` busca `restore-keys` en orden secuencial. Cuando una clave no coincide directamente, la acción busca las claves prefijadas con la clave de restauración. Si hay múltiples coincidencias parciales para una clave de restauración, la acción devuelve la caché que se creó más recientemente.
`restore-keys` allows you to specify a list of alternate restore keys to use when there is a cache miss on `key`. Puedes crear múltiples claves de restauración ordenadas desde las más específicas hasta las menos específicas. The `cache` action searches the `restore-keys` in sequential order. Cuando una clave no coincide directamente, la acción busca las claves prefijadas con la clave de restauración. Si hay múltiples coincidencias parciales para una clave de restauración, la acción devuelve la caché que se creó más recientemente.
### Ejemplo usando múltiples claves de restauración
{% raw %}
```yaml
restore-keys: |
npm-foobar-${{ hashFiles('package-lock.json') }}
npm-foobar-
npm-feature-${{ hashFiles('package-lock.json') }}
npm-feature-
npm-
```
{% endraw %}
@@ -208,16 +224,16 @@ El ejecutor evalúa las expresiones, que resuelven estas `restore-keys`:
{% raw %}
```yaml
restore-keys: |
npm-foobar-d5ea0750
npm-foobar-
npm-feature-d5ea0750
npm-feature-
npm-
```
{% endraw %}
La clave de restauración `npm-foobar-` coincide con cualquier clave que empiece con la cadena `npm-foobar-`. Por ejemplo, ambas claves `npm-foobar-fd3052de` y `npm-foobar-a9b253ff` coinciden con la clave de restauración. Se utilizará la caché con la fecha de creación más reciente. Las claves en este ejemplo se buscan en el siguiente orden:
The restore key `npm-feature-` matches any key that starts with the string `npm-feature-`. For example, both of the keys `npm-feature-fd3052de` and `npm-feature-a9b253ff` match the restore key. Se utilizará la caché con la fecha de creación más reciente. Las claves en este ejemplo se buscan en el siguiente orden:
1. **`npm-foobar-d5ea0750`** coincide con un hash específico.
1. **`npm-foobar-`** coincide con claves de caché prefijadas con `npm-foobar-`.
1. **`npm-feature-d5ea0750`** matches a specific hash.
1. **`npm-feature-`** matches cache keys prefixed with `npm-feature-`.
1. **`npm`** coincide con cualquier clave prefijada con `npm`.
#### Ejemplo de prioridad de búsqueda
@@ -230,18 +246,24 @@ restore-keys: |
npm-
```
Por ejemplo, si una solicitud de cambios contiene una rama `feature` (el alcance actual) y se dirige a la rama predeterminada (`main`), la acción busca a `key` y a `restore-keys` en el siguiente orden:
For example, if a pull request contains a `feature` branch and targets the default branch (`main`), the action searches for `key` and `restore-keys` in the following order:
1. Clave `npm-feature-d5ea0750` en el alcance de la rama `feature`
1. Clave `npm-feature-` en el alcance de la rama `feature`
2. Clave `npm` en el alcance de la rama `feature`
1. Clave `npm-feature-d5ea0750` en el alcance de la rama `main`
3. Clave `npm-feature-` en el alcance de la rama `main`
4. Clave `npm-` en el alcance de la rama `main`
1. Key `npm-feature-d5ea0750` in the `feature` branch
1. Key `npm-feature-` in the `feature` branch
1. Key `npm-` in the `feature` branch
1. Key `npm-feature-d5ea0750` in the `main` branch
1. Key `npm-feature-` in the `main` branch
1. Key `npm-` in the `main` branch
## Límites de uso y política de desalojo
{% data variables.product.prodname_dotcom %} eliminará todas las entradas de caché a las que no se haya accedido en más de 7 días. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited to 10 GB. If you exceed this limit, {% data variables.product.prodname_dotcom %} will save your cache but will begin evicting caches until the total size is less than 10 GB.
{% data variables.product.prodname_dotcom %} eliminará todas las entradas de caché a las que no se haya accedido en más de 7 días. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited{% if actions-cache-policy-apis %}. By default, the limit is 10 GB per repository, but this limit might be different depending on policies set by your enterprise owners or repository administrators.{% else %} to 10 GB.{% endif %}
{% data reusables.actions.cache-eviction-process %}
{% if actions-cache-policy-apis %}
For information on changing the policies for the repository cache size limit, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-cache-storage-in-your-enterprise)" and "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-cache-storage-for-a-repository)."
{% endif %}
{% if actions-cache-management %}

View File

@@ -27,11 +27,11 @@ children:
- /workflow-syntax-for-github-actions
- /workflow-commands-for-github-actions
- /reusing-workflows
- /caching-dependencies-to-speed-up-workflows
- /storing-workflow-data-as-artifacts
- /creating-starter-workflows-for-your-organization
- /using-starter-workflows
- /sharing-workflows-secrets-and-runners-with-your-organization
- /caching-dependencies-to-speed-up-workflows
- /storing-workflow-data-as-artifacts
- /using-github-cli-in-workflows
---

View File

@@ -56,13 +56,21 @@ Para compartir datos entre puestos:
Los pasos de un job comparten el mismo ambiente en la máquina ejecutora, pero se ejecutan en su propio proceso individual. Para pasar datos entre pasos en un trabajo, puedes usar entradas y salidas. Para obtener más información sobre entradas y salidas, consulta "[Sintaxis de metadatos para {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions)".
{% if actions-caching %}
{% data reusables.actions.comparing-artifacts-caching %}
For more information on dependency caching, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows#comparing-artifacts-and-dependency-caching)."
{% endif %}
## Cargar artefactos de construcción y prueba
Puedes crear un flujo de trabajo de integración continua (CI) para construir y probar tu código. Para obtener más información acerca de cómo utilizar {% data variables.product.prodname_actions %} para realizar la IC, consulta la sección "[Acerca de la integración contínua](/articles/about-continuous-integration)".
El resultado de la construcción y la prueba de tu código frecuentemente produce archivos que puedes usar para depurar fallas de prueba y códigos de producción que puedes implementar. Puedes configurar un flujo de trabajo para construir y probar el código subido a tu repositorio e informar un estado satisfactorio o de falla. Puedes cargar los resultados de construcción y prueba para usar en implementaciones, pruebas de depuración fallidas o fallos, y para visualizar la cobertura del conjunto de prueba.
Puedes usar la acción `upload-Artifact` para cargar artefactos. Cuando cargues un artefacto, puedes especificar un archivo sencillo o un directorio, o varios archivos o directorios. También puedes excluir ciertos archivos o directorios y utilizar patrones de comodín. Te recomendamos que proporciones un nombre para cada artefacto pero, si no se lo das, entonces el nombre predeterminado que se utilizará será `artifact`. Para obtener más información sobre la sintaxis, consulta la acción {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact){% else %} `actions/upload-artifact` en {% data variables.product.product_location %}{% endif %}.
Puedes usar la acción `upload-Artifact` para cargar artefactos. Cuando cargues un artefacto, puedes especificar un archivo sencillo o un directorio, o varios archivos o directorios. También puedes excluir ciertos archivos o directorios y utilizar patrones de comodín. Te recomendamos que proporciones un nombre para cada artefacto pero, si no se lo das, entonces el nombre predeterminado que se utilizará será `artifact`. For more information on syntax, see the {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) action{% else %} `actions/upload-artifact` action on {% data variables.product.product_location %}{% endif %}.
### Ejemplo
@@ -80,7 +88,7 @@ Por ejemplo, tu repositorio o una aplicación web podrían contener archivos de
|
```
En este ejemplo se muestra cómo crear un flujo de trabajo para un proyecto Node.js que construye el código en el directorio `src` y ejecuta las pruebas en el directorio `tests`. Puedes suponer que la ejecución `npm test` produce un informe de cobertura de código denominado `code-coverage.html` almacenada en el directorio `output/test/`.
This example shows you how to create a workflow for a Node.js project that builds the code in the `src` directory and runs the tests in the `tests` directory. Puedes suponer que la ejecución `npm test` produce un informe de cobertura de código denominado `code-coverage.html` almacenada en el directorio `output/test/`.
El flujo de trabajo carga los artefactos de producción en el directorio `dist`, pero excluye cualquier archivo de markdown. También carga el reporte de `code-coverage.html` como otro artefacto.
@@ -133,7 +141,7 @@ El valor `retention-days` no puede exceder el límite de retención que configur
Durante una ejecución de flujo de trabajo, puedes utilizar la acción [`download-artifact`](https://github.com/actions/download-artifact) para descargar artefactos que se hayan cargado previamente en la misma ejecución de flujo de trabajo.
Después de que se haya completado una ejecución de flujo de trabajo, puedes descargar o borrar los artefactos en {% data variables.product.prodname_dotcom %} o utilizando la API de REST. Para obtener más información, consulta las secciones "[Descargar los artefactos de un flujo de trabajo](/actions/managing-workflow-runs/downloading-workflow-artifacts)", "[eliminar los artefactos de un flujo de trabajo](/actions/managing-workflow-runs/removing-workflow-artifacts)", y la "[API de REST de Artefactos](/rest/reference/actions#artifacts)".
Después de que se haya completado una ejecución de flujo de trabajo, puedes descargar o borrar los artefactos en {% data variables.product.prodname_dotcom %} o utilizando la API de REST. For more information, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)," "[Removing workflow artifacts](/actions/managing-workflow-runs/removing-workflow-artifacts)," and the "[Artifacts REST API](/rest/reference/actions#artifacts)."
### Descargar artefactos durante una ejecución de flujo de trabajo
@@ -163,7 +171,7 @@ También puedes descargar todos los artefactos en una ejecución de flujo de tra
Si descargas todos los artefactos de una ejecución de flujo de trabajo, se creará un directorio para cada uno de ellos utilizando su nombre.
Para obtener más información sobre la sintaxis, consulta la acción {% ifversion fpt or ghec %}[actions/download-artifact](https://github.com/actions/download-artifact){% else %} `actions/download-artifact` en {% data variables.product.product_location %}{% endif %}.
For more information on syntax, see the {% ifversion fpt or ghec %}[actions/download-artifact](https://github.com/actions/download-artifact) action{% else %} `actions/download-artifact` action on {% data variables.product.product_location %}{% endif %}.
## Pasar datos entre puestos en un flujo de trabajo

View File

@@ -367,7 +367,7 @@ steps:
#### Example: Using status check functions
The `my backup step` only runs when the previous step of a job fails. For more information, see "[Expressions](/actions/learn-github-actions/expressions#job-status-check-functions)."
The `my backup step` only runs when the previous step of a job fails. For more information, see "[Expressions](/actions/learn-github-actions/expressions#status-check-functions)."
```yaml
steps:

View File

@@ -26,13 +26,14 @@ Después de habilitar {% data variables.product.prodname_github_connect %}, podr
Después de que configuras la conexión entre {% data variables.product.product_location %} y {% data variables.product.prodname_ghe_cloud %}, puedes habilitar las características individuales de {% data variables.product.prodname_github_connect %} para tu empresa.
| Característica | Descripción | Más información |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |{% ifversion ghes %}
| Característica | Descripción | Más información |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |{% ifversion ghes %}
| Sincronización automática de licencias de usuario | Administra el uso de licencias en todos los despliegues de tu {% data variables.product.prodname_enterprise %} sincronizando las licencias de usuario automáticamente desde {% data variables.product.product_location %} hacia {% data variables.product.prodname_ghe_cloud %}. | "[Habilitar la sincronización automática de licencias de usuario para tu empresa](/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise)"{% endif %}{% ifversion ghes or ghae-issue-4864 %}
| {% data variables.product.prodname_dependabot %} | Permitir que los usuarios encuentren y corrijan vulnerabilidades en las dependencias de código. | "[Habilitar el {% data variables.product.prodname_dependabot %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)"{% endif %}
| Acciones de {% data variables.product.prodname_dotcom_the_website %} | Permite que los usuarios utilicen acciones desde {% data variables.product.prodname_dotcom_the_website %} en los archivos de flujo de trabajo. | "[Habilitar el acceso automático a las acciones de {% data variables.product.prodname_dotcom_the_website %} utilizando {% data variables.product.prodname_github_connect %}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect)" |
| Búsqueda unificada | Permite que los usuarios incluyan repositorios en {% data variables.product.prodname_dotcom_the_website %} en los resultados de la bùsqueda cuando buscas desde {% data variables.product.product_location %}. | "[Habilitar la {% data variables.product.prodname_unified_search %} para tu empresa](/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise)" |
| Contribuciones unificadas | Permitir que los usuarios incluyan conteos de contribuciones anonimizadas para su trabajo en {% data variables.product.product_location %} en su gráfica de contribuciones en{% data variables.product.prodname_dotcom_the_website %}. | "[Habilitar las {% data variables.product.prodname_unified_contributions %} para tu empresa](/admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise)" |
| Acciones de {% data variables.product.prodname_dotcom_the_website %} | Permite que los usuarios utilicen acciones desde {% data variables.product.prodname_dotcom_the_website %} en los archivos de flujo de trabajo. | "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect)"{% if server-statistics %}
| {% data variables.product.prodname_server_statistics %} | Analyze your own aggregate data from GitHub Enterprise Server, and help us improve GitHub products. | "[Enabling {% data variables.product.prodname_server_statistics %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)"{% endif %}
| Búsqueda unificada | Permite que los usuarios incluyan repositorios en {% data variables.product.prodname_dotcom_the_website %} en los resultados de la bùsqueda cuando buscas desde {% data variables.product.product_location %}. | "[Habilitar la {% data variables.product.prodname_unified_search %} para tu empresa](/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise)" |
| Contribuciones unificadas | Permitir que los usuarios incluyan conteos de contribuciones anonimizadas para su trabajo en {% data variables.product.product_location %} en su gráfica de contribuciones en{% data variables.product.prodname_dotcom_the_website %}. | "[Habilitar las {% data variables.product.prodname_unified_contributions %} para tu empresa](/admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise)" |
## Transmisión de datos para {% data variables.product.prodname_github_connect %}
@@ -61,14 +62,15 @@ Cuando habilitas {% data variables.product.prodname_github_connect %} o caracter
Los datos adicionales se transmiten si habilitas las características individuales de {% data variables.product.prodname_github_connect %}.
| Característica | Datos | ¿De qué forma fluyen los datos? | ¿Dónde se utilizan los datos? |
| ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- |{% ifversion ghes %}
| Sincronización automática de licencias de usuario | Cada ID de usuario y dirección de correo electrónico de un usuario de {% data variables.product.product_name %} | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae-issue-4864 %}
| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidades | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% if dependabot-updates-github-connect %}
| {% data variables.product.prodname_dependabot_updates %} | Las dependencias y los metadatos de cada repositorio de una dependencia <br><br>Si una dependencia se almacena en un repositorio privado de {% data variables.product.prodname_dotcom_the_website %}, los datos solo se transmitirán si el {% data variables.product.prodname_dependabot %} se configura y se autoriza su acceso a dicho repositorio. | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %}
| Acciones de {% data variables.product.prodname_dotcom_the_website %} | Nombre de la acción, acción (archivo YAML de {% data variables.product.prodname_marketplace %}) | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}<br><br>De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}
| Búsqueda unificada | Términos de búsqueda, resultados de búsqueda | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}<br><br>De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}
| Contribuciones unificadas | Conteo de contribuciones | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %}
| Característica | Datos | ¿De qué forma fluyen los datos? | ¿Dónde se utilizan los datos? |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- |{% ifversion ghes %}
| Sincronización automática de licencias de usuario | Cada ID de usuario y dirección de correo electrónico de un usuario de {% data variables.product.product_name %} | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae-issue-4864 %}
| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidades | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% if dependabot-updates-github-connect %}
| {% data variables.product.prodname_dependabot_updates %} | Las dependencias y los metadatos de cada repositorio de una dependencia <br><br>Si una dependencia se almacena en un repositorio privado de {% data variables.product.prodname_dotcom_the_website %}, los datos solo se transmitirán si el {% data variables.product.prodname_dependabot %} se configura y se autoriza su acceso a dicho repositorio. | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %}
| Acciones de {% data variables.product.prodname_dotcom_the_website %} | Nombre de la acción, acción (archivo YAML de {% data variables.product.prodname_marketplace %}) | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}<br><br>De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% if server-statistics %}
| {% data variables.product.prodname_server_statistics %} | Aggregate {% data variables.product.prodname_ghe_server %} usage metrics<br>For the list of aggregate metrics collected, see "[{% data variables.product.prodname_server_statistics %} data collected](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %}
| Búsqueda unificada | Términos de búsqueda, resultados de búsqueda | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}<br><br>De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}
| Contribuciones unificadas | Conteo de contribuciones | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %}
## Leer más

View File

@@ -22,7 +22,7 @@ shortTitle: Sincronización automática de licencias de usuario
{% data reusables.enterprise-licensing.about-license-sync %} Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect#data-transmission-for-github-connect)".
Si habilitas la sincronización automática de licencias de usuario, {% data variables.product.prodname_github_connect %} sincronizará automáticamente el uso de licencias entre {% data variables.product.prodname_ghe_server %} y {% data variables.product.prodname_ghe_cloud %} semanalmente.
If you enable automatic user license sync for your enterprise, {% data variables.product.prodname_github_connect %} will automatically synchronize license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} weekly.{% ifversion ghes > 3.4 %} You can also synchronize your license data at any time outside of the automatic weekly sync, by manually triggering a license sync job. For more information, see "[Triggering a license sync job](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud#triggering-a-license-sync-job)."{% endif %}
Si utilizas instancias múltiples de {% data variables.product.prodname_ghe_server %}, puedes habilitar la sincronización automática de licencias entre cada una de tus instancias y la misma cuenta de empresa u organización en {% data variables.product.prodname_ghe_cloud %}.

View File

@@ -0,0 +1,31 @@
---
title: Enabling Server Statistics for your enterprise
intro: 'You can analyze your own aggregate data from {% data variables.product.prodname_ghe_server %} and help us improve {% data variables.product.company_short %} products by enabling {% data variables.product.prodname_server_statistics %}.'
versions:
feature: server-statistics
redirect_from:
- /early-access/github/analyze-how-your-team-works-with-server-statistics/about-server-statistics/enabling-server-statistics
topics:
- Enterprise
shortTitle: Server Statistics
---
{% data reusables.server-statistics.release-phase %}
## Acerca de las {% data variables.product.prodname_server_statistics %}
{% data variables.product.prodname_server_statistics %} collects aggregate usage data from {% data variables.product.product_location %}, which you can use to better anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}.
{% data variables.product.prodname_server_statistics %} only collects certain aggregate metrics on repositories, issues, pull requests, and other features.{% data variables.product.prodname_dotcom %} content, such as code, issues, comments, or pull request content, is not collected. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics)".
By enabling {% data variables.product.prodname_server_statistics %}, you are also helping to improve {% data variables.product.company_short %}. The aggregated data you will provide helps us understand how our customers are using {% data variables.product.prodname_dotcom %}, and make better and more informed product decisions, ultimately benefiting you.
## Habilitar {% data variables.product.prodname_server_statistics %}
Before you can enable {% data variables.product.prodname_server_statistics %}, you must first connect your {% data variables.product.prodname_ghe_server %} instance to {% data variables.product.prodname_dotcom_the_website %} through {% data variables.product.prodname_github_connect %}. Para obtener más información, consulta "[Conectar {% data variables.product.prodname_ghe_server %} a {% data variables.product.prodname_ghe_cloud %}](/enterprise-server@3.1/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud)."
You can disable {% data variables.product.prodname_server_statistics %} from {% data variables.product.prodname_ghe_server %} at any time.
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.github-connect-tab %}
4. Under "Share server statistics with GitHub.com", select the dropdown menu and click **Enabled** or **Disabled**. ![Screenshot of {% data variables.product.prodname_server_statistics %} drop-down menu with disabled or enabled options](/assets/images/help/server-statistics/server-statistics-enable-disable-options.png)

View File

@@ -21,6 +21,7 @@ children:
- /managing-github-connect
- /enabling-automatic-user-license-sync-for-your-enterprise
- /enabling-dependabot-for-your-enterprise
- /enabling-server-statistics-for-your-enterprise
- /enabling-unified-search-for-your-enterprise
- /enabling-unified-contributions-for-your-enterprise
shortTitle: GitHub Connect

View File

@@ -24,23 +24,25 @@ El aislamiento de subdominio mitiga las vulnerabilidades del estilo cross-site s
Cuando el aislamiento de subdominio está habilitado, {% data variables.product.prodname_ghe_server %} reemplaza varias rutas con subdominios. Después de haber habilitado el aislamiento de subdominios, los intentos para acceder a las rutas anteriores para encontrar algo del contenido que proporcionaron los usuarios, tal como `http(s)://HOSTNAME/raw/`, podría devolver errores de tipo `404`.
| Ruta sin aislamiento de subdominio | Ruta con aislamiento de subdominio |
| -------------------------------------- | ----------------------------------------------------------- |
| `http(s)://HOSTNAME/assets/` | `http(s)://assets.HOSTNAME/` |
| `http(s)://HOSTNAME/avatars/` | `http(s)://avatars.HOSTNAME/` |
| `http(s)://HOSTNAME/codeload/` | `http(s)://codeload.HOSTNAME/` |
| `http(s)://HOSTNAME/gist/` | `http(s)://gist.HOSTNAME/` |
| `http(s)://HOSTNAME/media/` | `http(s)://media.HOSTNAME/` |
| `http(s)://HOSTNAME/pages/` | `http(s)://pages.HOSTNAME/` |
| `http(s)://HOSTNAME/raw/` | `http(s)://raw.HOSTNAME/` |
| `http(s)://HOSTNAME/render/` | `http(s)://render.HOSTNAME/` |
| `http(s)://HOSTNAME/reply/` | `http(s)://reply.HOSTNAME/` |
| `http(s)://HOSTNAME/uploads/` | `http(s)://uploads.HOSTNAME/` |{% ifversion ghes %}
| Ruta sin aislamiento de subdominio | Ruta con aislamiento de subdominio |
| -------------------------------------- | -------------------------------------------------------------- |
| `http(s)://HOSTNAME/assets/` | `http(s)://assets.HOSTNAME/` |
| `http(s)://HOSTNAME/avatars/` | `http(s)://avatars.HOSTNAME/` |
| `http(s)://HOSTNAME/codeload/` | `http(s)://codeload.HOSTNAME/` |
| `http(s)://HOSTNAME/gist/` | `http(s)://gist.HOSTNAME/` |
| `http(s)://HOSTNAME/media/` | `http(s)://media.HOSTNAME/` |
| `http(s)://HOSTNAME/pages/` | `http(s)://pages.HOSTNAME/` |
| `http(s)://HOSTNAME/raw/` | `http(s)://raw.HOSTNAME/` |
| `http(s)://HOSTNAME/render/` | `http(s)://render.HOSTNAME/` |
| `http(s)://HOSTNAME/reply/` | `http(s)://reply.HOSTNAME/` |
| `http(s)://HOSTNAME/uploads/` | `http(s)://uploads.HOSTNAME/` |{% ifversion ghes %}
| `https://HOSTNAME/_registry/docker/` | `http(s)://docker.HOSTNAME/`{% endif %}{% ifversion ghes %}
| `https://HOSTNAME/_registry/npm/` | `https://npm.HOSTNAME/` |
| `https://HOSTNAME/_registry/rubygems/` | `https://rubygems.HOSTNAME/` |
| `https://HOSTNAME/_registry/maven/` | `https://maven.HOSTNAME/` |
| `https://HOSTNAME/_registry/nuget/` | `https://nuget.HOSTNAME/`{% endif %}
| `https://HOSTNAME/_registry/npm/` | `https://npm.HOSTNAME/` |
| `https://HOSTNAME/_registry/rubygems/` | `https://rubygems.HOSTNAME/` |
| `https://HOSTNAME/_registry/maven/` | `https://maven.HOSTNAME/` |
| `https://HOSTNAME/_registry/nuget/` | `https://nuget.HOSTNAME/`{% endif %}{% ifversion ghes > 3.4 %}
| Not supported | `https://containers.HOSTNAME/`
{% endif %}
## Prerrequisitos

View File

@@ -209,7 +209,7 @@ ghe-logs-tail
### ghe-maintenance
This utility allows you to control the state of the installation's maintenance mode. It's designed to be used primarily by the {% data variables.enterprise.management_console %} behind-the-scenes, but it can be used directly.
This utility allows you to control the state of the installation's maintenance mode. It's designed to be used primarily by the {% data variables.enterprise.management_console %} behind-the-scenes, but it can be used directly. For more information, see "[Enabling and scheduling maintenance mode](/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
```shell
ghe-maintenance -h

View File

@@ -130,6 +130,10 @@ $ ghe-restore -c 169.154.1.1
> Visita https://169.154.1.1/setup/settings para revisar la configuración del aparato.
```
{% if ip-exception-list %}
Optionally, to validate the restore, configure an IP exception list to allow access to a specified list of IP addresses. For more information, see "[Validating changes in maintenance mode using the IP exception list](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode#validating-changes-in-maintenance-mode-using-the-ip-exception-list)."
{% endif %}
{% note %}
**Nota:** Los ajustes de red están excluidos de la instantánea de copias de seguridad. Debes configurar manualmente la red en el aparato objetivo para el {% data variables.product.prodname_ghe_server %} como obligatoria para tu entorno.

View File

@@ -26,10 +26,7 @@ Los propietarios de las empresas pueden configurar los correos electrónicos par
## Configurar el SMTP para tu empresa
{% ifversion ghes %}
{% data reusables.enterprise_site_admin_settings.access-settings %}
{% data reusables.enterprise_site_admin_settings.management-console %}
2. En la parte superior de la página, haz clic en **Parámetros**. ![Pestaña Parámetros](/assets/images/enterprise/management-console/settings-tab.png)
3. En la barra lateral de la izquierda, haz clic en **Correo electrónico**. ![Pestaña Correo electrónico](/assets/images/enterprise/management-console/email-sidebar.png)
{% data reusables.enterprise_site_admin_settings.email-settings %}
4. Selecciona **Activar correo electrónico**. Esto activará tanto el correo electrónico de salida como el de entrada, sin embargo para trabajar con el correo electrónico entrante también necesitarás configurar los parámetros de tu DNS como se describe a continuación en ["Configurar DNS y parámetros de firewall para permitir correos electrónicos entrantes](#configuring-dns-and-firewall-settings-to-allow-incoming-emails)". ![Activar correo electrónico de salida](/assets/images/enterprise/management-console/enable-outbound-email.png)
5. Teclea la configuración para tu servidor de SMTP.
- En el campo **Dirección del servidor**, escribe la dirección de tu servidor SMTP.
@@ -38,9 +35,9 @@ Los propietarios de las empresas pueden configurar los correos electrónicos par
- Selecciona el menú desplegable de **Autenticación** y elige el tipo de cifrado que utiliza tu servidor SMTP.
- En el campo **Dirección de correo electrónico sin respuesta**, escribe la dirección de correo electrónico para usar en los campos De y Para para todos los correos electrónicos para notificaciones.
6. Si quieres descartar todos los correos electrónicos entrantes que estén dirigidos al correo electrónico sin respuesta, selecciona **Descartar correo electrónico dirigido a la dirección de correo electrónico sin respuesta**. ![Casilla de verificación para descartar los correos electrónicos dirigidos a la dirección de correo electrónico sin respuesta](/assets/images/enterprise/management-console/discard-noreply-emails.png)
7. En **Soporte**, elige un tipo de enlace para ofrecer un soporte adicional a tus usuarios.
- **Correo electrónico:** Una dirección de correo electrónico interna.
- **URL:** Un enlace a un sitio de soporte interno. Debes incluir tanto `http://` como `https://`. ![Correo de soporte técnico o URL](/assets/images/enterprise/management-console/support-email-url.png)
7. Under **Support**, choose a type of link to offer additional support to your users.
- **Email:** An internal email address.
- **URL:** A link to an internal support site. Debes incluir tanto `http://` como `https://`. ![Correo de soporte técnico o URL](/assets/images/enterprise/management-console/support-email-url.png)
8. [Prueba de entrega del correo electrónico](#testing-email-delivery).
{% elsif ghae %}
{% data reusables.enterprise-accounts.access-enterprise %}
@@ -89,7 +86,7 @@ Si quieres permitir respuestas de correo electrónico para las notificaciones, d
### Crea un Paquete de soporte
Si no puedes determinar qué está mal desde el mensaje de error mostrado, puedes descargar un [paquete de soporte](/enterprise/{{ currentVersion }}/admin/guides/enterprise-support/providing-data-to-github-support) que contiene toda la conversación SMTP entre tu servidor de correo y {% data variables.product.prodname_ghe_server %}. Una vez que hayas descargado el paquete, verifica las entradas en *enterprise-manage-logs/unicorn.log* de todo el registro de conversación SMTP y cualquier error relacionado.
If you cannot determine what is wrong from the displayed error message, you can download a [support bundle](/enterprise/{{ currentVersion }}/admin/guides/enterprise-support/providing-data-to-github-support) containing the entire SMTP conversation between your mail server and {% data variables.product.prodname_ghe_server %}. Once you've downloaded and extracted the bundle, check the entries in *enterprise-manage-logs/unicorn.log* for the entire SMTP conversation log and any related errors.
El registro unicornio debería mostrar una transacción similar a la siguiente:
@@ -164,7 +161,7 @@ Para procesar los correos electrónicos entrantes de manera adecuada, debes conf
### Controlar los parámetros de AWS Security Group o firewall
Si {% data variables.product.product_location %} está detrás de un firewall o está siendo servido a través de un AWS Security Group, asegúrate de que el puerto 25 esté abierto a todos los servidores de correo que envíen correos electrónicos a `reply@reply.[hostname]`.
If {% data variables.product.product_location %} is behind a firewall or is being served through an AWS Security Group, make sure port 25 is open to all mail servers that send emails to `reply@reply.[hostname]`.
### Contactar con soporte técnico
{% ifversion ghes %}

View File

@@ -0,0 +1,76 @@
---
title: Configuring web commit signing
shortTitle: Configure web commit signing
intro: 'You can enable auto-signing of commits made in the web interface of {% data variables.product.product_name %}.'
versions:
ghes: '>=3.5'
type: how_to
topics:
- Access management
- Enterprise
- Fundamentals
- Identity
- Security
permissions: 'Site administrators can configure web commit signing for {% data variables.product.product_location %}.'
---
## About web commit signing
If you enable web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits users make on the web interface of {% data variables.product.product_location %}. Commits signed by {% data variables.product.product_name %} will have a verified status. Para obtener más información, consulta "[Acerca de la verificación de firmas en las confirmaciones](/authentication/managing-commit-signature-verification/about-commit-signature-verification)."
You can enable web commit signing, rotate the private key used for web commit signing, and disable web commit signing.
## Enabling web commit signing
{% data reusables.enterprise_site_admin_settings.create-pgp-key-web-commit-signing %}
- If you have a no-reply email address defined in the {% data variables.enterprise.management_console %}, use that email address. If not, use any email address, such as `web-flow@my-company.com`. The email address does not need to be valid.
{% data reusables.enterprise_site_admin_settings.pgp-key-no-passphrase %}
{% data reusables.enterprise_site_admin_settings.pgp-key-env-variable %}
{% data reusables.enterprise_site_admin_settings.update-commit-signing-service %}
1. Enable web commit signing.
```bash{:copy}
ghe-config app.github.web-commit-signing-enabled true
```
1. Apply the configuration, then wait for the configuration run to complete.
```bash{:copy}
ghe-config-apply
```
1. Create a new user on {% data variables.product.product_location %} via built-in authentication or external authentication. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)."
- The user's username must be `web-flow`.
- The user's email address must be the same address you used for the PGP key.
{% data reusables.enterprise_site_admin_settings.add-key-to-web-flow-user %}
{% data reusables.enterprise_site_admin_settings.email-settings %}
1. Under "No-reply email address", type the same email address you used for the PGP key.
{% note %}
**Note:** The "No-reply email address" field will only be displayed if you've enabled email for {% data variables.product.product_location %}. Para obtener más información, consulta la sección "[Configurar las notificaciones de correo electrónico](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications#configuring-smtp-for-your-enterprise)".
{% endnote %}
{% data reusables.enterprise_management_console.save-settings %}
## Rotating the private key used for web commit signing
{% data reusables.enterprise_site_admin_settings.create-pgp-key-web-commit-signing %}
- Use the no-reply email address defined in the {% data variables.enterprise.management_console %}, which should be the same as the email address of the `web-flow` user.
{% data reusables.enterprise_site_admin_settings.pgp-key-no-passphrase %}
{% data reusables.enterprise_site_admin_settings.pgp-key-env-variable %}
{% data reusables.enterprise_site_admin_settings.update-commit-signing-service %}
{% data reusables.enterprise_site_admin_settings.add-key-to-web-flow-user %}
## Disabling web commit signing
You can disable web commit signing for {% data variables.product.product_location %}.
1. In the administrative shell, run the following command.
```bash{:copy}
ghe-config app.github.web-commit-signing-enabled false
```
1. Aplica la configuración
```bash{:copy}
ghe-config-apply
```

View File

@@ -33,12 +33,20 @@ Algunos tipos de operaciones exigen que desconectes tu {% data variables.product
Recomendamos que programe una ventana de mantenimiento para, al menos, los siguientes 30 minutos para darle a los usuarios tiempo para prepararse. Cuando está programada una ventana de mantenimiento, todos los usuarios verán un mensaje emergente al acceder al sitio.
![Mensaje emergente para el usuario final acerca del mantenimiento programado](/assets/images/enterprise/maintenance/maintenance-scheduled.png)
Cuando la instancia está en modo de mantenimiento, se rechazan todos los accesos HTTP y Git. Las operaciones de extracción, clonación y subida de Git también se rechazan con un mensaje de error que indica que temporalmente el sitio no se encuentra disponible. Se pausará la replicación de git en las configuraciones de disponibilidad alta. No se ejecutarán los jobs de las Github Actions. Al visitar el sitio desde un navegador aparece una página de mantenimiento.
![La pantalla de presentación del modo de mantenimiento](/assets/images/enterprise/maintenance/maintenance-mode-maintenance-page.png)
{% if ip-exception-list %}
You can perform initial validation of your maintenance operation by configuring an IP exception list to allow access to {% data variables.product.product_location %} from only the IP addresses and ranges provided. Attempts to access {% data variables.product.product_location %} from IP addresses not specified on the IP exception list will receive a response consistent with those sent when the instance is in maintenance mode.
{% endif %}
## Habilitar el modo de mantenimiento de inmediato o programar una ventana de mantenimiento para más tarde
{% data reusables.enterprise_site_admin_settings.access-settings %}
@@ -50,6 +58,23 @@ Cuando la instancia está en modo de mantenimiento, se rechazan todos los acceso
4. Selecciona **Habilitar el modo de mantenimiento**. ![Casilla de verificación para habilitar o programar el modo de mantenimiento](/assets/images/enterprise/maintenance/enable-maintenance-mode-checkbox.png)
{% data reusables.enterprise_management_console.save-settings %}
{% if ip-exception-list %}
## Validating changes in maintenance mode using the IP exception list
The IP exception list provides controlled and restricted access to {% data variables.product.product_location %}, which is ideal for initial validation of server health following a maintenance operation. Once enabled, {% data variables.product.product_location %} will be taken out of maintenance mode and available only to the configured IP addresses. The maintenance mode checkbox will be updated to reflect the change in state.
If you re-enable maintenance mode, the IP exception list will be disabled and {% data variables.product.product_location %} will return to maintenance mode. If you just disable the IP exception list, {% data variables.product.product_location %} will return to normal operation.
{% data reusables.enterprise_site_admin_settings.access-settings %}
{% data reusables.enterprise_site_admin_settings.management-console %}
1. At the top of the {% data variables.enterprise.management_console %}, click **Maintenance**, and confirm maintenance mode is already enabled. ![Pestaña de mantenimiento](/assets/images/enterprise/management-console/maintenance-tab.png)
1. Select **Enable IP exception list**. ![Checkbox for enabling ip exception list](/assets/images/enterprise/maintenance/enable-ip-exception-list.png)
1. In the text box, type a valid list of space-separated IP addresses or CIDR blocks that should be allowed to access {% data variables.product.product_location %}. ![completed field for IP addresses](/assets/images/enterprise/maintenance/ip-exception-list-ip-addresses.png)
1. Haz clic en **Save ** (guardar). ![after IP excetpion list has saved](/assets/images/enterprise/maintenance/ip-exception-save.png)
{% endif %}
## Programar el modo de mantenimiento con {% data variables.product.prodname_enterprise_api %}
Puedes programar el mantenimiento para horarios o días diferentes con {% data variables.product.prodname_enterprise_api %}. Para obtener más información, consulta la sección "[Consola de Administración](/enterprise/{{ currentVersion }}/user/rest/reference/enterprise-admin#enable-or-disable-maintenance-mode)".

View File

@@ -36,6 +36,7 @@ children:
- /configuring-github-pages-for-your-enterprise
- /configuring-the-referrer-policy-for-your-enterprise
- /configuring-custom-footers
- /configuring-web-commit-signing
shortTitle: Configurar tu empresa
---

View File

@@ -16,6 +16,12 @@ shortTitle: Increase CPU or memory
---
{% data reusables.enterprise_installation.warning-on-upgrading-physical-resources %}
{% note %}
**Note:** Before increasing CPU or memory resources, put your instance in maintenance mode.{% if ip-exception-list %} You can validate changes by configuring an IP exception list to allow access from specified IP addresses. {% endif %} For more information, see "[Enabling and scheduling maintenance mode](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
{% endnote %}
## Adding CPU or memory resources for AWS
{% note %}

View File

@@ -24,7 +24,7 @@ A medida que se suman usuarios {% data variables.product.product_location %}, es
{% note %}
**Nota:** Antes de ajustar el tamaño de cualquier volumen de almacenamiento, pon tu instancia en modo de mantenimiento. Para obtener más información, consulta "[Habilitar y programar el modo mantenimiento](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
**Note:** Before resizing any storage volume, put your instance in maintenance mode.{% if ip-exception-list %} You can validate changes by configuring an IP exception list to allow access from specified IP addresses. {% endif %} For more information, see "[Enabling and scheduling maintenance mode](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
{% endnote %}

View File

@@ -176,6 +176,9 @@ While you can use a hotpatch to upgrade to the latest patch release within a fea
Target root partition: /dev/xvda2
Proceed with installation? [y/N]
```
{% if ip-exception-list %}
1. Optionally, to validate the upgrade, configure an IP exception list to allow access to a specified list of IP addresses. For more information, see "[Validating changes in maintenance mode using the IP exception list](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode#validating-changes-in-maintenance-mode-using-the-ip-exception-list)."
{% endif %}
7. For single appliance upgrades, disable maintenance mode so users can use {% data variables.product.product_location %}.
{% note %}

View File

@@ -1,6 +1,6 @@
---
title: Habilitar las GitHub Actions con el almacenamiento de Amazon S3
intro: 'Puedes habilitar las {% data variables.product.prodname_actions %} en {% data variables.product.prodname_ghe_server %} y utilizar el almacenamiento de Amazon S3 para almacenar artefactos qeu generan las ejecuciones de flujos de trabajo.'
intro: 'You can enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} and use Amazon S3 storage to store data generated by workflow runs.'
permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.'
versions:
ghes: '*'
@@ -21,7 +21,7 @@ shortTitle: Almacenamiento de Amazon S3
Antes de que habilites las {% data variables.product.prodname_actions %}, asegúrate de que has completado los siguientes pasos:
* Crea tu bucket de Amazon S3 para almacenar artefactos que generan las ejecuciones de flujo de trabajo. {% indented_data_reference reusables.actions.enterprise-s3-permission spaces=2 %}
* Create your Amazon S3 bucket for storing data generated by workflow runs. {% indented_data_reference reusables.actions.enterprise-s3-permission spaces=2 %}
{% data reusables.actions.enterprise-common-prereqs %}

View File

@@ -1,6 +1,6 @@
---
title: Habilitar las GitHub Actions con el almacenamiento de Azure Blob
intro: 'Puedes habilitar las {% data variables.product.prodname_actions %} en {% data variables.product.prodname_ghe_server %} y utilizar el almacenamiento de Azure Blob para almacenar los artefactos que generen las ejecuciones de flujo de trabjo.'
intro: 'You can enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} and use Azure Blob storage to store data generated by workflow runs.'
permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.'
versions:
ghes: '*'
@@ -19,7 +19,7 @@ shortTitle: Azure Blob storage
Antes de que habilites las {% data variables.product.prodname_actions %}, asegúrate de que has completado los siguientes pasos:
* Crea tu cuenta de almacenamiento para almacenar artefactos del flujo de trabajo. {% data variables.product.prodname_actions %} almacena sus datos como blobs de bloque y son compatibles dos tipos de cuenta de almacenamiento:
* Create your Azure storage account for storing workflow data. {% data variables.product.prodname_actions %} almacena sus datos como blobs de bloque y son compatibles dos tipos de cuenta de almacenamiento:
* Una cuenta de almacenamiento para ** propósitos generales** (también conocida como `general-purpose v1` o `general-purpose v2`) que utiliza el nivel de rendimiento **estándar**.
{% warning %}

View File

@@ -1,6 +1,6 @@
---
title: Habilitar las GitHub Actions con la puerta de enlace de MinIO para el almacenamiento en NAS
intro: 'Puedes habilitar a las {% data variables.product.prodname_actions %} en {% data variables.product.prodname_ghe_server %} y utilizar la puerta de enlace de MinIO para el almacenamiento en NAS para almacenar artefactos que generan las ejecuciones del flujo de trabajo.'
intro: 'You can enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} and use MinIO Gateway for NAS storage to store data generated by workflow runs.'
permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.'
versions:
ghes: '*'
@@ -15,18 +15,14 @@ redirect_from:
shortTitle: Puerta de enlace de MinIO para el almacenamiento en NAS
---
{% warning %}
**Advertencia**: MinIO anunció la eliminación de MinIO Gateways. Desde el 1 de junio de 2022, tanto el soporte como las correcciones de errores para la implementación de la puerta de enlace de la NAS de MinIO estarán disponibles únicamente para los clientes con suscripciones de pago a través de su contrato de soporte LTS. Si quieres seguir utilizando MinIO Gateways con {% data variables.product.prodname_actions %}, te recomendamos migrarte al soporte LTS de MinIO. Para obtener más información, consulta el [programa para eliminar a MinIO Gateway para GCS, Azure, HDFS](https://github.com/minio/minio/issues/14331) en el repositorio minio/minio.
{% endwarning %}
{% data reusables.actions.minio-gateways-removal %}
## Prerrequisitos
Antes de que habilites las {% data variables.product.prodname_actions %}, asegúrate de que has completado los siguientes pasos:
* Para evitar la contención de recursos en el aplicativo, te recomendamos que hospedes a MinIO separado de {% data variables.product.product_location %}.
* Crea tu bucket para almacenar los artefactos del flujo de trabajo. Para configurar tu bucket y clave de acceso, consulta la [Documentación de MinIO](https://docs.min.io/docs/minio-gateway-for-nas.html). {% indented_data_reference reusables.actions.enterprise-s3-permission spaces=2 %}
* Create your bucket for storing workflow data. Para configurar tu bucket y clave de acceso, consulta la [Documentación de MinIO](https://docs.min.io/docs/minio-gateway-for-nas.html). {% indented_data_reference reusables.actions.enterprise-s3-permission spaces=2 %}
{% data reusables.actions.enterprise-common-prereqs %}

View File

@@ -39,7 +39,7 @@ Puedes crear tus propias automatizaciones únicas o puedes utilizar y adaptar fl
{% ifversion ghec %}Puedes disfrutar la convivencia de los ejecutores hospedados en {% data variables.product.company_short %}, los cuales mantiene y mejora {% data variables.product.company_short %}, o puedes{% else %}Puedes{% endif %} controlar tu propia infraestructura de IC/DC utilizando ejecutores auto-hospedados. Los ejecutores auto-hospedados te permiten determinar el ambiente y recursos exactos que completan tus compilaciones, pruebas y despliegues sin exponer tu ciclo de desarrollo de software a la internet. Para obtener más información, consulta las secciones {% ifversion ghec %}"[Acerca de los ejecutores hospedados por {% data variables.product.company_short %}](/actions/using-github-hosted-runners/about-github-hosted-runners)" y{% endif %} "[Acerca de los ejecutores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners)".
Las {% data variables.product.prodname_actions %} proprocionan un control mayor sobre los despliegues. Por ejemplo, puedes utilizar ambientes para requerir aprobaciones para que un job pueda proceder, restringir qué ramas pueden activar un flujo de trabajo o limitar el acceso a los secretos.{% ifversion ghec or ghae-issue-4856 %} Si tus flujos de trabajo necesitan acceder a los recursos desde un proveedor de servicios en la nube que sea compatible con OpenID Conect (OIDC), puedes configurar tus flujos de trabajo para que se autentiquen directamente con dicho proveedor. OIDC proporciona beneficios de seguridad tales como el eliminar la necesidad de almacenar credenciales como secretos de larga duración. Para obtener más información, consulta la sección "[Acerca del fortalecimiento de seguridad con OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)".{% endif %}
Las {% data variables.product.prodname_actions %} proprocionan un control mayor sobre los despliegues. For example, you can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets.{% ifversion ghec or ghae-issue-4856 or ghes > 3.4 %} If your workflows need to access resources from a cloud provider that supports OpenID Connect (OIDC), you can configure your workflows to authenticate directly to the cloud provider. OIDC proporciona beneficios de seguridad tales como el eliminar la necesidad de almacenar credenciales como secretos de larga duración. Para obtener más información, consulta la sección "[Acerca del fortalecimiento de seguridad con OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)".{% endif %}
Las {% data variables.product.prodname_actions %} también incluyen herramientas para regir el ciclo de desarrollo de software de tu empresa y satisfacer las obligaciones de cumplimiento. Para obtener más información, consulta la sección "[Requerir políticas para las {% data variables.product.prodname_actions %} en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)".

View File

@@ -26,7 +26,7 @@ Este artículo explica cómo los administradores de sitio pueden habilitar {% da
{% data reusables.enterprise.upgrade-ghes-for-actions %}
{% data reusables.actions.ghes-actions-not-enabled-by-default %} Necesitarás determinar si tu instancia tiene recursos de CPU y memoria adecuados para manejar la carga de {% data variables.product.prodname_actions %} sin causar una pérdida de rendimiento e incrementar esos recursos posiblemente. También necesitarás decidir qué proveedor de almacenamiento utilizarás para el almacenamiento de blobs que se requiere para almacenar artefactos que generan las ejecuciones de flujo de trabajo. Entonces, habilitarás las {% data variables.product.prodname_actions %} para tu empresa, administrarás los permisos de acceso y agregarás los ejecutores auto-hospedados para ejecutar los flujos de trabajo.
{% data reusables.actions.ghes-actions-not-enabled-by-default %} Necesitarás determinar si tu instancia tiene recursos de CPU y memoria adecuados para manejar la carga de {% data variables.product.prodname_actions %} sin causar una pérdida de rendimiento e incrementar esos recursos posiblemente. You'll also need to decide which storage provider you'll use for the blob storage required to store artifacts{% if actions-caching %} and caches{% endif %} generated by workflow runs. Entonces, habilitarás las {% data variables.product.prodname_actions %} para tu empresa, administrarás los permisos de acceso y agregarás los ejecutores auto-hospedados para ejecutar los flujos de trabajo.
{% data reusables.actions.introducing-enterprise %}
@@ -105,7 +105,7 @@ Optionally, you can limit resource consumption on {% data variables.product.prod
Para habilitar {% data variables.product.prodname_actions %} en {% data variables.product.prodname_ghe_server %}, debes tener acceso al almacenamiento externo de blobs.
{% data variables.product.prodname_actions %} utiliza el almacenamiento de blobs para almacenar artefactos que se generan con las ejecuciones de flujo de trabajo, tales como las bitácoras de flujo de trabajo y los artefactos de compilaciones que sube el usuario. La cantidad de almacenamiento requerida dependerá de tu uso de {% data variables.product.prodname_actions %}. Sólo se admite una sola configuración de almacenamiento externo y no puedes utilizar varios proveedores de almacenamiento al mismo tiempo.
{% data variables.product.prodname_actions %} uses blob storage to store data generated by workflow runs, such as workflow logs{% if actions-caching %}, caches,{% endif %} and user-uploaded build artifacts. La cantidad de almacenamiento requerida dependerá de tu uso de {% data variables.product.prodname_actions %}. Sólo se admite una sola configuración de almacenamiento externo y no puedes utilizar varios proveedores de almacenamiento al mismo tiempo.
{% data variables.product.prodname_actions %} es compatible con estos proveedores de almacenamiento:
@@ -119,6 +119,8 @@ Para habilitar {% data variables.product.prodname_actions %} en {% data variable
{% endnote %}
{% data reusables.actions.minio-gateways-removal %}
Antes de que habilites las {% data variables.product.prodname_actions %}, puedes probar tu configuración de almacenamiento desde el shell administrativo con la utilidad `ghe-actions-precheck`. Para obtener más información, consulta las secciones "[Utilidades de línea de comandos](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-actions-check)" y "[Acceder al shell administrativo (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)".
## Consideraciones de las conexiones

View File

@@ -111,20 +111,18 @@ Finalmente, deberías considerar el fortalecimiento de seguridad para los ejecut
{% data reusables.actions.about-artifacts %} Para obtener más información, consulta la sección "[Almacenar datos de flujo de trabajo como artefactos](/actions/advanced-guides/storing-workflow-data-as-artifacts)".
![Captura de pantalla del artefacto](/assets/images/help/repository/passing-data-between-jobs-in-a-workflow-updated.png)
{% if actions-caching %}{% data variables.product.prodname_actions %} also has a caching system that you can use to cache dependencies to speed up workflow runs. For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)."{% endif %}
{% ifversion ghes %}
Debes configurar un almacenamiento externo de blobs para estos artefactos. Decide qué proveedor de almacenamiento compatible utilizará tu empresa. Para obtener más información, consulta la sección "[Iniciar con las {% data variables.product.prodname_actions %} para {% data variables.product.product_name %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#external-storage-requirements)".
You must configure external blob storage for workflow artifacts{% if actions-caching %}, caches,{% endif %} and other workflow logs. Decide qué proveedor de almacenamiento compatible utilizará tu empresa. Para obtener más información, consulta la sección "[Iniciar con las {% data variables.product.prodname_actions %} para {% data variables.product.product_name %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#external-storage-requirements)".
{% endif %}
{% ifversion ghec or ghes %}
{% data reusables.actions.artifact-log-retention-statement %}
You can use policy settings for {% data variables.product.prodname_actions %} to customize the storage of workflow artifacts{% if actions-caching %}, caches,{% endif %} and log retention. Para obtener más información, consulta la sección "[Requerir políticas para las {% data variables.product.prodname_actions %} en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)".
{% endif %}
Si quieres retener bitácoras y artefactos por más tiempo que el límite superior que puedes configurar en {% data variables.product.product_name %}, necesitarás planear cómo exportar y almacenar los datos.
{% ifversion ghec %}
Tu suscripción incluye un poco de almacenamiento, pero el agregar almacenamiento adicional afectará tu factura. Deberías hacer planes para estos costos. Para obtener más información, consulta "[Acerca de la facturación para {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)".
{% endif %}

View File

@@ -16,19 +16,27 @@ topics:
- SSO
---
{% ifversion ghec %}
{% note %}
**Note:** This article only applies to {% data variables.product.prodname_emus %}. If you use {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, usernames are created by users, not {% data variables.product.prodname_dotcom %}.
{% endnote %}
{% endif %}
## About usernames with external authentication
{% ifversion ghes %}
You can configure external authentication for {% data variables.product.product_name %} using CAS, LDAP, or SAML. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)."
You can configure external authentication for {% data variables.product.product_name %} using CAS, LDAP, or SAML. Para obtener más información, consulta la sección "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)".
When you use external authentication, {% data variables.product.product_location %} automatically creates a username for each person when the person signs into {% data variables.product.product_location %} through your external authentication system for the first time.
{% elsif ghec %}
If you use an enterprise with {% data variables.product.prodname_emus %}, members of your enterprise authenticate to access {% data variables.product.prodname_dotcom %} through your SAML identity provider (IdP). Para obtener más información, consulta la sección "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)".
If you use an enterprise with {% data variables.product.prodname_emus %}, members of your enterprise authenticate to access {% data variables.product.prodname_dotcom %} through your SAML identity provider (IdP). For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)" and "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)."
{% data variables.product.product_name %} automatically creates a username for each person when the person signs in through your IdP for the first time.
{% data variables.product.product_name %} automatically creates a username for each person when their user account is provisioned via SCIM, by normalizing an identifier provided by your IdP. If multiple identifiers are normalized into the same username, a username conflict occurs, and only the first user account is created. You can resolve username conflicts by making a change in your IdP so that the normalized usernames will be unique.
{% elsif ghae %}
@@ -36,32 +44,63 @@ If you use an enterprise with {% data variables.product.prodname_emus %}, member
{% endif %}
{% ifversion ghec %}
## About usernames for {% data variables.product.prodname_managed_users %}
When your {% data variables.product.prodname_emu_enterprise %} is created, you will choose a short code that will be used as the suffix for your enterprise members' usernames. {% data reusables.enterprise-accounts.emu-shortcode %} El usuario de configuración que configure el SSO de SAML tendrá un nombre de usuario en el formato **@<em>SHORT-CODE</em>_admin**.
Cuando aprovisionas un usuario nuevo desde tu proveedor de identidad, el {% data variables.product.prodname_managed_user %} nuevo tendrá un nombre de usuario de {% data variables.product.prodname_dotcom %} en el formato de **@<em>IDP-USERNAME</em>_<em>SHORT-CODE</em>**. The <em>IDP-USERNAME</em> component is formed by normalizing the SCIM `userName` attribute value sent from the IdP.
| Proveedor de identidad | Nombre de usuario de {% data variables.product.prodname_dotcom %}
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Azure Active Directory (Azure AD) | _IDP-USERNAME_ is formed by normalizing the characters preceding the `@` character in the UPN (User Principal Name), which does not include the `#EXT#` for guest accounts. |
| Okta | _IDP-USERNAME_ is the normalized username attribute provided by the IdP. |
These rules may result in your IdP providing the same _IDP-USERNAME_ for multiple users. For example, for Azure AD, the following UPNs will result in the same username:
- `bob@contoso.com`
- `bob@fabrikam.com`
- `bob#EXT#fabrikamcom@contoso.com`
This will cause a username conflict, and only the first user will be provisioned. For more information, see "[Resolving username conflicts](#resolving-username-conflicts)."
{% endif %}
Usernames{% ifversion ghec %}, including underscore and short code,{% endif %} must not exceed 39 characters.
## About username normalization
Usernames for user accounts on {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %} can only contain alphanumeric characters and dashes (`-`).
{% ifversion ghec or ghes %}Cuando configuras la autenticación con {% ifversion ghes %}CAS, LDAP o {% endif %}SAML, {% endif %}{% data variables.product.product_name %} utiliza un identificador desde la cuenta de usuario en tu {% ifversion ghes %}proveedor de autenticación externo{% elsif ghec or ghae %}IdP{% endif %} para determinar el nombre de usuario de la cuenta del usuario correspondiente en {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %}. If the identifier for the account on your provider includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% ifversion ghec %}
When you configure SAML authentication, {% data variables.product.product_name %} uses the SCIM `userName` attribute value sent from the IdP to determine the username for the corresponding user account on {% data variables.product.prodname_dotcom_the_website %}. If this value includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% elsif ghes %}
When you configure CAS, LDAP, or SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your external authentication provider to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% elsif ghae %}
When you configure SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your IdP to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% endif %}
1. {% data variables.product.product_name %} will normalize any non-alphanumeric character in your account's username into a dash. For example, a username of `mona.the.octocat` will be normalized to `mona-the-octocat`. Nota que los nombres de usuarios normalizados tampoco pueden comenzar o terminar con una raya. Tampoco pueden contener dos rayas seguidas.
1. El {% data variables.product.product_name %} convertirá en raya cualquier caracter no alfanumérico en el nombre de tu cuenta de usuario. For example, a username of `mona.the.octocat` will be normalized to `mona-the-octocat`. Nota que los nombres de usuarios normalizados tampoco pueden comenzar o terminar con una raya. Tampoco pueden contener dos rayas seguidas.
1. Los nombres de usuarios creados a partir de direcciones de correo electrónico se crean con los caracteres normalizados que preceden al caracter `@`.
1. If multiple accounts are normalized into the same {% data variables.product.product_name %} username, only the first user account is created. Los siguientes usuarios con el mismo nombre de usuario no podrán registrarse.
1. Si múltiples cuentas se normalizan en el mismo nombre de usuario de {% data variables.product.product_name %}, solo se crea la primera cuenta de usuario. Los siguientes usuarios con el mismo nombre de usuario no podrán registrarse. {% ifversion ghec %}For more information, see "[Resolving username conflicts](#resolving-username-conflicts)."{% endif %}
### Examples of username normalization
| Identifier on provider | Normalized username for {% data variables.product.product_location %} | Resultado |
|:----------------------- |:--------------------------------------------------------------------- |:--------------------------------------------------------------------------------------------------------- |
| The.Octocat | `the-octocat` | El nombre de usuario se crea correctamente. |
| !The.Octocat | `-the-octocat` | No se crea este nombre de usuario debido a que comienza con una raya. |
| The.Octocat! | `the-octocat-` | No se crea este nombre de usuario debido a que termina con una raya. |
| The!!Octocat | `the--octocat` | No se crea este nombre de usuario debido a que contiene dos rayas seguidas. |
| The!Octocat | `the-octocat` | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
| The.Octocat@example.com | `the-octocat` | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
| Identifier on provider | Normalized username on {% data variables.product.prodname_dotcom %} | Resultado |
|:------------------------------------------------------------- |:------------------------------------------------------------------------------------------- |:--------------------------------------------------------------------------------------------------------- |
| The.Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | El nombre de usuario se crea correctamente. |
| !The.Octocat | `-the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario debido a que comienza con una raya. |
| The.Octocat! | `the-octocat-{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario debido a que termina con una raya. |
| The!!Octocat | `the--octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario debido a que contiene dos rayas seguidas. |
| The!Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
| `The.Octocat@example.com` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
| `mona.lisa.the.octocat.from.github.united.states@example.com` | `mona-lisa-the-octocat-from-github-united-states{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it exceeds the 39-character limit. |
{% ifversion not ghec %}
### About username normalization with SAML
{% ifversion ghec or ghes %}If you {% ifversion ghec %}use an enterprise with {% data variables.product.prodname_emus %}, you must use SAML authentication. {% else %}configure SAML authentication for {% data variables.product.product_location %}, {% endif %}{% endif %}{% data variables.product.product_name %} determines each person's username by one of the following assertions in the SAML response, ordered by priority.
{% ifversion ghes %}If you configure SAML authentication for {% data variables.product.product_location %}, {% endif %}{% data variables.product.product_name %} determines each person's username by one of the following assertions in the SAML response, ordered by descending priority.
1. The custom `username` attribute, if defined and present
1. Una aserción `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`, si hay una.
@@ -70,12 +109,49 @@ Usernames for user accounts on {% ifversion ghes or ghae %}{% data variables.pro
{% data variables.product.product_name %} requires the `NameID` element even if other attributes are present. For more information, see "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-attributes)."
{% data variables.product.product_name %} crea un mapeo entre la `NameID` del IdP y el nombre de usuario {% ifversion ghec or ghae %}en{% elsif ghes %}en{% endif %} {% data variables.product.product_location %}, así que la `NameID` debería ser persistente, única y no estar sujeta a los cambios durante el ciclo de vida del usuario.
{% data variables.product.product_name %} crea un mapeo entre la `NameID` del IdP y el nombre de usuario {% ifversion ghae %}en{% else %}en{% endif %} {% data variables.product.product_location %}, así que la `NameID` debería ser persistente, única y no estar sujeta a los cambios durante el ciclo de vida del usuario.
{% ifversion ghes %}
{% note %}
**Note**: If the `NameID` for a user does change on the IdP, the person will see an error message when {% ifversion ghec %}authenticating through your IdP to access your resources on{% else %}signing into{% endif} {% data variables.product.product_location %}. To restore the person's access, you'll need to update the user account's `NameID` mapping. For more information, see "[Updating a user's SAML `NameID`](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)."
**Note**: If the `NameID` for a user does change on the IdP, the person will see an error message when signing into {% data variables.product.product_location %}. To restore the person's access, you'll need to update the user account's `NameID` mapping. Para obtener más información, consulta la sección "[Actualizar la `NameID` de SAML de un usuario](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)".
{% endnote %}
{% endif %}
{% endif %}
{% ifversion ghec %}
## Resolving username conflicts
When a new user is being provisioned, if the user's normalized username conflicts with an existing user in the enterprise, the provisioning attempt will fail with a `409` error.
To resolve this problem, you must make a change in your IdP so that the normalized usernames will be unique. If you cannot change the identifier that's being normalized, you can change the attribute mapping for the `userName` attribute. If you change the attribute mapping, usernames of existing {% data variables.product.prodname_managed_users %} will be updated, but nothing else about the accounts will change, including activity history.
{% note %}
**Note:** {% data variables.contact.github_support %} cannot provide assistance with customizing attribute mappings or configuring custom expressions. You can contact your IdP with any questions.
{% endnote %}
### Resolving username conflicts with Azure AD
To resolve username conflicts in Azure AD, either modify the User Principal Name value for the conflicting user or modify the attribute mapping for the `userName` attribute. If you modify the attribute mapping, you can choose an existing attribute or use an expression to ensure that all provisioned users have a unique normalized alias.
1. In Azure AD, open the {% data variables.product.prodname_emu_idp_application %} application.
1. In the left sidebar, click **Provisioning**.
1. Click **Edit Provisioning**.
1. Expand **Mappings**, then click **Provision Azure Active Directory Users**.
1. Click the {% data variables.product.prodname_dotcom %} `userName` attribute mapping.
1. Change the attribute mapping.
- To map an existing attribute in Azure AD to the `userName` attribute in {% data variables.product.prodname_dotcom %}, click your desired attribute field. Then, save and wait for a provisioning cycle to occur within about 40 minutes.
- To use an expression instead of an existing attribute, change the Mapping type to "Expression", then add a custom expression that will make this value unique for all users. For example, you could use `[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]`. For more information, see [Reference for writing expressions for attribute mappings in Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/functions-for-customizing-application-data) in Microsoft Docs.
### Resolving username conflicts with Okta
To resolve username conflicts in Okta, update the attribute mapping settings for the {% data variables.product.prodname_emu_idp_application %} application.
1. In Okta, open the {% data variables.product.prodname_emu_idp_application %} application.
1. Haz clic en **Iniciar sesión**.
1. In the "Settings" section, click **Edit**.
1. Update the "Application username format."
{% endif %}

View File

@@ -56,6 +56,7 @@ Los {% data variables.product.prodname_managed_users_caps %} solo pueden colabor
* Otros usuarios de {% data variables.product.prodname_dotcom %} no pueden ver, mencionar o invitar a {% data variables.product.prodname_managed_user %} para colaborar.
* Los {% data variables.product.prodname_managed_users_caps %} solo pueden ser propietarios de repositorios privados y los {% data variables.product.prodname_managed_users %} solo pueden invitar a otros miembros de la empresa para que colaboren con sus propios repositorios.
* Solo se pueden crear repositorios internos y privados en las organizaciones que pertenezcan a una {% data variables.product.prodname_emu_enterprise %}, dependiendo de los ajustes de visibilidad del repositorio o empresa.
* {% data variables.product.prodname_managed_users_caps %} are limited in their use of {% data variables.product.prodname_pages %}. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)".
## Acerca de las empresas con usuarios administrados
@@ -87,17 +88,8 @@ Los {% data variables.product.prodname_managed_users_caps %} se deben autenticar
## Nombres de usuario e información de perfil
Cuando se cree tu {% data variables.product.prodname_emu_enterprise %}, elegirás un código corto que se utilizará como el sufijo de los nombres de usuario de los miembros de tu empresa. {% data reusables.enterprise-accounts.emu-shortcode %} El usuario de configuración que configure el SSO de SAML tendrá un nombre de usuario en el formato **@<em>SHORT-CODE</em>_admin**.
{% data variables.product.product_name %} automatically creates a username for each person by normalizing an identifier provided by your IdP. For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)."
Cuando aprovisionas un usuario nuevo desde tu proveedor de identidad, el {% data variables.product.prodname_managed_user %} nuevo tendrá un nombre de usuario de {% data variables.product.prodname_dotcom %} en el formato de **@<em>IDP-USERNAME</em>_<em>SHORT-CODE</em>**.
| Proveedor de identidad | Nombre de usuario de {% data variables.product.prodname_dotcom %}
| --------------------------------- | ----------------------------------------------------------------- |
| Azure Active Directory (Azure AD) | <ul><li>El _IDP-USERNAME_ se conforma con la normalización de caracteres que preceden a `@` en el UPN (Nombre Principal del Usuario).</li><li>A las cuentas de invitado se les quita `#EXT` del UPN.</li></ul> |
| Okta | <ul><li>El _IDP-USERNAME_ es el atributo de nombre de usuario normalizado que proporciona el IdP.</li></ul> |
Es posible que ocurra algún conflicto al aprovisionar los usuarios si las partes únicas del nombre de usuario que proporciona tu IdP se eliminan cuando esto se normaliza. Si no puedes aprovisionar a un usuario debido a un conflicto de nombres de usuario, deberías modificar el nombre de usuario que proporcionó tu IdP.
El nombre de usuario de la cuenta nueva que se aprovisionó en {% data variables.product.prodname_dotcom %}, incluyendo el guion bajo y código corto, no debe exceder los 39 caracteres.
A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)."
El nombre de perfil y dirección de correo electrónico de un {% data variables.product.prodname_managed_user %} también lo proporciona el IdP. Los {% data variables.product.prodname_managed_users_caps %} no pueden cambiar su nombre de perfil ni dirección de correo electrónico en {% data variables.product.prodname_dotcom %}.

View File

@@ -0,0 +1,102 @@
---
title: About Server Statistics
intro: 'You can use {% data variables.product.prodname_server_statistics %} to analyze your own aggregate data from {% data variables.product.prodname_ghe_server %}, and help us improve {% data variables.product.company_short %} products.'
versions:
feature: server-statistics
permissions: 'Enterprise owners can enable {% data variables.product.prodname_server_statistics %}.'
redirect_from:
- /early-access/github/analyze-how-your-team-works-with-server-statistics/about-server-statistics
topics:
- Enterprise
---
{% data reusables.server-statistics.release-phase %}
## About the benefits of {% data variables.product.prodname_server_statistics %}
{% data variables.product.prodname_server_statistics %} can help you anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}.
Once enabled, {% data variables.product.prodname_server_statistics %} collects aggregate data on how much certain features are used on your instance over time. Unlike other [Admin Stats API](/rest/reference/enterprise-admin#admin-stats) endpoints, which only return data for the last day, {% data variables.product.prodname_server_statistics %} provides historical data of all {% data variables.product.prodname_server_statistics %} metrics collected since the day you enabled the feature. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_server_statistics %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)".
When you enable {% data variables.product.prodname_server_statistics %}, you're helping to build a better {% data variables.product.prodname_dotcom %}. The aggregated data you'll provide gives us insights into how {% data variables.product.prodname_dotcom %} adds value to our customers. This information allows {% data variables.product.company_short %} to make better and more informed product decisions, ultimately benefiting you.
## About data security
We respect your data. We will never transmit data from {% data variables.product.product_location %} unless you have first given us permission to do so.
We collect no personal data. We also don't collect any {% data variables.product.company_short %} content, such as code, issues, comments, or pull request content.
Only owners of the connected enterprise account or organization on {% data variables.product.prodname_ghe_cloud %} can access the data.
Only certain aggregate metrics are collected on repositories, issues, pull requests, and other features. To see the list of aggregate metrics collected, see "[{% data variables.product.prodname_server_statistics %} data collected](#server-statistics-data-collected)."
Any updates to the collected metrics will happen in future feature releases of {% data variables.product.prodname_ghe_server %} and will be described in the [{% data variables.product.prodname_ghe_server %} release notes](/admin/release-notes). In addition, we will update this article with all metric updates.
For a better understanding of how we store and secure {% data variables.product.prodname_server_statistics %} data, see "[GitHub Security](https://github.com/security)."
### About data retention and deletion
{% data variables.product.company_short %} collects {% data variables.product.prodname_server_statistics %} data for as long as your {% data variables.product.prodname_ghe_server %} license is active and the {% data variables.product.prodname_server_statistics %} feature is enabled.
If you would like to delete your data, you may do so by contacting GitHub Support, your {% data variables.product.prodname_dotcom %} account representative, or your Customer Success Manager. Generally, we delete data in the timeframe specified in our privacy statement. For more information, see [{% data variables.product.company_short %}'s privacy statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement#data-retention-and-deletion-of-data) in the {% data variables.product.prodname_dotcom_the_website %} documentation.
### About data portability
As an organization owner or enterprise owner on {% data variables.product.prodname_ghe_cloud %}, you can access {% data variables.product.prodname_server_statistics %} data by exporting the data in a CSV or JSON file or through the {% data variables.product.prodname_server_statistics %} REST API. For more information, see "[Requesting {% data variables.product.prodname_server_statistics %} using the REST API](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api)" or "[Exporting {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/exporting-server-statistics)."
## About disabling data collection
You can disable the {% data variables.product.prodname_server_statistics %} feature at any time. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_server_statistics %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)".
## {% data variables.product.prodname_server_statistics %} data collected
After you enable {% data variables.product.prodname_server_statistics %}, metrics are collected through a daily job that runs on {% data variables.product.product_location %}. The aggregate metrics are stored on your organization or enterprise account on {% data variables.product.prodname_ghe_cloud %} and are not stored on {% data variables.product.product_location %}.
The following aggregate metrics will be collected and transmitted on a daily basis and represent the total counts for the day:
- `active_hooks`
- `admin_users`
- `closed_issues`
- `closed_milestones`
- `collection_date`
- `disabled_orgs`
- `dormancy_threshold`
- `fork_repos`
- `ghes_version`
- `github_connect_features_enabled`
- `inactive_hooks`
- `mergeable_pulls`
- `merged_pulls`
- `open_issues`
- `open_milestones`
- `org_repos`
- `private_gists`
- `public_gists`
- `root_repos`
- `schema_version`
- `server_id`
- `suspended_users`
- `total_commit_comments`
- `total_dormant_users`
- `total_gist_comments`
- `total_gists`
- `total_hooks`
- `total_issues`
- `total_issue_comments`
- `total_milestones`
- `total_repos`
- `total_orgs`
- `total_pages`
- `total_pull_request_comments`
- `total_pulls`
- `total_pushes`
- `total_team_members`
- `total_teams`
- `total_users`
- `total_wikis`
- `unmergeable_pulls`
## {% data variables.product.prodname_server_statistics %} payload example
To see an example of the response payload for the {% data variables.product.prodname_server_statistics %} API, see "[Requesting {% data variables.product.prodname_server_statistics %} using the REST API](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api)."
To see a list of the data collected, see "[{% data variables.product.prodname_server_statistics %} data collected](#server-statistics-data-collected)."

View File

@@ -0,0 +1,43 @@
---
title: Exporting Server Statistics
shortTitle: Export Server Statistics
intro: 'You can use your own tools to analyze your {% data variables.product.prodname_ghe_server %} usage over time by downloading your {% data variables.product.prodname_server_statistics %} metrics in a CSV or JSON file.'
versions:
feature: server-statistics
redirect_from:
- /early-access/github/analyze-how-your-team-works-with-server-statistics/exploring-server-statistics
---
{% data reusables.server-statistics.release-phase %}
You can download up to the last 365 days of {% data variables.product.prodname_server_statistics %} data in a CSV or JSON file. This data, which includes aggregate metrics on repositories, issues, and pull requests, can help you anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}.
Before you can download this data, you must enable {% data variables.product.prodname_server_statistics %}. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_server_statistics %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)".
To preview the metrics available to download, see "[About {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics)."
To download these metrics, you must be an enterprise owner or organization owner on {% data variables.product.prodname_ghe_cloud %}.
- If {% data variables.product.product_location %} is connected to an enterprise account on {% data variables.product.prodname_ghe_cloud %}, see "[Downloading metrics from your enterprise account](#downloading-metrics-from-your-enterprise-account)."
- If {% data variables.product.product_location %} is connected to an organization on {% data variables.product.prodname_ghe_cloud %}, see "[Downloading metrics from your organization](#downloading-metrics-from-your-organization)."
Para aprender más sobre el {% data variables.product.prodname_github_connect %}, consulta la sección "[Acerca del {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect)".
## Downloading metrics from your enterprise account
1. En la esquina superior derecha de {% data variables.product.prodname_ghe_cloud %}, da clic en tu foto de perfil y luego en **Tus empresas**. ![Drop down menu with "Your enterprises" option](/assets/images/help/enterprises/enterprise-admin-account-settings.png)
2. Next to your desired enterprise account, click **Settings**. ![Settings button next to Enterprise admin account](/assets/images/help/enterprises/enterprise-admin-account-settings-button.png)
3. On the left, click **GitHub Connect**. ![GitHub Connect option under enterprise admin account](/assets/images//help/enterprises/enterprise-admin-github-connect.png)
{% data reusables.server-statistics.csv-download %}
## Downloading metrics from your organization
1. In the top-right corner of {% data variables.product.prodname_ghe_cloud %}, click your profile photo, then click **Your organizations**. ![Drop down menu with "Your organizations" option](/assets/images/help/enterprises/github-enterprise-cloud-organizations.png)
2. In the list of organizations, next to the organization that's connected to {% data variables.product.product_location %}, click **Settings**. ![Settings button next to {% data variables.product.prodname_ghe_cloud %} organization](/assets/images/help/enterprises/settings-for-ghec-org.png)
3. On the left, click **GitHub Connect**. ![GitHub Connect option in an organization account settings left sidebar](/assets/images/help/enterprises/github-connect-option-for-ghec-org.png)
{% data reusables.server-statistics.csv-download %}

View File

@@ -0,0 +1,12 @@
---
title: Analyzing how your team works with Server Statistics
shortTitle: Server Statistics
intro: 'To analyze how your team works, understand the value you get from {% data variables.product.prodname_ghe_server %}, and help us improve our products, you can use {% data variables.product.prodname_server_statistics %} to review your usage data for {% data variables.product.prodname_ghe_server %} and share this aggregate data with {% data variables.product.company_short %}.'
versions:
feature: server-statistics
children:
- /about-server-statistics
- /exporting-server-statistics
- /requesting-server-statistics-using-the-rest-api
---

View File

@@ -0,0 +1,17 @@
---
title: Requesting Server Statistics using the REST API
shortTitle: Server Statistics and REST API
intro: 'You can use your own tools to analyze your {% data variables.product.prodname_ghe_server %} usage over time by requesting the {% data variables.product.prodname_server_statistics %} metrics collected using the REST API.'
versions:
feature: server-statistics
redirect_from:
- /early-access/github/analyze-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api
---
{% data reusables.server-statistics.release-phase %}
You can request up to 365 days of metrics in a single {% data variables.product.prodname_server_statistics %} REST API request. This data, which includes aggregate metrics on repositories, issues, and pull requests, can help you anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}. For a list of the metrics collected, see "[{% data variables.product.prodname_server_statistics %} data collected](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)."
Before you can use the {% data variables.product.prodname_server_statistics %} REST API, you must enable {% data variables.product.prodname_server_statistics %}. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_server_statistics %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)".
For more information about using the REST API to request server statistics, see "[Get {% data variables.product.prodname_ghe_server %} statistics](/enterprise-cloud@latest/rest/enterprise-admin/admin-stats#get-github-enterprise-server-statistics)" in the {% data variables.product.prodname_ghe_cloud %} REST API documentation.

View File

@@ -12,6 +12,7 @@ topics:
children:
- /reviewing-audit-logs-for-your-enterprise
- /exploring-user-activity
- /analyzing-how-your-team-works-with-server-statistics
shortTitle: Monitor activity
---

View File

@@ -89,9 +89,9 @@ topics:
| `business.cancel_admin_invitation` | An invitation for someone to be an owner{% ifversion ghes %} or site administrator{% endif %} of an enterprise was canceled. | `business.cancel_billing_manager_invitation` | An invitation for someone to be an billing manager of an enterprise was canceled.
{%- endif %}
{%- ifversion ghes %}
| `business.clear_actions_settings` | An enterprise owner or site administrator cleared {% data variables.product.prodname_actions %} policy settings for an enterprise. For more information, see "[Enforcing policies for GitHub Actions in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)."
| `business.clear_actions_settings` | An enterprise owner or site administrator cleared {% data variables.product.prodname_actions %} policy settings for an enterprise. Para obtener más información, consulta la sección "[Requerir políticas para las GitHub Actions en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)".
{%- endif %}
| `business.clear_default_repository_permission` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the base repository permission policy setting for an enterprise. For more information, see "[Enforcing a policy for base repository permissions](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-base-repository-permissions)." | `business.clear_members_can_create_repos` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared a restriction on repository creation in organizations in the enterprise. Para obtener más información, consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)". | `business.create` | An enterprise was created.
| `business.clear_default_repository_permission` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the base repository permission policy setting for an enterprise. Para obtener más información, consulta la sección "[Requerir una política para los permisos de los repositorios base](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-base-repository-permissions)". | `business.clear_members_can_create_repos` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared a restriction on repository creation in organizations in the enterprise. Para obtener más información, consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)". | `business.create` | An enterprise was created.
{%- ifversion ghec %}
| `business.disable_saml` | SAML single sign-on was disabled for an enterprise.
{%- endif %}
@@ -103,7 +103,7 @@ topics:
{%- ifversion ghec %}
| `business.enterprise_server_license_download` | A {% data variables.product.prodname_ghe_server %} license was downloaded. | `business.import_license_usage` | License usage information was imported from a {% data variables.product.prodname_ghe_server %} instance to an enterprise account on {% data variables.product.prodname_dotcom_the_website %}. | `business.invite_admin` | An invitation for someone to be an enterprise owner{% ifversion ghes %} or site administrator{% endif %} of an enterprise was sent. | `business.invite_billing_manager` | An invitation for someone to be an billing manager of an enterprise was sent.
{%- endif %}
| `business.members_can_update_protected_branches.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} unset a policy for whether members of an enterprise can update protected branches on repositories for individual organizations. Organization administrators can choose whether to allow updating protected branches settings. | `business.members_can_update_protected_branches.disable` | The ability for enterprise members to update branch protection rules was disabled. Only enterprise owners can update protected branches. | `business.members_can_update_protected_branches.enable` | The ability for enterprise members to update branch protection rules was enabled. Enterprise owners and members can update protected branches. | `business.remove_admin` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} was removed from an enterprise.
| `business.members_can_update_protected_branches.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} unset a policy for whether members of an enterprise can update protected branches on repositories for individual organizations. Los administradores de las organizaciones pudieron elegir si se permitía la actualización de los ajustes de ramas protegidas o no. | `business.members_can_update_protected_branches.disable` | The ability for enterprise members to update branch protection rules was disabled. Solo los propietarios de las empresas pueden actualizar las ramas protegidas. | `business.members_can_update_protected_branches.enable` | The ability for enterprise members to update branch protection rules was enabled. Enterprise owners and members can update protected branches. | `business.remove_admin` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} was removed from an enterprise.
{%- ifversion ghes > 3.1 %}
| `business.referrer_override_enable` | An enterprise owner or site administrator enabled the referrer policy override. Para obtener más información, consulta la sección "[Configurar la política del referente para tu empresa](/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise)". | `business.referrer_override_disable` | An enterprise owner or site administrator disabled the referrer policy override. Para obtener más información, consulta la sección "[Configurar la política del referente para tu empresa](/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise)".
{%- endif %}
@@ -145,10 +145,10 @@ topics:
### `checks` category actions
| Acción | Descripción |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `checks.auto_trigger_disabled` | Automatic creation of check suites was disabled on a repository in the organization or enterprise. For more information, see "[Update repository preferences for check suites](/rest/reference/checks#update-repository-preferences-for-check-suites)." |
| `checks.auto_trigger_enabled` | Automatic creation of check suites was enabled on a repository in the organization or enterprise. Para obtener más información, consulta la sección "[Actualizar las preferencias de repositorio para las suites de verificación](/rest/reference/checks#update-repository-preferences-for-check-suites)". |
| Acción | Descripción |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `checks.auto_trigger_disabled` | Automatic creation of check suites was disabled on a repository in the organization or enterprise. Para obtener más información, consulta la sección "[Actualizar las preferencias de repositorio para las suites de verificación](/rest/reference/checks#update-repository-preferences-for-check-suites)". |
| `checks.auto_trigger_enabled` | Automatic creation of check suites was enabled on a repository in the organization or enterprise. Para obtener más información, consulta la sección "[Actualizar las preferencias de repositorio para las suites de verificación](/rest/reference/checks#update-repository-preferences-for-check-suites)". |
{%- ifversion fpt or ghec %}
| `checks.delete_logs` | Logs in a check suite were deleted.
{%- endif %}
@@ -183,7 +183,7 @@ topics:
| Acción | Descripción |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `config_entry.create` | A configuration setting was created. These events are only visible in the site admin audit log. The type of events recorded relate to:</br>- Enterprise settings and policies</br>- Organization and repository permissions and settings</br>- Git, Git LFS, {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_registry %}, project, and code security settings. |
| `config_entry.create` | A configuration setting was created. Estos eventos solo se pueden ver en la bitácora de auditoría del administrador de sitio. El tipo de eventos registrado se relaciona con:</br>- Políticas y ajustes de empresa</br>- Permisos y ajustes de repositorio y organización</br>- Git, LFS de Git, {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_registry %}, proyecto, y ajustes de seguridad de código. |
| `config_entry.destroy` | A configuration setting was deleted. Estos eventos solo se pueden ver en la bitácora de auditoría del administrador de sitio. El tipo de eventos registrado se relaciona con:</br>- Políticas y ajustes de empresa</br>- Permisos y ajustes de repositorio y organización</br>- Git, LFS de Git, {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_registry %}, proyecto, y ajustes de seguridad de código. |
| `config_entry.update` | A configuration setting was edited. Estos eventos solo se pueden ver en la bitácora de auditoría del administrador de sitio. El tipo de eventos registrado se relaciona con:</br>- Políticas y ajustes de empresa</br>- Permisos y ajustes de repositorio y organización</br>- Git, LFS de Git, {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_registry %}, proyecto, y ajustes de seguridad de código. |
{%- endif %}
@@ -301,7 +301,7 @@ topics:
| `enterprise.runner_group_runners_added` | A {% data variables.product.prodname_actions %} self-hosted runner was added to a group. Para obtener más información, consulta la sección [Mover un ejecutor auto-hospedado a un grupo](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). |
| `enterprise.runner_group_runners_updated` | A {% data variables.product.prodname_actions %} runner group's list of members was updated. Para obtener más información, consulta la sección "[Configurar ejecutores auto-hospedados en un grupo para una organización](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)". |
{%- ifversion ghec %}
| `enterprise.runner_group_visiblity_updated` | The visibility of a {% data variables.product.prodname_actions %} self-hosted runner group was updated via the REST API. For more information, see "[Update a self-hosted runner group for an organization](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization)."
| `enterprise.runner_group_visiblity_updated` | The visibility of a {% data variables.product.prodname_actions %} self-hosted runner group was updated via the REST API. Para obtener más información, consulta la sección "[Actualizar un grupo de ejecutores auto-hospedados para una organización](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization)".
{%- endif %}
{%- ifversion ghec or ghes > 3.1 or ghae %}
| `enterprise.self_hosted_runner_online` | The {% data variables.product.prodname_actions %} runner application was started. Solo se puede ver utilizando la API de REST; no está visible en la IU o en la exportación de JSON/CSV. Para obtener más información, consulta "[Comprobar el estado de un ejecutor autoalojado](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." | `enterprise.self_hosted_runner_offline` | The {% data variables.product.prodname_actions %} runner application was stopped. Solo se puede ver utilizando la API de REST; no está visible en la IU o en la exportación de JSON/CSV. Para obtener más información, consulta "[Comprobar el estado de un ejecutor autoalojado](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)."
@@ -316,7 +316,7 @@ topics:
| Acción | Descripción |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enterprise_domain.approve` | An enterprise domain was approved for an enterprise. For more information, see "[Approving a domain for your enterprise account](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#approving-a-domain-for-your-enterprise-account)." |
| `enterprise_domain.create` | An enterprise domain was added to an enterprise. For more information, see "[Verifying a domain for your enterprise account](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#verifying-a-domain-for-your-enterprise-account)." |
| `enterprise_domain.create` | An enterprise domain was added to an enterprise. Para obtener más información, consulta la sección "[Verificar un dominio para tu cuenta empresarial](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#verifying-a-domain-for-your-enterprise-account)". |
| `enterprise_domain.destroy` | An enterprise domain was removed from an enterprise. For more information, see "[Removing an approved or verified domain](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#removing-an-approved-or-verified-domain)." |
| `enterprise_domain.verify` | An enterprise domain was verified for an enterprise. Para obtener más información, consulta la sección "[Verificar un dominio para tu cuenta empresarial](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#verifying-a-domain-for-your-enterprise-account)". |
@@ -334,8 +334,8 @@ topics:
| Acción | Descripción |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `environment.add_protection_rule` | A {% data variables.product.prodname_actions %} environment protection rule was created via the API. For more information, see "[Environment protection rules](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." |
| `environment.create_actions_secret` | A secret was created for a {% data variables.product.prodname_actions %} environment via the API. For more information, see "[Environment secrets](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets)." |
| `environment.add_protection_rule` | A {% data variables.product.prodname_actions %} environment protection rule was created via the API. Para obtener más información, consulta la sección "[reglas de protección de ambiente](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)". |
| `environment.create_actions_secret` | A secret was created for a {% data variables.product.prodname_actions %} environment via the API. Para obtener más información, consulta la sección ["Secretos de ambiente](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets)". |
| `environment.delete` | An environment was deleted via the API. For more information, see "[Deleting an environment](/actions/deployment/targeting-different-environments/using-environments-for-deployment#deleting-an-environment)." |
| `environment.remove_actions_secret` | A secret was deleted for a {% data variables.product.prodname_actions %} environment via the API. Para obtener más información, consulta la sección ["Secretos de ambiente](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets)". |
| `environment.remove_protection_rule` | A {% data variables.product.prodname_actions %} environment protection rule was deleted via the API. Para obtener más información, consulta la sección "[reglas de protección de ambiente](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)". |
@@ -465,7 +465,7 @@ topics:
| Acción | Descripción |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `issues.deletes_disabled` | The ability for enterprise members to delete issues was disabled. Members cannot delete issues in any organizations in an enterprise. For more information, see "[Enforcing a policy for deleting issues](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues)." |
| `issues.deletes_disabled` | The ability for enterprise members to delete issues was disabled. Members cannot delete issues in any organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para borrar las propuestas](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues)". |
| `issues.deletes_enabled` | The ability for enterprise members to delete issues was enabled. Members can delete issues in any organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para borrar las propuestas](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues)". |
| `issues.deletes_policy_cleared` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for allowing members to delete issues in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para borrar las propuestas](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues)". |
@@ -497,10 +497,10 @@ topics:
### `members_can_create_private_pages` category actions
| Acción | Descripción |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `members_can_create_private_pages.disable` | The ability for members to publish private {% data variables.product.prodname_pages %} was disabled. Members cannot publish private {% data variables.product.prodname_pages %} in an organization. For more information, see "[Managing the publication of GitHub Pages sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." |
| `members_can_create_private_pages.enable` | The ability for members to publish private {% data variables.product.prodname_pages %} was enabled. Members can publish private {% data variables.product.prodname_pages %} in an organization. Para obtener más información, consulta la sección "[Administrar la publicación de los sitios de GitHub Pages para tu organización](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)". |
| Acción | Descripción |
| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `members_can_create_private_pages.disable` | The ability for members to publish private {% data variables.product.prodname_pages %} was disabled. Members cannot publish private {% data variables.product.prodname_pages %} in an organization. Para obtener más información, consulta la sección "[Administrar la publicación de los sitios de GitHub Pages para tu organización](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)". |
| `members_can_create_private_pages.enable` | The ability for members to publish private {% data variables.product.prodname_pages %} was enabled. Members can publish private {% data variables.product.prodname_pages %} in an organization. Para obtener más información, consulta la sección "[Administrar la publicación de los sitios de GitHub Pages para tu organización](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)". |
### `members_can_create_public_pages` category actions
@@ -512,11 +512,11 @@ topics:
{%- ifversion ghec or ghes or ghae %}
### `members_can_delete_repos` category actions
| Acción | Descripción |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `members_can_delete_repos.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for deleting or transfering repositories in any organizations in an enterprise. For more information, see "[Enforcing a policy for repository deletion and transfer](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)." |
| `members_can_delete_repos.disable` | The ability for enterprise members to delete repositories was disabled. Members cannot delete or transfer repositories in any organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para el borrado y transferencia de repositorios](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)". |
| `members_can_delete_repos.enable` | The ability for enterprise members to delete repositories was enabled. Members can delete or transfer repositories in any organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para el borrado y transferencia de repositorios](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)". |
| Acción | Descripción |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `members_can_delete_repos.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for deleting or transfering repositories in any organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para el borrado y transferencia de repositorios](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)". |
| `members_can_delete_repos.disable` | The ability for enterprise members to delete repositories was disabled. Members cannot delete or transfer repositories in any organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para el borrado y transferencia de repositorios](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)". |
| `members_can_delete_repos.enable` | The ability for enterprise members to delete repositories was enabled. Members can delete or transfer repositories in any organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para el borrado y transferencia de repositorios](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)". |
### `members_can_view_dependency_insights` category actions
@@ -596,7 +596,7 @@ topics:
{%- ifversion fpt or ghec or ghes %}
| `org.create_actions_secret` | A {% data variables.product.prodname_actions %} secret was created for an organization. Para obtener más información, consulta la sección "[Crear secretos cifrados para una organización](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization)".
{%- endif %}
| `org.create_integration_secret` | A {% data variables.product.prodname_dependabot %}{% ifversion fpt or ghec %} or {% data variables.product.prodname_codespaces %}{% endif %} integration secret was created for an organization. | `org.delete` | An organization was deleted by a user-initiated background job. | `org.disable_member_team_creation_permission` | An organization owner limited team creation to owners. Para obtener más información, consulta "[Configurar los permisos de creación de equipo en tu organización](/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization)." | `org.disable_reader_discussion_creation_permission` | An organization owner limited discussion creation to users with at least triage permission in an organization. {% ifversion fpt or ghec %}For more information, see "[Allowing or disallowing users with read access to create discussions](/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization)."{% endif %}
| `org.create_integration_secret` | A {% data variables.product.prodname_dependabot %}{% ifversion fpt or ghec %} or {% data variables.product.prodname_codespaces %}{% endif %} integration secret was created for an organization. | `org.delete` | An organization was deleted by a user-initiated background job. | `org.disable_member_team_creation_permission` | An organization owner limited team creation to owners. Para obtener más información, consulta "[Configurar los permisos de creación de equipo en tu organización](/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization)." | `org.disable_reader_discussion_creation_permission` | An organization owner limited discussion creation to users with at least triage permission in an organization. {% ifversion fpt or ghec %}Para obtener más información, consulta la sección "[Permitir o dejar de permitir que los usuarios con acceso de lectura creen debates](/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization)".{% endif %}
{%- ifversion fpt or ghec %}
| `org.disable_oauth_app_restrictions` | Third-party application access restrictions for an organization were disabled. For more information, see "[Disabling OAuth App access restrictions for your organization](/organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization)."
{%- endif %}
@@ -669,7 +669,7 @@ topics:
| Acción | Descripción |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `org_credential_authorization.deauthorized` | A member deauthorized credentials for use with SAML single sign-on. |
| {% ifversion ghec or ghae %}For more information, see "[Authenticating with SAML single sign-on](/authentication/authenticating-with-saml-single-sign-on)."{% endif %} | |
| {% ifversion ghec or ghae %}Para obtener más información, consulta la sección "[Autenticarse con el inicio de sesión único de SAML](/authentication/authenticating-with-saml-single-sign-on)".{% endif %} | |
| `org_credential_authorization.grant` | A member authorized credentials for use with SAML single sign-on. |
| {% ifversion ghec or ghae %}Para obtener más información, consulta la sección "[Autenticarse con el inicio de sesión único de SAML](/authentication/authenticating-with-saml-single-sign-on)".{% endif %} | |
| `org_credential_authorization.revoke` | An owner revoked authorized credentials. {% ifversion ghec %}For more information, see "[Viewing and managing your active SAML sessions](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)."{% endif %}
@@ -699,17 +699,17 @@ topics:
| Acción | Descripción |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `organization_domain.approve` | An enterprise domain was approved for an organization. For more information, see "[Approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#approving-a-domain-for-your-organization)." |
| `organization_domain.create` | An enterprise domain was added to an organization. For more information, see "[Verifying a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization)." |
| `organization_domain.create` | An enterprise domain was added to an organization. Para obtener más información, consulta la sección "[Verificar un dominio para tu organización](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization)". |
| `organization_domain.destroy` | An enterprise domain was removed from an organization. For more information, see "[Removing an approved or verified domain](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#removing-an-approved-or-verified-domain)." |
| `organization_domain.verify` | An enterprise domain was verified for an organization. Para obtener más información, consulta la sección "[Verificar un dominio para tu organización](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization)". |
### `organization_projects_change` category actions
| Acción | Descripción |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `organization_projects_change.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for organization-wide project boards in an enterprise. For more information, see "[Enforcing a policy for organization-wide project boards](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)." |
| `organization_projects_change.disable` | Organization projects were disabled for all organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para los tableros de proyecto en toda la organización](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)". |
| `organization_projects_change.enable` | Organization projects were enabled for all organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para los tableros de proyecto en toda la organización](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)". |
| Acción | Descripción |
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `organization_projects_change.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for organization-wide project boards in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para los tableros de proyecto en toda la organización](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)". |
| `organization_projects_change.disable` | Organization projects were disabled for all organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para los tableros de proyecto en toda la organización](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)". |
| `organization_projects_change.enable` | Organization projects were enabled for all organizations in an enterprise. Para obtener más información, consulta la sección "[Requerir una política para los tableros de proyecto en toda la organización](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)". |
{%- endif %}
{%- ifversion fpt or ghec or ghes > 3.0 or ghae %}
@@ -721,7 +721,7 @@ topics:
| `packages.package_deleted` | A package was deleted from an organization.{% ifversion fpt or ghec or ghes > 3.1 %} For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %}
| `packages.package_published` | A package was published or republished to an organization. |
| `packages.package_restored` | An entire package was restored.{% ifversion fpt or ghec or ghes > 3.1 %} For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %}
| `packages.package_version_deleted` | A specific package version was deleted.{% ifversion fpt or ghec or ghes > 3.1 %} For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %}
| `packages.package_version_deleted` | Se borró una versión específica de un paquete.{% ifversion fpt or ghec or ghes > 3.1 %} Para obtener más información, consulta la sección "[Borrar y restablecer un paquete](/packages/learn-github-packages/deleting-and-restoring-a-package)".{% endif %}
| `packages.package_version_published` | A specific package version was published or republished to a package. |
| `packages.package_version_restored` | Se borró una versión específica de un paquete.{% ifversion fpt or ghec or ghes > 3.1 %} Para obtener más información, consulta la sección "[Borrar y restablecer un paquete](/packages/learn-github-packages/deleting-and-restoring-a-package)".{% endif %}
| `packages.part_upload` | A specific package version was partially uploaded to an organization. |
@@ -762,7 +762,7 @@ topics:
| Acción | Descripción |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pre_receive_environment.create` | A pre-receive hook environment was created. For more information, see "[Creating a pre-receive hook environment](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)." |
| `pre_receive_environment.create` | A pre-receive hook environment was created. Para obtener más información, consulta la sección "[Crear un ambiente de gancho de pre-recepción](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)". |
| `pre_receive_environment.destroy` | A pre-receive hook environment was deleted. Para obtener más información, consulta la sección "[Crear un ambiente de gancho de pre-recepción](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)". |
| `pre_receive_environment.download` | A pre-receive hook environment was downloaded. Para obtener más información, consulta la sección "[Crear un ambiente de gancho de pre-recepción](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)". |
| `pre_receive_environment.update` | A pre-receive hook environment was updated. Para obtener más información, consulta la sección "[Crear un ambiente de gancho de pre-recepción](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)". |
@@ -771,7 +771,7 @@ topics:
| Acción | Descripción |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pre_receive_hook.create` | A pre-receive hook was created. For more information, see "[Creating pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance#creating-pre-receive-hooks)." |
| `pre_receive_hook.create` | Se creó un gancho de pre-recepción. For more information, see "[Creating pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance#creating-pre-receive-hooks)." |
| `pre_receive_hook.destroy` | A pre-receive hook was deleted. For more information, see "[Deleting pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance#deleting-pre-receive-hooks)." |
| `pre_receive_hook.enforcement` | A pre-receive hook enforcement setting allowing repository and organization administrators to override the hook configuration was enabled or disabled. For more information, see "[Managing pre-receive hooks on the GitHub Enterprise Server appliance](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance)." |
| `pre_receive_hook.rejected_push` | A pre-receive hook rejected a push. |
@@ -803,7 +803,7 @@ topics:
| `project.close` | A project board was closed. For more information, see "[Closing a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board)." |
| `project.create` | A project board was created. For more information, see "[Creating a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board)." |
| `project.delete` | A project board was deleted. For more information, see "[Deleting a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board)." |
| `project.link` | A repository was linked to a project board. For more information, see "[Linking a repository to a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board)." |
| `project.link` | A repository was linked to a project board. Para obtener más información, consulta "[Vincular un repositorio con un tablero de proyecto](/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board)". |
| `project.open` | A project board was reopened. For more information, see "[Reopening a closed project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board)." |
| `project.rename` | A project board was renamed. For more information, see "[Editing a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board)." |
| `project.unlink` | A repository was unlinked from a project board. Para obtener más información, consulta "[Vincular un repositorio con un tablero de proyecto](/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board)". |
@@ -816,7 +816,7 @@ topics:
| Acción | Descripción |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project_field.create` | A field was created in a project board. For more information, see "[Creating a project (beta)](/issues/trying-out-the-new-projects-experience/creating-a-project#adding-fields)." |
| `project_field.create` | A field was created in a project board. Para obtener más información, consulta la sección "[Crear un proyecto (beta)](/issues/trying-out-the-new-projects-experience/creating-a-project#adding-fields)". |
| `project_field.delete` | A field was deleted in a project board. Para obtener más información, consulta la sección "[Crear un proyecto (beta)](/issues/trying-out-the-new-projects-experience/creating-a-project#adding-fields)". |
### `project_view` category actions
@@ -870,8 +870,8 @@ topics:
| `pull_request.ready_for_review` | A pull request was marked as ready for review. Para obtener más información, consulta la sección "[Cambiar el estado de una solicitud de extracción](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review)". |
| `pull_request.remove_review_request` | A review request was removed from a pull request. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". |
| `pull_request.reopen` | A pull request was reopened after previously being closed. |
| `pull_request_review.delete` | A review on a pull request was deleted. |
| `pull_request_review.dismiss` | A review on a pull request was dismissed. Para obtener más información, consulta "[Descartar una revisión de solicitud de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)". |
| `pull_request_review.delete` | Se borró una revisión en una solicitud de cambios. |
| `pull_request_review.dismiss` | Se descartó una revisión de una solicitud de cambios. Para obtener más información, consulta "[Descartar una revisión de solicitud de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)". |
| `pull_request_review.submit` | A review was submitted for a pull request. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". |
### Acciones de la categoría `pull_request_review`
@@ -1038,7 +1038,7 @@ topics:
| Acción | Descripción |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `required_status_check.create` | A status check was marked as required for a protected branch. For more information, see "[Require status checks before merging](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)." |
| `required_status_check.create` | A status check was marked as required for a protected branch. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". |
| `required_status_check.destroy` | A status check was no longer marked as required for a protected branch. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". |
{%- ifversion ghec or ghes > 3.1 %}
@@ -1050,7 +1050,7 @@ topics:
| `restrict_notification_delivery.disable` | Email notification restrictions for an organization or enterprise were disabled. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". |
{%- endif %}
{%- ifversion ghec or ghes > 3.4 or ghae-issue-6271 %}
{%- if custom-repository-roles %}
### Acciones de la categoría `role`
| Acción | Descripción |
@@ -1091,16 +1091,16 @@ topics:
| Acción | Descripción |
| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sponsors.agreement_sign` | A {% data variables.product.prodname_sponsors %} agreement was signed on behalf of an organization. |
| `sponsors.custom_amount_settings_change` | Custom amounts for {% data variables.product.prodname_sponsors %} were enabled or disabled, or the suggested custom amount was changed. For more information, see "[Managing your sponsorship tiers](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers)." |
| `sponsors.custom_amount_settings_change` | Custom amounts for {% data variables.product.prodname_sponsors %} were enabled or disabled, or the suggested custom amount was changed. Para obtener más información, consulta la sección "[Administrar tus niveles de patrocinio](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers)". |
| `sponsors.fiscal_host_change` | The fiscal host for a {% data variables.product.prodname_sponsors %} listing was updated. |
| `sponsors.withdraw_agreement_signature` | A signature was withdrawn from a {% data variables.product.prodname_sponsors %} agreement that applies to an organization. |
| `sponsors.repo_funding_links_file_action` | The FUNDING file in a repository was changed. Para obtener más información, consulta "[Mostrar un botón de patrocinador en tu repositorio](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository)". |
| `sponsors.sponsor_sponsorship_cancel` | A sponsorship was canceled. For more information, see "[Downgrading a sponsorship](/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship)." |
| `sponsors.sponsor_sponsorship_create` | A sponsorship was created, by sponsoring an account. For more information, see "[Sponsoring an open source contributor](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)." |
| `sponsors.sponsor_sponsorship_create` | A sponsorship was created, by sponsoring an account. Para obtener más información, consulta la sección "[Patrocinar a un contribuyente de código libre](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)". |
| `sponsors.sponsor_sponsorship_payment_complete` | After you sponsor an account and a payment has been processed, the sponsorship payment was marked as complete. Para obtener más información, consulta la sección "[Patrocinar a un contribuyente de código libre](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)". |
| `sponsors.sponsor_sponsorship_preference_change` | The option to receive email updates from a sponsored account was changed. Para obtener más información, consulta "[Administar tu patrocinio](/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship)". |
| `sponsors.sponsor_sponsorship_tier_change` | A sponsorship was upgraded or downgraded. Para obtener más información, consulta "[Actualizar un patrocinio](/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship)" y "[Bajar de categoría un patrocinio](/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship)." |
| `sponsors.sponsored_developer_approve` | A {% data variables.product.prodname_sponsors %} account was approved. For more information, see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)." |
| `sponsors.sponsored_developer_approve` | A {% data variables.product.prodname_sponsors %} account was approved. Para obtener más información, consulta la sección "[Configurar {% data variables.product.prodname_sponsors %} para tu organización](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)". |
| `sponsors.sponsored_developer_create` | A {% data variables.product.prodname_sponsors %} account was created. Para obtener más información, consulta la sección "[Configurar {% data variables.product.prodname_sponsors %} para tu organización](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)". |
| `sponsors.sponsored_developer_disable` | A {% data variables.product.prodname_sponsors %} account was disabled. |
| `sponsors.sponsored_developer_profile_update` | You edit a sponsored organization profile. For more information, see "[Editing your profile details for {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors)." |
@@ -1190,7 +1190,7 @@ topics:
| ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `two_factor_authentication.disabled` | [Two-factor authentication][2fa] was disabled for a user account. |
| `two_factor_authentication.enabled` | [Two-factor authentication][2fa] was enabled for a user account. |
| `two_factor_authentication.password_reset_fallback_sms` | A one-time password code was sent to a user account fallback phone number. |
| `two_factor_authentication.password_reset_fallback_sms` | El código de contraseña de una sola vez se envió al número telefónico de opción alternativa de una cuenta de usuario. |
| `two_factor_authentication.recovery_codes_regenerated` | Two factor recovery codes were regenerated for a user account. |
| `two_factor_authentication.sign_in_fallback_sms` | El código de contraseña de una sola vez se envió al número telefónico de opción alternativa de una cuenta de usuario. |
| `two_factor_authentication.update_fallback` | The two-factor authentication fallback for a user account was changed. |
@@ -1212,7 +1212,7 @@ topics:
{%- ifversion ghes %}
| `user.demote` | A site administrator was demoted to an ordinary user account.
{%- endif %}
| `user.destroy` | A user deleted his or her account, triggering `user.async_delete`. | `user.failed_login` | A user tries to sign in with an incorrect username, password, or two-factor authentication code. | `user.flag_as_large_scale_contributor` | A user account was flagged as a large scale contributor. Only contributions from public repositories the user owns will be shown in their contribution graph, in order to prevent timeouts. | `user.forgot_password` | A user requested a password reset via the sign-in page. | `user.hide_private_contributions_count` | A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now hidden. For more information, see "[Publicizing or hiding your private contributions on your profile](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile)." | `user.lockout` | A user was locked out of their account. | `user.login` | A user signed in.
| `user.destroy` | A user deleted his or her account, triggering `user.async_delete`. | `user.failed_login` | A user tries to sign in with an incorrect username, password, or two-factor authentication code. | `user.flag_as_large_scale_contributor` | A user account was flagged as a large scale contributor. Only contributions from public repositories the user owns will be shown in their contribution graph, in order to prevent timeouts. | `user.forgot_password` | A user requested a password reset via the sign-in page. | `user.hide_private_contributions_count` | A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now hidden. Para obtener más información, consulta la sección "[Publicar u ocultar tus contribuciones privadas en tu perfil](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile)". | `user.lockout` | A user was locked out of their account. | `user.login` | A user signed in.
{%- ifversion ghes or ghae %}
| `user.mandatory_message_viewed` | A user viewed a mandatory message. For more information see "[Customizing user messages for your enterprise](/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise)" for details."
{%- endif %}

View File

@@ -1,6 +1,6 @@
---
title: Configurar la compatibilidad del ecosistema de paquetes para tu empresa
intro: 'Puedes configurar el {% data variables.product.prodname_registry %} para tu empresa si habilitas o inhabilitas globalmente los ecosistemas de paquetes individuales en tu empresa, incluyendo Docker, RubyGems, npm, Apache Maven, Gradle o NuGet. Aprende sobre otros requisitos de configuración para hacer compatibles algunos ecosistemas de paquetes específicos.'
intro: 'You can configure {% data variables.product.prodname_registry %} for your enterprise by globally enabling or disabling individual package ecosystems on your enterprise, including {% ifversion ghes > 3.4 %}{% data variables.product.prodname_container_registry %}, {% endif %}Docker, and npm. Aprende sobre otros requisitos de configuración para hacer compatibles algunos ecosistemas de paquetes específicos.'
redirect_from:
- /enterprise/admin/packages/configuring-packages-support-for-your-enterprise
- /admin/packages/configuring-packages-support-for-your-enterprise
@@ -23,7 +23,10 @@ Para prevenir que los paquetes nuevos se carguen, puedes configurar un ecosistem
{% data reusables.enterprise_site_admin_settings.management-console %}
{% data reusables.enterprise_site_admin_settings.packages-tab %}
1. Debajo de "Alternación de ecosistema", para cada tipo de paquete, selecciona **Enabled**, **Read-Only**, o **Disabled**.
{% ifversion ghes > 3.1 %}
{%- ifversion ghes > 3.4 %}{% note -%}
**Note**: Subdomain isolation must be enabled to toggle the
Opciones de las {% data variables.product.prodname_container_registry %}.
{%- endnote %}{%- endif %}{%- ifversion ghes > 3.1 %}
![Alternación de ecosistemas](/assets/images/enterprise/site-admin-settings/ecosystem-toggles.png){% else %}
![Ecosystem toggles](/assets/images/enterprise/3.1/site-admin-settings/ecosystem-toggles.png){% endif %}
{% data reusables.enterprise_management_console.save-settings %}

View File

@@ -37,10 +37,10 @@ Para habilitar el {% data variables.product.prodname_registry %} y configurar el
## Paso 3: Especifica los ecosistemas de paquetes que serán compatibles con tu instancia
Elige qué ecosistemas de paquetes te gustaría habilitar, inhabilitar o configurar como de solo lectura en tu {% data variables.product.product_location %}. Las opciones disponibles son Docker, RubyGems, npm, Apache maven, Gradle o NuGet. Para obtener más información, consulta la sección "[Configurar la compatibilidad de ecosistemas de paquetes para tu empresa](/enterprise/admin/packages/configuring-package-ecosystem-support-for-your-enterprise)".
Elige qué ecosistemas de paquetes te gustaría habilitar, inhabilitar o configurar como de solo lectura en tu {% data variables.product.product_location %}. Available options are {% ifversion ghes > 3.4 %}{% data variables.product.prodname_container_registry %}, {% endif %}Docker, RubyGems, npm, Apache Maven, Gradle, or NuGet. Para obtener más información, consulta la sección "[Configurar la compatibilidad de ecosistemas de paquetes para tu empresa](/enterprise/admin/packages/configuring-package-ecosystem-support-for-your-enterprise)".
## Paso 4: De ser necesario, asegúrate de que tienes un certificado de TLS para la URL de hospedaje de tu paquete
Si se habilitó el aislamiento de subdominios para {% data variables.product.product_location %}, necesitarás crear y cargar un certificado TLS que permita la URL del host de paquetes para cada ecosistema que quieras utilizar, tal como `npm.HOSTNAME`. Asegúrate de que cada URL de host de paquete incluya `https://`.
If subdomain isolation is enabled for {% data variables.product.product_location %}, you will need to create and upload a TLS certificate that allows the package host URL for each ecosystem you want to use, such as `{% data reusables.package_registry.container-registry-hostname %}`. Asegúrate de que cada URL de host de paquete incluya `https://`.
Puedes crear el certificado manualmente, o puedes utilizar _Let's Encrypt_. Si ya utilizas _Let's Encrypt_, debes solicitar un certificado TLS nuevo después de habilitar el {% data variables.product.prodname_registry %}. Para obtener más información acerca de las URL del host de los paquetes, consulta "[Habilitar el aislamiento de subdominios](/enterprise/admin/configuration/enabling-subdomain-isolation)". Para obtener más información sobre cómo cargar certificados TLS a {% data variables.product.product_name %}, consulta la sección "[Configurar el TLS](/enterprise/admin/configuration/configuring-tls)".

View File

@@ -29,6 +29,14 @@ Esta guía de inicio rápido te muestra cómo configurar MinIO utilizando Docker
Para obtener más información acerca las opciones que tienes, consulta los [documentos oficiales de MinIO](https://docs.min.io/).
{% warning %}
**Advertencia**: MinIO anunció la eliminación de MinIO Gateways. Desde el 1 de junio de 2022, tanto el soporte como las correcciones de errores para la implementación de la puerta de enlace de la NAS de MinIO estarán disponibles únicamente para los clientes con suscripciones de pago a través de su contrato de soporte LTS. Si quieres seguir utilizando MinIO Gateways con {% data variables.product.prodname_registry %}, te recomendamos migrarte al soporte LTS de MinIO. Para obtener más información, consulta el [programa para eliminar a MinIO Gateway para GCS, Azure, HDFS](https://github.com/minio/minio/issues/14331) en el repositorio minio/minio.
Other modes of MinIO remain available with standard support.
{% endwarning %}
## 2. Instala, ejecuta e inicia sesión en MinIO
1. Configura tus variables de ambiente preferidas para MinIO.

View File

@@ -132,3 +132,22 @@ Puedes configurar los permisos predeterminados para del `GITHUB_TOKEN` en la con
1. Da clic en **Guardar** para aplicar la configuración.
{% endif %}
{% if actions-cache-policy-apis %}
## Enforcing a policy for cache storage in your enterprise
{% data reusables.actions.cache-default-size %} {% data reusables.actions.cache-eviction-process %}
However, you can set an enterprise policy to customize both the default total cache size for each repository, as well as the maximum total cache size allowed for a repository. For example, you might want the default total cache size for each repository to be 5 GB, but also allow repository administrators to configure a total cache size up to 15 GB if necessary.
People with admin access to a repository can set a total cache size for their repository up to the maximum cache size allowed by the enterprise policy setting.
The policy settings for {% data variables.product.prodname_actions %} cache storage can currently only be modified using the REST API:
* To view the current enterprise policy settings, see "[Get GitHub Actions cache usage policy for an enterprise](/rest/actions/cache#get-github-actions-cache-usage-policy-for-an-enterprise)."
* To change the enterprise policy settings, see "[Set GitHub Actions cache usage policy for an enterprise](/rest/actions/cache#get-github-actions-cache-usage-policy-for-an-enterprise)."
{% data reusables.actions.cache-no-org-policy %}
{% endif %}

View File

@@ -22,23 +22,33 @@ shortTitle: Manage your organization roles
You can choose to join an organization owned by your enterprise as a member or as an organization owner, change your role within the organization, or leave the organization.
{% ifversion ghec %}
{% warning %}
**Warning**: If an organization uses SCIM to provision users, joining the organization this way could have unintended consequences. Para obtener más información, consulta la sección "[SCIM para las organizaciones](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)".
{% endwarning %}
{% endif %}
For information about managing other people's roles in an organization, see "[Managing membership in your organization](/organizations/managing-membership-in-your-organization)" and "[Managing people's access to your organization with roles](/organizations/managing-peoples-access-to-your-organization-with-roles)."
## Managing your role with the enterprise settings
You can join an organization owned by your enterprise and manage your role within the organization, directly from the settings for your enterprise account.
{% ifversion ghec %}
If an organization enforces SAML single sign-on (SSO), you cannot use the enterprise settings to join the organization. En vez de esto, debes unirte a la organización utilizando su proveedor de identidad (IdP). Then, you can manage your role in your enterprise settings. For more information, see "[Joining an organization that enforces SAML SSO](#joining-an-organization-that-enforces-saml-sso)."
{% endif %}
{% data reusables.enterprise-accounts.access-enterprise %}
1. On the **Organizations** tab, to the right of the organization you want to manage your role in, select the {% octicon "gear" aria-label="The gear icon" %} dropdown menu and click the action you want to take.
![Screenshot of the dropdown menu for the gear icon for an organization](/assets/images/help/business-accounts/change-role-in-org.png)
{% ifversion ghec %}
## Joining an organization that enforces SAML SSO
If an organization enforces SAML SSO, you cannot use the enterprise settings to join the organization. En vez de esto, debes unirte a la organización utilizando su proveedor de identidad (IdP).
@@ -52,3 +62,5 @@ If an organization enforces SAML SSO, you cannot use the enterprise settings to
`https://github.com/orgs/ORGANIZATION/sso`
After you've joined the organization, you can use the enterprise settings to manage your role in the organization, such as becoming an organization owner. For more information, see "[Managing your role with the enterprise settings](#managing-your-role-with-the-enterprise-settings)."
{% endif %}

View File

@@ -48,11 +48,11 @@ Para utilizar un token de acceso personal existente o nuevo o una llave SSH con
## Acerca de las {% data variables.product.prodname_oauth_apps %}, {% data variables.product.prodname_github_apps %} y el SSO de SAML
You must have an active SAML session each time you authorize an {% data variables.product.prodname_oauth_app %} or {% data variables.product.prodname_github_app %} to access an organization that uses or enforces SAML SSO. You can create an active SAML session by navigating to `https://github.com/orgs/ORGANIZATION-NAME/sso` in your browser.
Debes tener una sesión activa de SAML cada que autorices a una {% data variables.product.prodname_oauth_app %} o {% data variables.product.prodname_github_app %} para que acceda a una organización que utilice o requiera el SSO de SAML. Puedes crear una sesión activa de SAML si navegas a `https://github.com/orgs/ORGANIZATION-NAME/sso` en tu buscador.
Después de que un propietario de empresa u organización habilita o requiere el SSO de SAML para una organización y después de que te autentiques a través del SAML por primera vez, debes volver a autorizar cualquier {% data variables.product.prodname_oauth_apps %} o {% data variables.product.prodname_github_apps %} que hayas autorizado anteriormente para que acceda a dicha organización.
To see the {% data variables.product.prodname_oauth_apps %} you've authorized, visit your [{% data variables.product.prodname_oauth_apps %} page](https://github.com/settings/applications). To see the {% data variables.product.prodname_github_apps %} you've authorized, visit your [{% data variables.product.prodname_github_apps %} page](https://github.com/settings/apps/authorizations).
Para ver las {% data variables.product.prodname_oauth_apps %} que hayas autorizado, visita tu [página de {% data variables.product.prodname_oauth_apps %}](https://github.com/settings/applications). Para ver las {% data variables.product.prodname_github_apps %} que autorizaste, visita nuestra [página de {% data variables.product.prodname_github_apps %}](https://github.com/settings/apps/authorizations).
{% endif %}

View File

@@ -19,8 +19,9 @@ shortTitle: Authentication to GitHub
To keep your account secure, you must authenticate before you can access{% ifversion not ghae %} certain{% endif %} resources on {% data variables.product.product_name %}. When you authenticate to {% data variables.product.product_name %}, you supply or confirm credentials that are unique to you to prove that you are exactly who you declare to be.
You can access your resources in {% data variables.product.product_name %} in a variety of ways: in the browser, via {% data variables.product.prodname_desktop %} or another desktop application, with the API, or via the command line. Each way of accessing {% data variables.product.product_name %} supports different modes of authentication.
- {% ifversion ghae %}Your identity provider (IdP){% else %}Username and password with two-factor authentication{% endif %}
{%- ifversion not fpt %}
- Your identity provider (IdP){% endif %}{% ifversion not ghae %}
- Username and password with two-factor authentication{% endif %}
- Personal access token
- SSH key
@@ -29,14 +30,21 @@ You can access your resources in {% data variables.product.product_name %} in a
You can authenticate to {% data variables.product.product_name %} in your browser {% ifversion ghae %}using your IdP. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)."{% else %}in different ways.
{% ifversion fpt or ghec %}
- If you're a member of an {% data variables.product.prodname_emu_enterprise %}, you will authenticate to {% data variables.product.product_name %} in your browser using your IdP. For more information, see "[Authenticating as a managed user](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users#authenticating-as-a-managed-user){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} If you're not a member of an {% data variables.product.prodname_emu_enterprise %}, you will authenticate using your browser on {% data variables.product.prodname_dotcom_the_website %}.
- If you're a member of an {% data variables.product.prodname_emu_enterprise %}, you will authenticate to {% data variables.product.product_name %} in your browser using your IdP. For more information, see "[Authenticating as a managed user](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users#authenticating-as-a-managed-user){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
If you're not a member of an {% data variables.product.prodname_emu_enterprise %}, you will authenticate using your {% data variables.product.prodname_dotcom_the_website %} username and password. You may also be required to enable two-factor authentication.
{% endif %}
- **Username and password only**
- You'll create a password when you create your personal account on {% data variables.product.product_name %}. We recommend that you use a password manager to generate a random and unique password. For more information, see "[Creating a strong password](/github/authenticating-to-github/creating-a-strong-password)."
- You'll create a password when you create your account on {% data variables.product.product_name %}. We recommend that you use a password manager to generate a random and unique password. For more information, see "[Creating a strong password](/github/authenticating-to-github/creating-a-strong-password)."{% ifversion fpt or ghec %}
- If you have not enabled 2FA, {% data variables.product.product_name %} will ask for additional verification when you first sign in from an unrecognized device, such as a new browser profile, a browser where the cookies have been deleted, or a new computer.
After providing your username and password, you will be asked to provide a verification code that we will send to you via email. If you have the GitHub Mobile application installed, you'll receive a notification there instead.{% endif %}
- **Two-factor authentication (2FA)** (recommended)
- If you enable 2FA, we'll also prompt you to provide a code that's generated by an application on your mobile device or sent as a text message (SMS) after you successfully enter your username and password. For more information, see "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/github/authenticating-to-github/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website)."
- In addition to authentication with a mobile application or a text message, you can optionally add a secondary method of authentication with a security key using WebAuthn. For more information, see "[Configuring two-factor authentication using a security key](/github/authenticating-to-github/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)."
- If you enable 2FA, after you successfully enter your username and password, we'll also prompt you to provide a code that's generated by a time-based one time password (TOTP) application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS){% endif %}. For more information, see "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/github/authenticating-to-github/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website)."
- In addition to authentication with a TOTP application{% ifversion fpt or ghec %} or a text message{% endif %}, you can optionally add an alternative method of authentication with {% ifversion fpt or ghec %}{% data variables.product.prodname_mobile %} or{% endif %} a security key using WebAuthn. For more information, see {% ifversion fpt or ghec %}"[Configuring two-factor authentication with {% data variables.product.prodname_mobile %}](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile)" and {% endif %}"[Configuring two-factor authentication using a security key](/github/authenticating-to-github/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)."{% endif %}{% ifversion ghes %}
- **Identity provider (IdP) authentication**
- Your site administrator may configure {% data variables.product.product_location %} to use authentication with an IdP instead of a username and password. For more information, see "[External authentication methods](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#external-authentication)."
{% endif %}
## Authenticating with {% data variables.product.prodname_desktop %}
@@ -74,9 +82,10 @@ If you authenticate with {% data variables.product.prodname_cli %}, the CLI will
If you authenticate without {% data variables.product.prodname_cli %}, you will need to generate an SSH public/private keypair on your local machine and add the public key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." Every time you use Git to authenticate with {% data variables.product.product_name %}, you'll be prompted to enter your SSH key passphrase, unless you've [stored the key](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent).
{% ifversion fpt or ghec %}
### Authorizing for SAML single sign-on
{% ifversion fpt or ghec %}To use a personal access token or SSH key to access resources owned by an organization that uses SAML single sign-on, you must also authorize the personal token or SSH key. For more information, see "[Authorizing a personal access token for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" or "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %}
To use a personal access token or SSH key to access resources owned by an organization that uses SAML single sign-on, you must also authorize the personal token or SSH key. For more information, see "[Authorizing a personal access token for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" or "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %}
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}

View File

@@ -1,6 +1,6 @@
---
title: Revisar tu registro de seguridad
intro: You can review the security log for your personal account to better understand actions you've performed and actions others have performed that involve you.
intro: 'Puedes revisar la bitácora de seguridad de tu cuenta personal para entender mejor las acciones que has realizado y las que otros han realizado, las cuales te involucran.'
miniTocMaxHeadingLevel: 3
redirect_from:
- /articles/reviewing-your-security-log
@@ -81,13 +81,13 @@ Un resumen de algunas de las acciones más frecuentes que se registran como even
### acciones de la categoría `codespaces`
| Acción | Descripción |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `create (crear)` | Se activa cuando [creas un codespace](/github/developing-online-with-codespaces/creating-a-codespace). |
| `resume` | Se activa cuando reanudas un codespace suspendido. |
| `delete` | Se activa cuando [borras un codespace](/github/developing-online-with-codespaces/deleting-a-codespace). |
| `manage_access_and_security` | Se activa cuando actualizas [los repositorios a los que puede acceder un codespace](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). |
| `trusted_repositories_access_update` | Triggered when you change your personal account's [access and security setting for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). |
| Acción | Descripción |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `create (crear)` | Se activa cuando [creas un codespace](/github/developing-online-with-codespaces/creating-a-codespace). |
| `resume` | Se activa cuando reanudas un codespace suspendido. |
| `delete` | Se activa cuando [borras un codespace](/github/developing-online-with-codespaces/deleting-a-codespace). |
| `manage_access_and_security` | Se activa cuando actualizas [los repositorios a los que puede acceder un codespace](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). |
| `trusted_repositories_access_update` | Se activa cuando cambias los [ajustes de acceso y seguridad para {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces) en tu cuenta personal. |
### acciones de la categoría `marketplace_agreement_signature`
@@ -166,7 +166,7 @@ Un resumen de algunas de las acciones más frecuentes que se registran como even
| `create (crear)` | Se activa cuando [se crea un repositorio nuevo](/articles/creating-a-new-repository). |
| `destroy (destruir)` | Se activa cuando [se elimina un repositorio](/articles/deleting-a-repository).{% ifversion fpt or ghec %}
| `inhabilitar` | Se activa cuando un repositorio se inhabilita (por ejemplo, por [fondos insuficientes](/articles/unlocking-a-locked-account)).{% endif %}{% ifversion fpt or ghec %}
| `download_zip` | Triggered when a ZIP or TAR archive of a repository is downloaded. |
| `download_zip` | Se activa cuando se descarga un archivo ZIP o TAR de un repositorio. |
| `habilitar` | Se activa cuando se vuelve a habilitar un repositorio.{% endif %}
| `remove_member (eliminar miembro)` | Se activa cuando se elimina {% data variables.product.product_name %} un usuario [de un repositorio como colaborador](/articles/removing-a-collaborator-from-a-personal-repository). |
| `remove_topic (eliminar tema)` | Se activa cuando un propietario del repositorio elimina un tema de un repositorio. |

View File

@@ -54,6 +54,8 @@ Una vez que se revoca una autorización, cualquier token asociado con la autoriz
El propietario de una {% data variables.product.prodname_oauth_app %} puede revocar una autorización de su app en una cuenta, esto también revocará cualquier token asociado con esa autorización. Para obtener más información sobre cómo revocar las autorizaciones de tu app de OAuth, consulta la sección "[Borrar una autorización de una app](/rest/reference/apps#delete-an-app-authorization)".
{% data variables.product.prodname_oauth_app %} owners can also revoke individual tokens associated with an authorization. For more information about revoking individual tokens for your OAuth app, see "[Delete an app token](/rest/apps/oauth-applications#delete-an-app-token)".
## El token se revocó debido a un exceso de tokens para una {% data variables.product.prodname_oauth_app %} con el mismo alcance
{% data reusables.apps.oauth-token-limit %}

View File

@@ -48,8 +48,11 @@ Repository administrators can enforce required commit signing on a branch to blo
{% data reusables.identity-and-permissions.verification-status-check %}
{% ifversion fpt or ghec %}
{% data variables.product.product_name %} will automatically use GPG to sign commits you make using the {% data variables.product.product_name %} web interface. Commits signed by {% data variables.product.product_name %} will have a verified status on {% data variables.product.product_name %}. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. You can optionally choose to have {% data variables.product.product_name %} sign commits you make in {% data variables.product.prodname_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-gpg-verification-for-codespaces)."
{% ifversion fpt or ghec or ghes > 3.4 %}
{% ifversion ghes %}If a site administrator has enabled web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.product_name %} will have a verified status. You can verify the signature locally using the public key available at `https://HOSTNAME/web-flow.gpg`. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)."
{% else %}{% data variables.product.prodname_dotcom %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.prodname_dotcom %} will have a verified status. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`.
You can optionally choose to have {% data variables.product.prodname_dotcom %} sign commits you make in {% data variables.product.prodname_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-gpg-verification-for-codespaces)."{% endif %}
{% endif %}
## GPG commit signature verification

View File

@@ -97,7 +97,7 @@ Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar.
{% data reusables.gpg.list-keys-with-note %}
{% data reusables.gpg.copy-gpg-key-id %}
{% data reusables.gpg.paste-gpg-key-id %}
1. To add your GPG key to your `.bashrc` startup file, run the following command:
1. Para agregar tu clave GPG a tu archivo de inicio `.bashrc`, ejecuta el siguiente comando:
```bash
$ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc
```

View File

@@ -19,7 +19,7 @@ Para {% data variables.product.product_name %}, la segunda forma de autenticaci
{% data reusables.two_fa.after-2fa-add-security-key %}
{% ifversion fpt or ghec %}
Adicionalmente a las llaves de seguridad, también puedes utilizar {% data variables.product.prodname_mobile %} para la 2FA después de configurar una app móvil TOTP o mensajes de texto. {% data variables.product.prodname_mobile %} utiliza criptografía de llaves públicas para asegurar tu cuenta, lo cual te permite utilizar cualquier dispositivo móvil que hayas utilizado para ingresar en {% data variables.product.prodname_mobile %} como tu segundo factor de ingreso.
Adicionalmente a las llaves de seguridad, también puedes utilizar {% data variables.product.prodname_mobile %} para la 2FA después de configurar una app móvil TOTP o mensajes de texto. {% data variables.product.prodname_mobile %} uses public-key cryptography to secure your account, allowing you to use any mobile device that you've used to sign in to {% data variables.product.prodname_mobile %} as your second factor.
{% endif %}
También puedes configurar métodos de recuperación adicionales en caso de que pierdas el acceso a tus credenciales de autenticación de dos factores. Para obtener más información acerca de la configuración de la 2FA, consulta "[Configurar autenticación de dos factores](/articles/configuring-two-factor-authentication)" y "[Configurar métodos de recuperación de autenticación de dos factores](/articles/configuring-two-factor-authentication-recovery-methods)".

View File

@@ -1,6 +1,6 @@
---
title: Conectar una suscripción de Azure a tu empresa
intro: 'Puedes utilizar tu Acuerdo de Microsoft Enterprise para habilitar y pagar por el uso de las {% data variables.product.prodname_actions %} y del {% data variables.product.prodname_registry %} más allá de las cantidades que se incluyen para tu empresa.'
intro: 'You can use your Microsoft Enterprise Agreement to enable and pay for {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %}, and {% data variables.product.prodname_codespaces %} usage.'
redirect_from:
- /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/connecting-an-azure-subscription-to-your-enterprise
- /github/setting-up-and-managing-billing-and-payments-on-github/connecting-an-azure-subscription-to-your-enterprise
@@ -14,7 +14,17 @@ shortTitle: Conectar una suscripción de Azure
{% data reusables.enterprise-accounts.billing-microsoft-ea-overview %} Para obtener más información, consulta las secciones "[Acerca de la facturación para las {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)" y "[Acerca de la facturación para el {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)".
Una vez que conectes una suscripción de Azure, también podrás administrar tu límite de gastos. Para obtener más información sobre cómo administrar y cambiar el límite de gastos de tu cuenta, consulta las secciones "[Administrar tu límite de gastos para el {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages)" y "[Administrar tu límite de gastos para las {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions)".
{% note %}
**Note:** If your enterprise account is on a Microsoft Enterprise Agreement, connecting an Azure subscription is the only way to use {% data variables.product.prodname_actions %} and {% data variables.product.prodname_registry %} beyond the included amounts, or to use {% data variables.product.prodname_codespaces %} at all.
{% endnote %}
After you connect an Azure subscription, you can also manage your spending limits.
- "[Managing your spending limit for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages)"
- "[Managing your spending limit for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions)"
- "[Managing your spending limit for {% data variables.product.prodname_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces)"
## Conectar tu suscripción de Azure con tu cuenta empresarial

View File

@@ -26,9 +26,22 @@ Si no quieres habilitar {% data variables.product.prodname_github_connect %}, pu
## Sincronizar el uso de licencias automáticamente
Puedes utilizar {% data variables.product.prodname_github_connect %} para sincronizar el conteo de licencias de usuario automáticamente y el uso entre {% data variables.product.prodname_ghe_server %} y {% data variables.product.prodname_ghe_cloud %}. Para obtener más información, consulta la sección "[Habilitar la sincronización automática de licencias de usuario para tu empresa]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise){% ifversion ghec %}" en la documentación de {% data variables.product.prodname_ghe_server %}{% elsif ghes %}".{% endif %}
You can use {% data variables.product.prodname_github_connect %} to automatically synchronize user license count and usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} weekly. Para obtener más información, consulta la sección "[Habilitar la sincronización automática de licencias de usuario para tu empresa]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise){% ifversion ghec %}" en la documentación de {% data variables.product.prodname_ghe_server %}{% elsif ghes %}".{% endif %}
## Sincronizar el uso de licencias manualmente
{% ifversion ghec or ghes > 3.4 %}
After you enable {% data variables.product.prodname_github_connect %}, license data will be automatically synchronized weekly. You can also manually synchronize your license data at any time, by triggering a license sync job.
### Triggering a license sync job
1. Sign in to your {% data variables.product.prodname_ghe_server %} instance.
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.settings-tab %}
{% data reusables.enterprise-accounts.license-tab %}
1. Under "License sync", click {% octicon "sync" aria-label="The Sync icon" %} **Sync now**. ![Screenshot of "Sync now" button in license sync section](/assets/images/help/enterprises/license-sync-now-ghes.png)
{% endif %}
## Manually uploading GitHub Enterprise Server license usage
Puedes descargar un archivo JSON desde {% data variables.product.prodname_ghe_server %} y subir el archivo a {% data variables.product.prodname_ghe_cloud %} para sincronizar de forma manual el uso de la licencia de usuario entre dos implementaciones.
@@ -38,7 +51,6 @@ Puedes descargar un archivo JSON desde {% data variables.product.prodname_ghe_se
5. Dentro de "Quick links (Vínculos rápidos)", para descargar un archivo que contiene tu uso de licencia actual en {% data variables.product.prodname_ghe_server %}, haz clic en **Export license usage (Exportar uso de licencia)**. ![Exporta el vínculo de uso de la licencia](/assets/images/enterprise/business-accounts/export-license-usage-link.png)
{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %}
{% data reusables.enterprise-accounts.settings-tab %}
8. En la barra lateral izquierda, da clic en **Licenciamiento empresarial**. ![Pestaña de "Licencias empresariales" en la barra lateral de configuración para la cuenta empresarial](/assets/images/help/enterprises/enterprise-licensing-tab.png)
{% data reusables.enterprise-accounts.license-tab %}
10. Debajo de "Instancias de Enterprise Server", da clic en **Agregar uso del servidor**. ![Sube el vínculo de uso de los servidores de GitHub Enterprise](/assets/images/help/business-accounts/upload-ghe-server-usage-link.png)
11. Sube el archivo JSON que descargaste de {% data variables.product.prodname_ghe_server %}. ![Arrastra y suelta o selecciona un archivo para cargar](/assets/images/help/business-accounts/upload-ghe-server-usage-file.png)

View File

@@ -85,12 +85,19 @@ Any valid SARIF 2.1.0 output file can be uploaded, however, {% data variables.pr
| Name | Description |
|----|----|
| `tool.driver.name` | **Required.** The name of the analysis tool. {% data variables.product.prodname_code_scanning_capc %} displays the name on {% data variables.product.prodname_dotcom %} to allow you to filter results by tool. |
| `tool.driver.version` | **Optional.** The version of the analysis tool. {% data variables.product.prodname_code_scanning_capc %} uses the version number to track when results may have changed due to a tool version change rather than a change in the code being analyzed. If the SARIF file includes the `semanticVersion` field, `version` is not used by {% data variables.product.prodname_code_scanning %}. |
| `tool.driver.semanticVersion` | **Optional.** The version of the analysis tool, specified by the Semantic Versioning 2.0 format. {% data variables.product.prodname_code_scanning_capc %} uses the version number to track when results may have changed due to a tool version change rather than a change in the code being analyzed. If the SARIF file includes the `semanticVersion` field, `version` is not used by {% data variables.product.prodname_code_scanning %}. For more information, see "[Semantic Versioning 2.0.0](https://semver.org/)" in the Semantic Versioning documentation. |
| `tool.driver.rules[]` | **Required.** An array of `reportingDescriptor` objects that represent rules. The analysis tool uses rules to find problems in the code being analyzed. For more information, see the [`reportingDescriptor` object](#reportingdescriptor-object). |
| `tool.driver` | **Required.** A `toolComponent` object that describes the analysis tool. For more information, see the [`toolComponent` object](#toolcomponent-object). |
| `tool.extensions[]` | **Optional.** An array of `toolComponent` objects that represent any plugins or extensions used by the tool during analysis. For more information, see the [`toolComponent` object](#toolcomponent-object). |
| `results[]` | **Required.** The results of the analysis tool. {% data variables.product.prodname_code_scanning_capc %} displays the results on {% data variables.product.prodname_dotcom %}. For more information, see the [`result` object](#result-object).
### `toolComponent` object
| Name | Description |
|----|----|
| `name` | **Required.** The name of the analysis tool. {% data variables.product.prodname_code_scanning_capc %} displays the name on {% data variables.product.prodname_dotcom %} to allow you to filter results by tool. |
| `version` | **Optional.** The version of the analysis tool. {% data variables.product.prodname_code_scanning_capc %} uses the version number to track when results may have changed due to a tool version change rather than a change in the code being analyzed. If the SARIF file includes the `semanticVersion` field, `version` is not used by {% data variables.product.prodname_code_scanning %}. |
| `semanticVersion` | **Optional.** The version of the analysis tool, specified by the Semantic Versioning 2.0 format. {% data variables.product.prodname_code_scanning_capc %} uses the version number to track when results may have changed due to a tool version change rather than a change in the code being analyzed. If the SARIF file includes the `semanticVersion` field, `version` is not used by {% data variables.product.prodname_code_scanning %}. For more information, see "[Semantic Versioning 2.0.0](https://semver.org/)" in the Semantic Versioning documentation. |
| `rules[]` | **Required.** An array of `reportingDescriptor` objects that represent rules. The analysis tool uses rules to find problems in the code being analyzed. For more information, see the [`reportingDescriptor` object](#reportingdescriptor-object). |
### `reportingDescriptor` object
| Name | Description |
@@ -176,7 +183,7 @@ Use the category to distinguish between multiple analyses for the same tool or c
- The run with an `id` of "my-analysis/tool1/" belongs to the category "my-analysis/tool1" but is not distinguished from other runs in that category.
- The run whose `id` is "my-analysis for tool1 " has a unique identifier but cannot be inferred to belong to any category.
For more information about the `runAutomationDetails` object and the `id` field, see [runAutomationDetails object](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012479) in the OASIS documentation.
For more information about the `runAutomationDetails` object and the `id` field, see [runAutomationDetails object](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012479) in the OASIS documentation.
Note that the rest of the supported fields are ignored.
@@ -302,7 +309,7 @@ This SARIF output file has example values to show all supported SARIF properties
]
}
},
"automationDetails": {
"automationDetails": {
"id": "my-category/"
},
"results": [

View File

@@ -1,7 +1,7 @@
---
title: Configurar el CLI de CodeQL en tu sistema de IC
shortTitle: Configurar el CLI de CodeQL
intro: 'Puedes configurar tu sistema de integración continua para que ejecute el {% data variables.product.prodname_codeql_cli %}, realice un análisis de {% data variables.product.prodname_codeql %} y cargue los resultados en {% data variables.product.product_name %} para mostrarlos como alertas del {% data variables.product.prodname_code_scanning %}.'
title: Configuring CodeQL CLI in your CI system
shortTitle: Configure CodeQL CLI
intro: 'You can configure your continuous integration system to run the {% data variables.product.prodname_codeql_cli %}, perform {% data variables.product.prodname_codeql %} analysis, and upload the results to {% data variables.product.product_name %} for display as {% data variables.product.prodname_code_scanning %} alerts.'
product: '{% data reusables.gated-features.code-scanning %}'
miniTocMaxHeadingLevel: 3
redirect_from:
@@ -22,47 +22,46 @@ topics:
- CI
- SARIF
---
{% data reusables.code-scanning.enterprise-enable-code-scanning %}
{% ifversion ghes or ghae %}
{% note %}
**Nota:** Este artículo describe las características presentes en la versión del {% data variables.product.prodname_codeql_cli %} que están disponibles en el momento del lanzamiento de {% data variables.product.product_name %}. Si tu empresa utiliza una versión más reciente del {% data variables.product.prodname_codeql_cli %}, consulta la [documentación de {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system) en su lugar.
**Note:** This article describes features present in the version of {% data variables.product.prodname_codeql_cli %} available at the time of the release of {% data variables.product.product_name %}. If your enterprise uses a more recent version of {% data variables.product.prodname_codeql_cli %}, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system) instead.
{% endnote %}
{% endif %}
## Acerca de generar los resultados del escaneo de código con el {% data variables.product.prodname_codeql_cli %}
## About generating code scanning results with {% data variables.product.prodname_codeql_cli %}
Una vez que hayas puesto el {% data variables.product.prodname_codeql_cli %} disponible en los servidores de tu sistema de IC y de que te hayas asegurado que se pueden autenticar con {% data variables.product.product_name %}, estarás listo para generar datos.
Once you've made the {% data variables.product.prodname_codeql_cli %} available to servers in your CI system, and ensured that they can authenticate with {% data variables.product.product_name %}, you're ready to generate data.
Utilizarás tres comandos diferentes para generar los resultados y cargarlos a {% data variables.product.product_name %}:
You use three different commands to generate results and upload them to {% data variables.product.product_name %}:
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
<!--Option to analyze multiple languages with one call-->
1. `database create` para crear una base de datos de {% data variables.product.prodname_codeql %} para representar la estructura jerárquica de cada lenguage de programación compatible en el repositorio.
2. `database analyze` para ejecutar consultas para analizar cada base de datos de {% data variables.product.prodname_codeql %} y resumir los resultados en un archivo SARIF.
3. `github upload-results` para cargar los archivos sarif resultantes a {% data variables.product.product_name %} en donde los resultados se empatan con una rama o solicitud de cambios y se muestran como alertas del {% data variables.product.prodname_code_scanning %}.
1. `database create` to create a {% data variables.product.prodname_codeql %} database to represent the hierarchical structure of each supported programming language in the repository.
2. ` database analyze` to run queries to analyze each {% data variables.product.prodname_codeql %} database and summarize the results in a SARIF file.
3. `github upload-results` to upload the resulting SARIF files to {% data variables.product.product_name %} where the results are matched to a branch or pull request and displayed as {% data variables.product.prodname_code_scanning %} alerts.
{% else %}
<!--Only one language can be analyzed-->
1. `database create` para crear una base de datos de {% data variables.product.prodname_codeql %} para representar la estructura jerárquica de un lenguage de programación compatible en el repositorio.
2. `database analyze` para ejecutar consultas para analizar la base de datos de {% data variables.product.prodname_codeql %} y resumir los resultados en un archivo SARIF.
3. `github upload-results` para cargar el archivo sarif resultantes a {% data variables.product.product_name %} en donde los resultados se empatan con una rama o solicitud de cambios y se muestran como alertas del {% data variables.product.prodname_code_scanning %}.
1. `database create` to create a {% data variables.product.prodname_codeql %} database to represent the hierarchical structure of a supported programming language in the repository.
2. ` database analyze` to run queries to analyze the {% data variables.product.prodname_codeql %} database and summarize the results in a SARIF file.
3. `github upload-results` to upload the resulting SARIF file to {% data variables.product.product_name %} where the results are matched to a branch or pull request and displayed as {% data variables.product.prodname_code_scanning %} alerts.
{% endif %}
Puedes mostrar la ayuda en la línea de comandos para apoyarte sobre cualquier comando utilizando la opción <nobr>`--help`</nobr> .
You can display the command-line help for any command using the <nobr>`--help`</nobr> option.
{% data reusables.code-scanning.upload-sarif-ghas %}
## Crear bases de datos de {% data variables.product.prodname_codeql %} para analizar
## Creating {% data variables.product.prodname_codeql %} databases to analyze
1. Verifica que el código que quieres analizar:
- Para una rama, verifica el encabezado de la rama que quieras analizar.
- Para una solicitud de cambios, verifica ya sea la confirmación de encabezado de la solicitud o una confirmación de fusión generada por {% data variables.product.prodname_dotcom %} de dicha solicitud.
2. Configura el ambiente de la base de código, asegurándote de que todas las dependencias estén disponibles. Para obtener más información, consulta las secciones [Crear bases de datos para lenguajes no compilados](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-non-compiled-languages) y [Crear bases de datos para lenguajes compilados](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-compiled-languages) en la documentación del {% data variables.product.prodname_codeql_cli %}.
3. Encuentra el comando de compilación, en caso de que exista, para la base de código. Habitualmente, esta es una variable en un archivo de configración en el sistema de IC.
4. Ejecuta `codeql database create` desde la raíz de verificación de tu repositorio y recompila la base de código.
1. Check out the code that you want to analyze:
- For a branch, check out the head of the branch that you want to analyze.
- For a pull request, check out either the head commit of the pull request, or check out a {% data variables.product.prodname_dotcom %}-generated merge commit of the pull request.
2. Set up the environment for the codebase, making sure that any dependencies are available. For more information, see [Creating databases for non-compiled languages](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-non-compiled-languages) and [Creating databases for compiled languages](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-compiled-languages) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
3. Find the build command, if any, for the codebase. Typically this is available in a configuration file in the CI system.
4. Run `codeql database create` from the checkout root of your repository and build the codebase.
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
```shell
# Single supported language - create one CodeQL databsae
@@ -79,147 +78,24 @@ Puedes mostrar la ayuda en la línea de comandos para apoyarte sobre cualquier c
{% endif %}
{% note %}
**Nota:** Si utilizas una compilación que usa contenedores, necesitas ejecutar el {% data variables.product.prodname_codeql_cli %} dentro del contenedor en donde toma lugar tu tarea de compilación.
**Note:** If you use a containerized build, you need to run the {% data variables.product.prodname_codeql_cli %} inside the container where your build task takes place.
{% endnote %}
<table spaces-before="0">
<tr>
<th>
Opción
</th>
<th align="center">
Requerido
</th>
<th>
Uso
</th>
</tr>
<tr>
<td>
<code>&lt;database&gt;</code>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el nombre y ubicación de un directorio a crear para la base de datos de {% data variables.product.prodname_codeql %}. El comando fallará si intentas sobrescribir un directorio existente. Si también especificas el <code>--db-cluster</code>, este es el directorio padre y se crea un subdirectorio para cada lenguaje analizado.
</td>
</tr>
<tr>
<td>
<nobr>`--language`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el identificador del lenguaje para el cual se creará la base de datos, debe ser uno de entre: <code>{% data reusables.code-scanning.codeql-languages-keywords %}</code> (utiliza <code>javascript</code> para analizar el código en TypeScript).
</td>
</tr>
<tr>
<td>
{% ifversion fpt or ghes > 3.1 or ghae or ghec %} cuando se utiliza con <nobr>`--db-cluster`</nobr>, la opción acepta una lista separada por comas o puede especificarse más de una vez.{% endif %}
</td>
<td align="center">
</td>
<td>
</td>
</tr>
<tr>
<td>
<nobr>`--command`</nobr>
</td>
<td align="center">
</td>
<td>
Recomendado. Utilízalo para especificar el comando o script de compilación que invoca el proceso de compilación para la base de código. Los comandos se ejecutan desde la carpeta actual o, cuando se define, desde <nobr>`--source-root`</nobr>. No se necesita para analizar Python y JavaScript/TypeScript.
</td>
</tr>
<tr>
<td>
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
</td>
<td align="center">
</td>
<td>
</td>
</tr>
<tr>
<td>
<nobr>`--db-cluster`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Utiliza las bases de código multi-lenguaje para generar una base de datos para cada lenguaje que especifica <nobr>`--language`</nobr>.
</td>
</tr>
<tr>
<td>
<nobr>`--no-run-unnecessary-builds`</nobr>
</td>
<td align="center">
</td>
<td>
Recomendado. Utilízalo para suprimir el comando de compilación para los lenguajes en donde el {% data variables.product.prodname_codeql_cli %} no necesite monitorear la compilación (por ejemplo, Python y JavaScript/TypeScript).
</td>
</tr>
<tr>
<td>
{% endif %}
</td>
<td align="center">
</td>
<td>
</td>
</tr>
<tr>
<td>
<nobr>`--source-root`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Utilízalo si ejecutas el CLI fuera de la raíz de verificación del repositorio. Predeterminadamente, el comando de <code>database create</code> asume que el directorio actual es el directorio raíz de los archivos fuente, utiliza esta opción para especificar una ubicación diferente.
</td>
</tr>
</table>
| Option | Required | Usage |
|--------|:--------:|-----|
| `<database>` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name and location of a directory to create for the {% data variables.product.prodname_codeql %} database. The command will fail if you try to overwrite an existing directory. If you also specify `--db-cluster`, this is the parent directory and a subdirectory is created for each language analyzed.|
| <nobr>`--language`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: `{% data reusables.code-scanning.codeql-languages-keywords %}` (use `javascript` to analyze TypeScript code). {% ifversion fpt or ghes > 3.1 or ghae or ghec %}When used with <nobr>`--db-cluster`</nobr>, the option accepts a comma-separated list, or can be specified more than once.{% endif %}
| <nobr>`--command`</nobr> | | Recommended. Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from <nobr>`--source-root`</nobr>. Not needed for Python and JavaScript/TypeScript analysis. | {% ifversion fpt or ghes > 3.1 or ghae or ghec %}
| <nobr>`--db-cluster`</nobr> | | Optional. Use in multi-language codebases to generate one database for each language specified by <nobr>`--language`</nobr>.
| <nobr>`--no-run-unnecessary-builds`</nobr> | | Recommended. Use to suppress the build command for languages where the {% data variables.product.prodname_codeql_cli %} does not need to monitor the build (for example, Python and JavaScript/TypeScript). {% endif %}
| <nobr>`--source-root`</nobr> | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. |
Para obtener más información, consulta la sección [Crear bases de datos de {% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) en la documentación del {% data variables.product.prodname_codeql_cli %}.
For more information, see [Creating {% data variables.product.prodname_codeql %} databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
### {% ifversion fpt or ghes > 3.1 or ghae or ghec %}Ejemplo con un solo lenguaje{% else %}Ejemplo básico{% endif %}
### {% ifversion fpt or ghes > 3.1 or ghae or ghec %}Single language example{% else %}Basic example{% endif %}
Este ejemplo crea una base de datos de {% data variables.product.prodname_codeql %} para el repositorio que se verificón en `/checkouts/example-repo`. Utiliza el extractor de JavaScript para crear una representación jerárquica del código de JavaScript y TypeScript en el repositorio. La base de datos resultante se almacena en `/codeql-dbs/example-repo`.
This example creates a {% data variables.product.prodname_codeql %} database for the repository checked out at `/checkouts/example-repo`. It uses the JavaScript extractor to create a hierarchical representation of the JavaScript and TypeScript code in the repository. The resulting database is stored in `/codeql-dbs/example-repo`.
```
$ codeql database create /codeql-dbs/example-repo --language=javascript \
@@ -236,16 +112,16 @@ $ codeql database create /codeql-dbs/example-repo --language=javascript \
```
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
### Ejemplo de lenguaje múltiple
### Multiple language example
Este ejemplo crea dos bases de datos de {% data variables.product.prodname_codeql %} para el repositorio que se verificó en `/checkouts/example-repo-multi`. Esta utiliza:
This example creates two {% data variables.product.prodname_codeql %} databases for the repository checked out at `/checkouts/example-repo-multi`. It uses:
- `--db-cluster` para solicitar el análisis de más de un lenguaje.
- `--language` para especificar para qué lenguajes creará bases de datos.
- `--command` para decirle a la herramienta el comando de compilación para la base de código, aquí es `make`.
- `--no-run-unnecessary-builds` para decirle a la herramienta que se salte el comando de compilación para los lenguajes en donde no se necesita (como Pyhon).
- `--db-cluster` to request analysis of more than one language.
- `--language` to specify which languages to create databases for.
- `--command` to tell the tool the build command for the codebase, here `make`.
- `--no-run-unnecessary-builds` to tell the tool to skip the build command for languages where it is not needed (like Python).
La base de datos resultante se almacena en los subdirectorios `python` y `cpp` de `/codeql-dbs/example-repo-multi`.
The resulting databases are stored in `python` and `cpp` subdirectories of `/codeql-dbs/example-repo-multi`.
```
$ codeql database create /codeql-dbs/example-repo-multi \
@@ -268,10 +144,10 @@ $
```
{% endif %}
## Analizar una base de datos de {% data variables.product.prodname_codeql %}
## Analyzing a {% data variables.product.prodname_codeql %} database
1. Crea una base de datos de {% data variables.product.prodname_codeql %} (se explica anteriormente).
2. Ejecuta `codeql database analyze` en la base de datos y especifica qué {% if codeql-packs %}paquetes o {% endif %}consultas utilizar.
1. Create a {% data variables.product.prodname_codeql %} database (see above).
2. Run `codeql database analyze` on the database and specify which {% if codeql-packs %}packs and/or {% endif %}queries to use.
```shell
codeql database analyze &lt;database&gt; --format=&lt;format&gt; \
--output=&lt;output&gt; {% if codeql-packs %}--download &lt;packs,queries&gt;{% else %}&lt;queries&gt;{% endif %}
@@ -280,7 +156,7 @@ $
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
{% note %}
**Nota:** Si analizaste más de una base de datos de {% data variables.product.prodname_codeql %} para una confirmación simple, debes especificar una categoría SARIF para cada conjunto de resultados que se generaron con este comando. Cuando cargas los resultados en {% data variables.product.product_name %}, el {% data variables.product.prodname_code_scanning %} utiliza esta categoría para almacenar los resultados para cada lenguaje por separado. Si te olvidas de hacerlo, cada carga sobreescribe los resultados anteriores.
**Note:** If you analyze more than one {% data variables.product.prodname_codeql %} database for a single commit, you must specify a SARIF category for each set of results generated by this command. When you upload the results to {% data variables.product.product_name %}, {% data variables.product.prodname_code_scanning %} uses this category to store the results for each language separately. If you forget to do this, each upload overwrites the previous results.
```shell
codeql database analyze &lt;database&gt; --format=&lt;format&gt; \
@@ -288,164 +164,27 @@ codeql database analyze &lt;database&gt; --format=&lt;format&gt; \
{% if codeql-packs %}&lt;packs,queries&gt;{% else %}&lt;queries&gt;{% endif %}
```
{% endnote %}
{% endif %}
<table spaces-before="0">
<tr>
<th>
Opción
</th>
<th align="center">
Requerido
</th>
<th>
Uso
</th>
</tr>
<tr>
<td>
<code>&lt;database&gt;</code>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica la ruta del directorio que contiene la base de datos de {% data variables.product.prodname_codeql %} a analizar.
</td>
</tr>
<tr>
<td>
<code>&lt;packs,queries&gt;</code>
</td>
<td align="center">
</td>
<td>
Especifica los paquetes o consultas de {% data variables.product.prodname_codeql %} a ejecutar. Para ejecutar las consultas estándar que se utilizan para el {% data variables.product.prodname_code_scanning %}, omite este parámetro. Para ver las otras suites de consultas que se incluyen en el paquete del {% data variables.product.prodname_codeql_cli %}, busca en <code>/&lt;extraction-root&gt;/qlpacks/codeql/&lt;language&gt;-queries/codeql-suites</code>. Para obtener más información sobre cómo crear tu suite de consultas, dirígete a la sección "<a href="https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/">Crear suites de consultas de CodeQL</a> en la documentación para el {% data variables.product.prodname_codeql_cli %}.
</td>
</tr>
<tr>
<td>
<nobr>`--format`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el formato del archivo de resultados que generó el comando. Para cargar {% data variables.product.company_short %}, este debería ser: {% ifversion fpt or ghae or ghec %}<code>sarif-latest</code>{% else %}<code>sarifv2.1.0</code>{% endif %}. Para obtener más información, consulta la sección "<a href="/code-security/secure-coding/sarif-support-for-code-scanning">Soporte de SARIF para {% data variables.product.prodname_code_scanning %}</a>".
</td>
</tr>
<tr>
<td>
<nobr>`--output`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica dónde guardar el archivo de resultados SARIF.{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
</td>
</tr>
<tr>
<td>
<nobr><code>--sarif-category</code><nobr>
</td>
<td align="center">
{% octicon "question" aria-label="Required with multiple results sets" %}
</td>
<td>
Opcional para el análisis de bases de datos simples. Requerido para definir el idioma cuando analizas bases de datos múltiples para una confirmación simple en un repositorio. Especifica una categoría para incluir en el archivo de resultados SARIF para su análisis. Se utiliza una categoría para distinguir entre análisis múltiples para la misma herramienta y confirmación, pero se realiza en lenguajes diferentes o en partes diferentes del código.{% endif %}{% ifversion fpt or ghes > 3.3 or ghae or ghec %}
</td>
</tr>
<tr>
<td>
<nobr>`--sarif-add-query-help`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Utilízalo si quieres incluir cualquier ayuda de consulta interpretada por lenguaje de marcado disponible para las consultas personalizadas que se utilizan en tu análisis. Cualquier ayuda de las consultas personalizadas que se incluyen en la salida SARIF se mostrará en la IU del escaneo de código si la consulta relevante genera una alerta. Para obtener más información, consulta la sección <a href="https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/#including-query-help-for-custom-codeql-queries-in-sarif-files">Analizar las bases de datos con el {% data variables.product.prodname_codeql_cli %}</a> en la documentación del {% data variables.product.prodname_codeql_cli %}.{% endif %}{% if codeql-packs %}
</td>
</tr>
<tr>
<td>
<code>&lt;packs&gt;</code>
</td>
<td align="center">
</td>
<td>
Opcional. Use if you want to include CodeQL query packs in your analysis. For more information, see "<a href="#downloading-and-using-codeql-query-packs">Downloading and using {% data variables.product.prodname_codeql %} packs</a>."
</td>
</tr>
<tr>
<td>
<nobr>`--download`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Use if some of your CodeQL query packs are not yet on disk and need to be downloaded before running queries.{% endif %}
</td>
</tr>
<tr>
<td>
<nobr>`--threads`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Utilízala si quieres usar más de un subproceso para ejecutar consultas. El valor predeterminado es <code>1</code>. Puedes especificar más subprcesos para agilizar la ejecución de la consulta. Para configurar la cantidad de subprocesos en la cantidad de procesadores lógicos, especifica <code>0</code>.
</td>
</tr>
<tr>
<td>
<nobr>`--verbose`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Utilízalo para obtener información más detallada sobre el proceso de análisis{% ifversion fpt or ghes > 3.1 or ghae or ghec %} y datos de diagnóstico del proceso de creación de bases de datos{% endif %}.
</td>
</tr>
</table>
| Option | Required | Usage |
|--------|:--------:|-----|
| `<database>` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the path for the directory that contains the {% data variables.product.prodname_codeql %} database to analyze. |
| `<packs,queries>` | | Specify {% data variables.product.prodname_codeql %} packs or queries to run. To run the standard queries used for {% data variables.product.prodname_code_scanning %}, omit this parameter. To see the other query suites included in the {% data variables.product.prodname_codeql_cli %} bundle, look in `/<extraction-root>/qlpacks/codeql/<language>-queries/codeql-suites`. For information about creating your own query suite, see [Creating CodeQL query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
| <nobr>`--format`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the format for the results file generated by the command. For upload to {% data variables.product.company_short %} this should be: {% ifversion fpt or ghae or ghec %}`sarif-latest`{% else %}`sarifv2.1.0`{% endif %}. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)."
| <nobr>`--output`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify where to save the SARIF results file.{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
| <nobr>`--sarif-category`<nobr> | {% octicon "question" aria-label="Required with multiple results sets" %} | Optional for single database analysis. Required to define the language when you analyze multiple databases for a single commit in a repository. Specify a category to include in the SARIF results file for this analysis. A category is used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code.|{% endif %}{% ifversion fpt or ghes > 3.3 or ghae or ghec %}
| <nobr>`--sarif-add-query-help`</nobr> | | Optional. Use if you want to include any available markdown-rendered query help for custom queries used in your analysis. Any query help for custom queries included in the SARIF output will be displayed in the code scanning UI if the relevant query generates an alert. For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/#including-query-help-for-custom-codeql-queries-in-sarif-files) in the documentation for the {% data variables.product.prodname_codeql_cli %}.{% endif %}{% if codeql-packs %}
| `<packs>` | | Optional. Use if you want to include CodeQL query packs in your analysis. For more information, see "[Downloading and using {% data variables.product.prodname_codeql %} packs](#downloading-and-using-codeql-query-packs)."
| <nobr>`--download`</nobr> | | Optional. Use if some of your CodeQL query packs are not yet on disk and need to be downloaded before running queries.{% endif %}
| <nobr>`--threads`</nobr> | | Optional. Use if you want to use more than one thread to run queries. The default value is `1`. You can specify more threads to speed up query execution. To set the number of threads to the number of logical processors, specify `0`.
| <nobr>`--verbose`</nobr> | | Optional. Use to get more detailed information about the analysis process{% ifversion fpt or ghes > 3.1 or ghae or ghec %} and diagnostic data from the database creation process{% endif %}.
Para obtener más información, consulta la sección [Analizar las bases de datos con el {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/) en la documentación del {% data variables.product.prodname_codeql_cli %}.
For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
### Ejemplo básico
### Basic example
Este ejemplo analiza una base de datos de {% data variables.product.prodname_codeql %} que se almacena en `/codeql-dbs/example-repo` y guarda los resultados como un archivo SARIF: `/temp/example-repo-js.sarif`. {% ifversion fpt or ghes > 3.1 or ghae or ghec %}Este utiliza `--sarif-category` para incluir información adicional en el archivo SARIF que identifica los resultados como JavaScript. Esto es escencial cuando tienes más de una base de datos de {% data variables.product.prodname_codeql %} que analizar para una sola confirmación en un repositorio.{% endif %}
This example analyzes a {% data variables.product.prodname_codeql %} database stored at `/codeql-dbs/example-repo` and saves the results as a SARIF file: `/temp/example-repo-js.sarif`. {% ifversion fpt or ghes > 3.1 or ghae or ghec %}It uses `--sarif-category` to include extra information in the SARIF file that identifies the results as JavaScript. This is essential when you have more than one {% data variables.product.prodname_codeql %} database to analyze for a single commit in a repository.{% endif %}
```
$ codeql database analyze /codeql-dbs/example-repo \
@@ -459,16 +198,16 @@ $ codeql database analyze /codeql-dbs/example-repo \
> Interpreting results.
```
## Cargar resultados en {% data variables.product.product_name %}
## Uploading results to {% data variables.product.product_name %}
{% data reusables.code-scanning.upload-sarif-alert-limit %}
Antes de que puedas cargar los resultados a {% data variables.product.product_name %}, debes determinar la mejor forma de pasar el token de acceso personal o de la {% data variables.product.prodname_github_app %} que creaste anteriormente al {% data variables.product.prodname_codeql_cli %} (consulta la sección [Instalar el {% data variables.product.prodname_codeql_cli %} en tu sistema de IC](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system#generating-a-token-for-authentication-with-github)). Te recomendamos que revises las instrucciones de tu sistema de IC sobre el uso seguro para un almacenamiento de secretos. El {% data variables.product.prodname_codeql_cli %} es compatible con:
Before you can upload results to {% data variables.product.product_name %}, you must determine the best way to pass the {% data variables.product.prodname_github_app %} or personal access token you created earlier to the {% data variables.product.prodname_codeql_cli %} (see [Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system#generating-a-token-for-authentication-with-github)). We recommend that you review your CI system's guidance on the secure use of a secret store. The {% data variables.product.prodname_codeql_cli %} supports:
- Pasar el token al CLI a través de una entrada estándar utilizando la opción `--github-auth-stdin` (recomendado).
- Guardar el secreto en la variable de ambiente `GITHUB_TOKEN` y ejecutando el CLI sin incluir la opción `--github-auth-stdin`.
- Passing the token to the CLI via standard input using the `--github-auth-stdin` option (recommended).
- Saving the secret in the environment variable `GITHUB_TOKEN` and running the CLI without including the `--github-auth-stdin` option.
Cuando decidas cuál será el método más seguro y confiable para tu servidor de IC, ejecuta `codeql github upload-results` en cada archivo de resultados SARIF e incluye `--github-auth-stdin`, a menos de que el token esté disponible en la variable de ambiente `GITHUB_TOKEN`.
When you have decided on the most secure and reliable method for your CI server, run `codeql github upload-results` on each SARIF results file and include `--github-auth-stdin` unless the token is available in the environment variable `GITHUB_TOKEN`.
```shell
echo "$UPLOAD_TOKEN" | codeql github upload-results --repository=&lt;repository-name&gt; \
@@ -476,110 +215,20 @@ Cuando decidas cuál será el método más seguro y confiable para tu servidor d
{% ifversion ghes > 3.0 or ghae %}--github-url=&lt;URL&gt; {% endif %}--github-auth-stdin
```
<table spaces-before="0">
<tr>
<th>
Opción
</th>
<th align="center">
Requerido
</th>
<th>
Uso
</th>
</tr>
<tr>
<td>
<nobr>`--repository`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el <em x-id="3">OWNER/NAME</em> del repositorio al cual quieres cargar los datos. El propietario debe ser una organización dentro de una empresa que tenga una licencia de {% data variables.product.prodname_GH_advanced_security %} y la {% data variables.product.prodname_GH_advanced_security %} debe estar habilitada para el repositorio{% ifversion fpt or ghec %}, a menos de que este sea público{% endif %}. Para obtener más información, consulta la sección "<a href="/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository">Administrar la configuración de seguridad y análisis para tu repositorio</a>".
</td>
</tr>
<tr>
<td>
<nobr>`--ref`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el nombre de la <code>ref</code> que verificaste y analizaste para que los resultados puedan empatarse con el código correcto. Para una rama, utiliza: <code>refs/heads/BRANCH-NAME</code>, para la confirmación principal de una solicitud de cambios, utiliza: <code>refs/pull/NUMBER/head</code> o, para la confirmación de fusión que genera {% data variables.product.prodname_dotcom %} para una solución de cambios, utiliza: <code>refs/pull/NUMBER/merge</code>.
</td>
</tr>
<tr>
<td>
<nobr>`--commit`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el SHA completo de la confirmación que analizaste.
</td>
</tr>
<tr>
<td>
<nobr>`--sarif`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el archivo SARIF a cargar.{% ifversion ghes > 3.0 or ghae %}
</td>
</tr>
<tr>
<td>
<nobr>`--github-url`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica la URL de {% data variables.product.product_name %}.{% endif %}
</td>
</tr>
<tr>
<td>
<nobr>`--github-auth-stdin`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Utilízala para pasar al CLI la {% data variables.product.prodname_github_app %} o token de acceso personal que creaste para autenticarse con la API de REST de {% data variables.product.company_short %} a través de una entrada estándar. Esto no se necesita si el comando tiene acceso a una variable de ambiente de <code>GITHUB_TOKEN</code> que se configuró con este token.
</td>
</tr>
</table>
| Option | Required | Usage |
|--------|:--------:|-----|
| <nobr>`--repository`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the *OWNER/NAME* of the repository to upload data to. The owner must be an organization within an enterprise that has a license for {% data variables.product.prodname_GH_advanced_security %} and {% data variables.product.prodname_GH_advanced_security %} must be enabled for the repository{% ifversion fpt or ghec %}, unless the repository is public{% endif %}. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."
| <nobr>`--ref`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name of the `ref` you checked out and analyzed so that the results can be matched to the correct code. For a branch use: `refs/heads/BRANCH-NAME`, for the head commit of a pull request use `refs/pull/NUMBER/head`, or for the {% data variables.product.prodname_dotcom %}-generated merge commit of a pull request use `refs/pull/NUMBER/merge`.
| <nobr>`--commit`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the full SHA of the commit you analyzed.
| <nobr>`--sarif`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the SARIF file to load.{% ifversion ghes > 3.0 or ghae %}
| <nobr>`--github-url`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the URL for {% data variables.product.product_name %}.{% endif %}
| <nobr>`--github-auth-stdin`</nobr> | | Optional. Use to pass the CLI the {% data variables.product.prodname_github_app %} or personal access token created for authentication with {% data variables.product.company_short %}'s REST API via standard input. This is not needed if the command has access to a `GITHUB_TOKEN` environment variable set with this token.
Para obtener más información, consulta la sección [resultados de carga de github](https://codeql.github.com/docs/codeql-cli/manual/github-upload-results/) en la documentación del {% data variables.product.prodname_codeql_cli %}.
For more information, see [github upload-results](https://codeql.github.com/docs/codeql-cli/manual/github-upload-results/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
### Ejemplo básico
### Basic example
Este ejemplo carga los resultados del archivo SARIF `temp/example-repo-js.sarif` al repositorio `my-org/example-repo`. Le dice a la API del {% data variables.product.prodname_code_scanning %} que los resultados son para la confirmación `deb275d2d5fe9a522a0b7bd8b6b6a1c939552718` en la rama `main`.
This example uploads results from the SARIF file `temp/example-repo-js.sarif` to the repository `my-org/example-repo`. It tells the {% data variables.product.prodname_code_scanning %} API that the results are for the commit `deb275d2d5fe9a522a0b7bd8b6b6a1c939552718` on the `main` branch.
```
$ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-repo \
@@ -588,61 +237,23 @@ $ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-
{% endif %}--github-auth-stdin
```
No hay salida para este comando a menos de que la carga no sea exitosa. El símbolo de sistema regresa cuando la carga se completa e inicia el procesamiento de datos. En bases de código más pequeñas, debes poder explorar las alertas del {% data variables.product.prodname_code_scanning %} en {% data variables.product.product_name %} poco tiempo después. Puedes ver las alertas directamente en la solicitud de cambios en la pestaña de **Seguridad** de las ramas, dependiendo del código que verificaste. Para obtener más información, consulta las secciones "[Clasificar las alertas del {% data variables.product.prodname_code_scanning %} en las solicitudes de cambio](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)" y "[Administrar las alertas del {% data variables.product.prodname_code_scanning %} de tu repositorio](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)".
There is no output from this command unless the upload was unsuccessful. The command prompt returns when the upload is complete and data processing has begun. On smaller codebases, you should be able to explore the {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.product_name %} shortly afterward. You can see alerts directly in the pull request or on the **Security** tab for branches, depending on the code you checked out. For more information, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)" and "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)."
{% if codeql-packs %}
## Descargar y utilizar paquetes de consultas de {% data variables.product.prodname_codeql %}
## Downloading and using {% data variables.product.prodname_codeql %} query packs
{% data reusables.code-scanning.beta-codeql-packs-cli %}
El paquete de {% data variables.product.prodname_codeql_cli %} incluye consultas que mantienen los expertos de {% data variables.product.company_short %}, los investigadores de seguridad y los contribuyentes de la comunidad. Si quieres ejecutar consultas que desarrollan otras organizaciones, los paquetes de consultas de {% data variables.product.prodname_codeql %} proporcionan una forma confiable y eficiente de descargarlas y ejecutarlas. Para obtener más información, consulta la sección "[Acerca del escaneo de código con CodeQL"](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries)".
The {% data variables.product.prodname_codeql_cli %} bundle includes queries that are maintained by {% data variables.product.company_short %} experts, security researchers, and community contributors. If you want to run queries developed by other organizations, {% data variables.product.prodname_codeql %} query packs provide an efficient and reliable way to download and run queries. For more information, see "[About code scanning with CodeQL](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries)."
Before you can use a {% data variables.product.prodname_codeql %} pack to analyze a database, you must download any packages you require from the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}. This can be done either by using the `--download` flag as part of the `codeql database analyze` command. Si un paquete no está disponible públicamente, necesitarás utilizar un token de acceso personal o de {% data variables.product.prodname_github_app %} para autenticarte. Para obtener más información y un ejemplo, consulta la sección anterior de "[Cargar los resultados a {% data variables.product.product_name %}](#uploading-results-to-github)".
Before you can use a {% data variables.product.prodname_codeql %} pack to analyze a database, you must download any packages you require from the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}. This can be done either by using the `--download` flag as part of the `codeql database analyze` command. If a package is not publicly available, you will need to use a {% data variables.product.prodname_github_app %} or personal access token to authenticate. For more information and an example, see "[Uploading results to {% data variables.product.product_name %}](#uploading-results-to-github)" above.
<table spaces-before="0">
<tr>
<th>
Opción
</th>
<th align="center">
Requerido
</th>
<th>
Uso
</th>
</tr>
<tr>
<td>
<nobr>`<scope>`</nobr>
</td>
<td align="center">
{% octicon "check-circle-fill" aria-label="Required" %}
</td>
<td>
Especifica el alcance y nombre de uno o más paquetes de consultas de CodeQL a descargar utilizando una lista separada por comas. Opcionalmente, incluye la versión para descargar y descomprimir. Se descarga la versión más reciente de este paquete predeterminadamente. Optionally, include a path to a query, directory, or query suite to run. If no path is included, then run the default queries of this pack.
</td>
</tr>
<tr>
<td>
<nobr>`--github-auth-stdin`</nobr>
</td>
<td align="center">
</td>
<td>
Opcional. Pasa la {% data variables.product.prodname_github_app %} o el token de acceso personal que se creó para la autenticación con la API de REST de {% data variables.product.company_short %} al CLI a través de una entrada estándar. Esto no se necesita si el comando tiene acceso a una variable de ambiente de <code>GITHUB_TOKEN</code> que se configuró con este token.
</td>
</tr>
</table>
| Option | Required | Usage |
|--------|:--------:|-----|
| <nobr>`<scope/name@version:path>`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the scope and name of one or more CodeQL query packs to download using a comma-separated list. Optionally, include the version to download and unzip. By default the latest version of this pack is downloaded. Optionally, include a path to a query, directory, or query suite to run. If no path is included, then run the default queries of this pack. |
| <nobr>`--github-auth-stdin`</nobr> | | Optional. Pass the {% data variables.product.prodname_github_app %} or personal access token created for authentication with {% data variables.product.company_short %}'s REST API to the CLI via standard input. This is not needed if the command has access to a `GITHUB_TOKEN` environment variable set with this token.
### Ejemplo básico
### Basic example
This example runs the `codeql database analyze` command with the `--download` option to:
@@ -683,9 +294,9 @@ echo $OCTO-ORG_ACCESS_TOKEN | codeql pack download &lt;scope/name@version:path&g
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
## Configuración de IC de ejemplo para el análisis de {% data variables.product.prodname_codeql %}
## Example CI configuration for {% data variables.product.prodname_codeql %} analysis
Este es un ejemplo de la serie de comandos que puedes utilizar para analizar una base de código con dos lenguajes compatibles y luego cargar los resultados a {% data variables.product.product_name %}.
This is an example of the series of commands that you might use to analyze a codebase with two supported languages and then upload the results to {% data variables.product.product_name %}.
```shell
# Create CodeQL databases for Java and Python in the 'codeql-dbs' directory
@@ -719,23 +330,23 @@ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-re
--sarif=python-results.sarif --github-auth-stdin
```
## Solucionar problemas del {% data variables.product.prodname_codeql_cli %} en tu sistema de IC
## Troubleshooting the {% data variables.product.prodname_codeql_cli %} in your CI system
### Visualizar la información diangóstica y de la bitácora
### Viewing log and diagnostic information
Cuando analices una base de datos de {% data variables.product.prodname_codeql %} utilizando un conjunto de consultas del {% data variables.product.prodname_code_scanning %} adicionalmente a generar información detallada sobre las alertas, el CLI reporta datos de diagnóstico desde el paso de generación de base de datos y las métricas de resumen. En el caso de los repositorios con pocas alertas, puede que esta información te sea útil para determinar si genuinamente hay pocos problemas en el código o si hubieron errores que se generaron en la base datos de {% data variables.product.prodname_codeql %}. Para obtener una salida más detallada de `codeql database analyze`, utiliza la opción `--verbose`.
When you analyze a {% data variables.product.prodname_codeql %} database using a {% data variables.product.prodname_code_scanning %} query suite, in addition to generating detailed information about alerts, the CLI reports diagnostic data from the database generation step and summary metrics. For repositories with few alerts, you may find this information useful for determining if there are genuinely few problems in the code, or if there were errors generating the {% data variables.product.prodname_codeql %} database. For more detailed output from `codeql database analyze`, use the `--verbose` option.
Para obtener información sobre el tipo de información de diagnóstico disponible, consulta la sección "[Visualizar las bitácoras del {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs#about-analysis-and-diagnostic-information)".
For more information about the type of diagnostic information available, see "[Viewing {% data variables.product.prodname_code_scanning %} logs](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs#about-analysis-and-diagnostic-information)".
### El {% data variables.product.prodname_code_scanning_capc %} solo muestra los resultados de análisis de uno de los lenguajes analizados
### {% data variables.product.prodname_code_scanning_capc %} only shows analysis results from one of the analyzed languages
Predeterminadamente, el {% data variables.product.prodname_code_scanning %} espera un archivo de resultado SARIF por cada análisis de un repositorio. Como consecuencia, cuando cargues un segundo archivo de resultados SARIF para una confirmación, este se tratará como un reemplazo para el conjunto de datos original.
By default, {% data variables.product.prodname_code_scanning %} expects one SARIF results file per analysis for a repository. Consequently, when you upload a second SARIF results file for a commit, it is treated as a replacement for the original set of data.
Si quieres cargar más de un conjunto de resultados a la API del {% data variables.product.prodname_code_scanning %} para una confirmación en un repositorio, debes identificar cada conjunto de resultados como un conjunto único. En el caso de los repositorios en donde creas más de una base de datos de {% data variables.product.prodname_codeql %} para analizar cada confirmación, utiliza la opción `--sarif-category` para especificar un lenguaje u otra categoría para cada archivo SARIF que generes para ese repositorio.
If you want to upload more than one set of results to the {% data variables.product.prodname_code_scanning %} API for a commit in a repository, you must identify each set of results as a unique set. For repositories where you create more than one {% data variables.product.prodname_codeql %} database to analyze for each commit, use the `--sarif-category` option to specify a language or other unique category for each SARIF file that you generate for that repository.
{% endif %}
## Leer más
## Further reading
- [Crear bases de datos de CodeQL](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/)
- [Analizar las bases de datos con el CLI de CodeQL](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/)
- [Creating CodeQL databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/)
- [Analyzing databases with the CodeQL CLI](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/)

View File

@@ -42,6 +42,8 @@ Actualmente, {% data variables.product.product_name %} escanea los repositorios
When {% data variables.product.prodname_secret_scanning_GHAS %} is enabled, {% data variables.product.prodname_dotcom %} scans for secrets issued by the following service providers. {% ifversion ghec %}For more information about {% data variables.product.prodname_secret_scanning_GHAS %}, see "[About {% data variables.product.prodname_secret_scanning_GHAS %}](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-advanced-security)."{% endif %}
If you use the REST API for secret scanning, you can use the `Secret type` to report on secrets from specific issuers. Para obtener más información, consulta "[Escaneo de secretos](/enterprise-cloud@latest/rest/secret-scanning)."
{% ifversion ghes > 3.1 or ghae or ghec %}
{% note %}

View File

@@ -156,7 +156,7 @@ You can label a port to make the port more easily identifiable in a list.
## Adding a port to the codespace configuration
You can add a forwarded port to the {% data variables.product.prodname_codespaces %} configuration for the repository, so the port will automatically be forwarded for all codespaces created from the repository. After you update the configuration, any previously created codespaces must be rebuilt for the change to apply. For more information, see "[Configuring {% data variables.product.prodname_codespaces %} for your project](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-changes-to-your-configuration)."
You can add a forwarded port to the {% data variables.product.prodname_codespaces %} configuration for the repository, so the port will automatically be forwarded for all codespaces created from the repository. After you update the configuration, any previously created codespaces must be rebuilt for the change to apply. For more information, see "[Configuring {% data variables.product.prodname_codespaces %} for your project](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-configuration-changes-to-a-codespace)."
You can manually configure forwarded ports in a `.devcontainer.json` file using the `forwardPorts` property, or you can use the "Ports" panel in your codespace.

View File

@@ -47,7 +47,7 @@ Puedes extraer cambios del repositorio remoto hacia tu codespace en cualquier mo
1. En la parte superior de la barra lateral, haz clic en los puntos suspensivos (**...**). ![Botón de puntos suspensivos para las acciones de "más" y "ver"](/assets/images/help/codespaces/source-control-ellipsis-button.png)
1. En el menú desplegable, haz clic en **Extraer**.
Si el la configuración del contenedor dev cambió desde que creaste el codespace, puedes aplicar los cambios si recompilas el contenedor para el codespace. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-changes-to-your-configuration)".
Si el la configuración del contenedor dev cambió desde que creaste el codespace, puedes aplicar los cambios si recompilas el contenedor para el codespace. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-configuration-changes-to-a-codespace)".
## Configurar tu codespace para que recupere los cambios nuevos automáticamente

View File

@@ -87,7 +87,7 @@ Para crear codespaces con permisos personalizados definidos, debes utilizar uno
}
```
Para configurar todos los permisos para un repositorio específico, utiliza `read-all` i `write-all` en el objeto `permissions`
To set all permissions for a given repository, use `"permissions": "read-all"` or `"permissions": "write-all"` in the repository object.
```json
{
@@ -95,9 +95,7 @@ Para crear codespaces con permisos personalizados definidos, debes utilizar uno
"codespaces": {
"repositories": {
"my_org/my_repo": {
"permissions": {
"write-all"
}
"permissions": "write-all"
}
}
}

View File

@@ -26,7 +26,7 @@ Depending on the settings in a prebuild configuration, the workflow to update th
* A schedule that you've defined in the prebuild configuration
* Manually triggering the workflow
The settings in the prebuild configuration determine which events automatically trigger an update of the prebuild template. For more information, see "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)."
The settings in the prebuild configuration determine which events automatically trigger an update of the prebuild template. Para obtener más información, consulta la sección "[Configurar las precompilaciones](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)".
People with admin access to a repository can check the progress of prebuilds, edit, and delete prebuild configurations.
@@ -58,7 +58,20 @@ This displays the workflow run history for prebuilds for the associated branch.
1. Make the required changes to the prebuild configuration, then click **Update**.
### Delete a prebuild configuration
### Disabling a prebuild configuration
To pause the update of prebuild templates for a configuration, you can disable workflow runs for the configuration. Disabling the workflow runs for a prebuild configuration does not delete any previously created prebuild templates for that configuration and, as a result, codespaces will continue to be generated from an existing prebuild template.
Disabling the workflow runs for a prebuild configuration is useful if you need to investigate template creation failures.
1. On the {% data variables.product.prodname_codespaces %} page of your repository settings, click the ellipsis to the right of the prebuild configuration you want to disable.
1. In the dropdown menu, click **Disable runs**.
![The 'Disable runs' option in the drop-down menu](/assets/images/help/codespaces/prebuilds-disable.png)
1. To confirm that you want to disable this configuration, click **OK**.
### Deleting a prebuild configuration
Deleting a prebuild configuration also deletes all previously created prebuild templates for that configuration. As a result, shortly after you delete a configuration, prebuilds generated by that configuration will no longer be available when you create a new codespace.

View File

@@ -25,7 +25,7 @@ Para obtener más información, consulta la sección "[Introducción a los conte
1. Create a codespace from the prebuild-enabled branch whose dev container you want to change. For more information, see "[Creating a codespace ](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)."
1. In the codespace, check out a test branch. Para obtener más información, consulta la sección "[Utilizar el control de código fuente en tu codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#creating-or-switching-branches)."
1. Make the required changes to the dev container configuration.
1. Apply the changes by rebuilding the container. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-changes-to-your-configuration)".
1. Apply the changes by rebuilding the container. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace)."
1. After everything looks good, we also recommend creating a new codespace from your test branch to ensure everything is working. You can then commit your changes to your repository's default branch, or an active feature branch, triggering an update of the prebuild template for that branch.
{% note %}

View File

@@ -138,7 +138,7 @@ Puedes agregar una configuración de contenedor dev predefinida ya sea mientras
![Botón de OK](/assets/images/help/codespaces/prebuilt-container-ok-button.png)
1. Si estás trabajando en un codespace, aplica tus cambios haciendo clic en **Recompilar ahora** en el mensaje en la parte inferior derecha de la ventana. Para obtener más información sbre reconstruir tu contenedor, consulta la sección "[Acplicar los cambios a tu configuración](#applying-changes-to-your-configuration)".
1. Si estás trabajando en un codespace, aplica tus cambios haciendo clic en **Recompilar ahora** en el mensaje en la parte inferior derecha de la ventana. For more information about rebuilding your container, see "[Applying changes to your configuration](#applying-configuration-changes-to-a-codespace)."
!["Codespaces: Reconstruir contenedor" en la {% data variables.product.prodname_vscode_command_palette %}](/assets/images/help/codespaces/rebuild-prompt.png)
@@ -163,7 +163,7 @@ Puedes agregar algunas de las características más comunes seleccionándolas cu
![The select additional features menu during container configuration](/assets/images/help/codespaces/select-additional-features.png)
1. Para aplicar los cambios, en la esquina inferior derecha de la pantalla, haz clic en **Reconstruir ahora**. Para obtener más información sbre reconstruir tu contenedor, consulta la sección "[Acplicar los cambios a tu configuración](#applying-changes-to-your-configuration)".
1. Para aplicar los cambios, en la esquina inferior derecha de la pantalla, haz clic en **Reconstruir ahora**. For more information about rebuilding your container, see "[Applying changes to your configuration](#applying-configuration-changes-to-a-codespace)."
!["Codespaces: Reconstruir contenedor" en la paleta de comandos](/assets/images/help/codespaces/rebuild-prompt.png)
@@ -211,7 +211,7 @@ Puedes definir la configuración predeterminada del editor para {% data variable
* Editor settings defined in the `.vscode/settings.json` file in your repository are applied as _Workspace_-scoped settings in the codespace.
* Editor settings defined in the `settings` key in the `devcontainer.json` file are applied as _Remote [Codespaces]_-scoped settings in the codespace.
## Aplicar cambios a tu configuración
## Applying configuration changes to a codespace
{% data reusables.codespaces.apply-devcontainer-changes %}

View File

@@ -57,6 +57,10 @@ Here are things to check if the "{% octicon "zap" aria-label="The zap icon" %} P
* Check whether a change to the dev container configuration was pushed to the prebuild-enabled branch recently. If so, you will typically have to wait until the prebuild workflow run for this push completes before prebuilds are available again.
* Si no se hicieron cambios de configuración recientemente, dirígete a la pestaña de **Acciones** de tu repositorio, haz clic en **{% octicon "codespaces" aria-label="The Codespaces icon" %} Preconfiguraciones de los {% data variables.product.prodname_codespaces %} ** en la lista de flujos de trabajo y verifica que las ejecuciones de flujo de trabajo precompliladas para la rama estén teniendo éxito. If latest runs of a workflow failed, and one or more of these failed runs contained changes to the dev container configuration, then there will be no available prebuilds for the associated branch.
## Troubleshooting failed workflow runs for prebuilds
If the workflow runs for a prebuild configuration are failing, you can temporarily disable the prebuild configuration while you investigate. For more information, see "[Managing prebuilds](/codespaces/prebuilding-your-codespaces/managing-prebuilds#disabling-a-prebuild-configuration)."
## Leer más
- "[Configuring prebuilds](/codespaces/prebuilding-your-codespaces/configuring-prebuilds)"

View File

@@ -47,12 +47,14 @@ Cualquiera con acceso de escritura a un repositorio puede editar comentarios sob
Es adecuado editar un comentario y eliminar el contenido que no haga ninguna colaboración con la conversación y viole el código de conducta de tu comunidad{% ifversion fpt or ghec %} o los [Lineamientos comunitarios](/free-pro-team@latest/github/site-policy/github-community-guidelines) de GitHub{% endif %}.
Cuando editas un comentario, toma nota de la ubicación desde la que se ha eliminado el contenido y, de manera opcional, la razón por la que se lo eliminó.
Sometimes it may make sense to clearly indicate edits and their justification.
Cualquier persona con acceso de lectura a un repositorio puede ver el historial de edición del comentario. El menú desplegable **editado** en la parte superior del comentario contiene un historial de las ediciones y muestra el usuario y el registro de horario de cada edición.
That said, anyone with read access to a repository can view a comment's edit history. El menú desplegable **editado** en la parte superior del comentario contiene un historial de las ediciones y muestra el usuario y el registro de horario de cada edición.
![Comentario con nota adicional que el contenido fue redactado](/assets/images/help/repository/content-redacted-comment.png)
## Redacting sensitive information
Los autores de los comentarios y cualquiera con acceso de escritura a un repositorio puede también eliminar información sensible de un historial de edición de los comentarios. Para obtener más información, consulta "[Rastrear los cambios en un comentario](/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment)."
1. Navega hasta el comentario que deseas editar.
@@ -65,20 +67,22 @@ Los autores de los comentarios y cualquiera con acceso de escritura a un reposit
Cualquiera con acceso de escritura a un repositorio puede borrar comentarios sobre reportes de problemas, solicitudes de extracción y confirmaciones. Los propietarios de organizaciones, mantenedores de equipos, y el autor del comentario también pueden borrarlo en la página del equipo.
Si un comentario contiene algún contenido constructivo que suma a la conversación en cuanto a la propuesta o a la solicitud de extracción, puedes editar el comentario.
Eliminar un comentario es tu último recurso como moderador. Es correcto eliminar un comentario si todo este falla en añadir contenido constructivo a una conversación y viola el código de conducta de tu comunidad{% ifversion fpt or ghec %} o los [Lineamientos comunitarios](/free-pro-team@latest/github/site-policy/github-community-guidelines) de GitHub{% endif %}.
Eliminar un comentario crea un evento cronológico que es visible para todos aquellos que tienen acceso de lectura al repositorio. Sin embargo, el nombre de usuario de la persona que eliminó el comentario solo es visible para personas con acceso de escritura al repositorio. Para cualquiera que no tenga acceso de escritura, el evento de cronología es anónimo.
![Evento cronológico anónimo para un comentario eliminado](/assets/images/help/issues/anonymized-timeline-entry-for-deleted-comment.png)
Si un comentario contiene algún contenido constructivo que sume a la conversación en cuanto a la propuesta o a la solicitud de extracción, puedes editar el comentario.
{% note %}
**Nota:** el comentario inicial (o cuerpo) de una propuesta o solicitud de extracción no puede eliminarse. Por el contrario, pueden editar los cuerpos de la propuesta o de la solicitud de extracción para eliminar el contenido no deseado.
{% endnote %}
### Steps to delete a comment
1. Navega hasta el comentario que deseas eliminar.
2. En la esquina superior derecha del comentario, haz clic en {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, después haz clic en **Delete (Eliminar)**. ![El ícono de kebab horizontal y el menú de moderación de comentario que muestra las opciones Editar, Ocultar, Eliminar e Informar](/assets/images/help/repository/comment-menu.png)
3. De forma opcional, escribe un comentario señalando que eliminaste un comentario y el porqué.

View File

@@ -15,7 +15,7 @@ shortTitle: Para alumnos
Usar {% data variables.product.prodname_dotcom %} para tus proyectos escolares es un modo práctico de colaborar con otros y crear un portfolio que exhiba experiencia práctica.
Cualquiera con una cuenta de {% data variables.product.prodname_dotcom %} puede colaborar en repositorios públicos y privados ilimitados con {% data variables.product.prodname_free_user %}. As a student, you can also apply for GitHub Student benefits. Para obtener más información, consulta las secciones "[Postularse para un paquete de desarrollo para alumnos](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/apply-for-a-student-developer-pack)" y [{% data variables.product.prodname_education %}](https://education.github.com/).
Cualquiera con una cuenta de {% data variables.product.prodname_dotcom %} puede colaborar en repositorios públicos y privados ilimitados con {% data variables.product.prodname_free_user %}. Como alumno, también puedes aplicar para obtener los beneficios de GitHub Student. Para obtener más información, consulta las secciones "[Postularse para un paquete de desarrollo para alumnos](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/apply-for-a-student-developer-pack)" y [{% data variables.product.prodname_education %}](https://education.github.com/).
Si eres un miembro de un club de robótica FIRST, tu mentor puede solicitar un descuento de educador para que tu equipo pueda colaborar usando {% data variables.product.prodname_team %}, lo que permite repositorios privados y usuarios ilimitados, de forma gratuita. Para obtener más información, consulta la sección "[Postularse para un descuento para educador o investigador](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/apply-for-an-educator-or-researcher-discount)".

View File

@@ -26,6 +26,8 @@ The {% data variables.product.prodname_codespaces %} Education benefit gives ver
To become a verified teacher, you need to be approved for an educator or teacher benefit. For more information, see "[Applying for an educator or teacher benefit](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/apply-for-an-educator-or-researcher-discount#applying-for-an-educator-or-researcher-discount)."
After you have confirmation that you are a verified teacher, visit [Global Campus for Teachers](https://education.github.com/globalcampus/teacher) to upgrade the organization to GitHub Team. For more information, see [GitHub's products](/get-started/learning-about-github/githubs-products#github-team).
If you are eligible for the {% data variables.product.prodname_codespaces %} Education benefit, when you enable {% data variables.product.prodname_codespaces %} in {% data variables.product.prodname_classroom %} for your organization, GitHub automatically adds a Codespace policy to restrict machine types for all codespaces in the organization to 2 core machines. This helps you make the most of the free {% data variables.product.prodname_codespaces %} usage. However, you can change or remove these policies in your organization settings. Para obtener más información, consulta la sección "[Restringir el acceso a los tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)".
When the {% data variables.product.prodname_codespaces %} Education benefit moves out of beta, if your organization exceeds their free allowance for {% data variables.product.prodname_codespaces %} usage, your organization will be billed for additional usage. Para obtener más información, consulta la sección "[Acerca de la facturación para el {% data variables.product.prodname_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-codespaces#about-billing-for-codespaces)".

View File

@@ -25,7 +25,7 @@ Si hay un tema en particular que te interese, visita `github.com/topics/<topic>`
Si has tenido actividad en {% data variables.product.product_location %} recientemente, puedes encontrar recomendaciones personalizadas para proyectos e informes de problemas iniciales que se basen en tus contribuciones, estrellas y otras actividades previas en [Explore](https://github.com/explore). También puedes registrarte para el boletín Explore para recibir correos electrónicos sobre las oportunidades disponibles para colaborar con {% data variables.product.product_name %} de acuerdo a tus intereses. Para registrarte, consulta [Boletín Explore por correo](https://github.com/explore/subscribe).
Mantente al tanto con la actividad reciente de los repositorios que observas y las personas{% if for-you-feed %} y organizaciones{% endif %} que sigues con tu tablero personal. Para obtener más información, consulta "[Acerca de tu tablero personal](/articles/about-your-personal-dashboard)".
Keep up with recent activity from repositories you watch, as well as people and organizations you follow, with your personal dashboard. Para obtener más información, consulta "[Acerca de tu tablero personal](/articles/about-your-personal-dashboard)".
{% data reusables.support.ask-and-answer-forum %}

View File

@@ -17,7 +17,7 @@ topics:
When you follow organizations, you'll see their public activity on your personal dashboard. Para obtener más información, consulta "[Acerca de tu tablero personal](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)".
You can unfollow an organization if you do not wish to see their public activity on {% data variables.product.product_name %}.
You can unfollow an organization if you do not wish to see their {% ifversion fpt or ghec %}public{% endif %} activity on {% data variables.product.product_name %}.
## Following an organization on {% data variables.product.product_name %}

View File

@@ -5,7 +5,7 @@ redirect_from:
- /articles/create-a-repo
- /github/getting-started-with-github/create-a-repo
- /github/getting-started-with-github/quickstart/create-a-repo
intro: 'To put your project up on {% data variables.product.prodname_dotcom %}, you will need to create a repository for it to live in.'
intro: 'Para poner tu proyecto en {% data variables.product.prodname_dotcom %}, necesitarás crear un repositorio en donde pueda vivir.'
versions:
fpt: '*'
ghes: '*'
@@ -22,7 +22,7 @@ topics:
{% ifversion fpt or ghec %}
Puedes almacenar distintos proyectos en los repositorios de {% data variables.product.prodname_dotcom %}, incluso proyectos de código abierto. With open source projects, you can share code to make better, more reliable software. Puedes utilizar los repositorios para colaborar con otros y rastrear tu trabajo. Para obtener más información, consulta la sección "[Acerca de los repositorios](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories)". To learn more about open source projects, visit [OpenSource.org](http://opensource.org/about).
Puedes almacenar distintos proyectos en los repositorios de {% data variables.product.prodname_dotcom %}, incluso proyectos de código abierto. Con los proyectos de código abierto, puedes compartir código para hacer software mejor y más confiable. Puedes utilizar los repositorios para colaborar con otros y rastrear tu trabajo. Para obtener más información, consulta la sección "[Acerca de los repositorios](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories)". Para aprender más sobre los proyectos de código abierto, visita [OpenSource.org](http://opensource.org/about).
{% elsif ghes or ghae %}
@@ -78,7 +78,7 @@ Confirmemos un cambio en el archivo *README*.
2. En el contenido del archivo, haz clic en {% octicon "pencil" aria-label="The edit icon" %}.
3. En la pestaña **Editar archivo**, escribe alguna información sobre ti. ![Nuevo contenido en el archivo](/assets/images/help/repository/edit-readme-light.png)
{% data reusables.files.preview_change %}
5. Revisa los cambios que realizaste en el archivo. You will see the new content in green. ![Vista previa del archivo](/assets/images/help/repository/create-commit-review.png)
5. Revisa los cambios que realizaste en el archivo. Verás el contenido nuevo de color verde. ![Vista previa del archivo](/assets/images/help/repository/create-commit-review.png)
{% data reusables.files.write_commit_message %}
{% data reusables.files.choose_commit_branch %}
{% data reusables.files.propose_file_change %}

View File

@@ -74,7 +74,7 @@ Si clonas con SSH, debes generar llaves SSH en cada computadora que utilices par
## Pasos siguientes
Ahora Git y {% data variables.product.prodname_dotcom %} están completamente configurados. Ahora puedes elegir crear un repositorio en donde puedas poner tus proyectos. Saving your code in a repository allows you to back up your code and share it around the world.
Ahora Git y {% data variables.product.prodname_dotcom %} están completamente configurados. Ahora puedes elegir crear un repositorio en donde puedas poner tus proyectos. El guardar tu código en un repositorio te permite respaldarlo y compartirlo con todo el mundo.
* {% data reusables.getting-started.create-a-repository %}.

Some files were not shown because too many files have changed in this diff Show More