New translation batch for pt-BR (#23087)
* Add crowdin translations * run script/i18n/reset-files-with-broken-liquid-tags.js --language=pt * run script/i18n/reset-known-broken-translation-files.js * Run script/i18n/homogenize-frontmatter.js * Run script/i18n/fix-translation-errors.js * Run script/i18n/lint-translation-files.js --check rendering
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Administrar las notificaciones en tu bandeja de entrada
|
||||
intro: 'Utiliza tu bandeja de entrada para clasificar y sincronizar rápidamente tus notificaciones a través de tu correo electrónico {% ifversion fpt or ghes or ghec %} y dispositivos móviles{% endif %}.'
|
||||
title: Managing notifications from your inbox
|
||||
intro: 'Use your inbox to quickly triage and sync your notifications across email{% ifversion fpt or ghes or ghec %} and mobile{% endif %}.'
|
||||
redirect_from:
|
||||
- /articles/marking-notifications-as-read
|
||||
- /articles/saving-notifications-for-later
|
||||
@@ -13,103 +13,102 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Notifications
|
||||
shortTitle: Administrar desde tu bandeja de entrada
|
||||
shortTitle: Manage from your inbox
|
||||
---
|
||||
|
||||
{% ifversion ghes %}
|
||||
{% data reusables.mobile.ghes-release-phase %}
|
||||
{% endif %}
|
||||
|
||||
## Acerca de tu bandeja de entrada
|
||||
## About your inbox
|
||||
|
||||
{% ifversion fpt or ghes or ghec %}
|
||||
{% data reusables.notifications-v2.notifications-inbox-required-setting %}Para obtener más información, consulta la sección "[Configurar notificaciones](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#choosing-your-notification-settings)".
|
||||
{% data reusables.notifications-v2.notifications-inbox-required-setting %} For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#choosing-your-notification-settings)."
|
||||
{% endif %}
|
||||
|
||||
Para acceder a tu bandeja de notificaciones, en la esquina superior derecha de cualquier página, da clic en {% octicon "bell" aria-label="The notifications bell" %}.
|
||||
To access your notifications inbox, in the upper-right corner of any page, click {% octicon "bell" aria-label="The notifications bell" %}.
|
||||
|
||||

|
||||

|
||||
|
||||
Tu bandeja de entrada muestra todas las notificaciones de las cuales aún no te has desuscrito o que no has marcado como **Hecho**. Puedes personalizar tu bandeja de entrada como mejor se acople con tu flujo de trabajo utilizando filtros, visualizando todas las notificaciones o únicamente las que no se han leído, y agrupando tus notificaciones para obtener un resumen rápido.
|
||||
Your inbox shows all of the notifications that you haven't unsubscribed to or marked as **Done.** You can customize your inbox to best suit your workflow using filters, viewing all or just unread notifications, and grouping your notifications to get a quick overview.
|
||||
|
||||

|
||||

|
||||
|
||||
Predeterminadamente, tu bandeja de entrada mostrará las notificaciones leídas y no leídas. Para solo ver las no leídas, da clic en **No leídas** o utiliza la consulta `is:unread`.
|
||||
By default, your inbox will show read and unread notifications. To only see unread notifications, click **Unread** or use the `is:unread` query.
|
||||
|
||||

|
||||

|
||||
|
||||
## Opciones de clasificación
|
||||
## Triaging options
|
||||
|
||||
Tienes varias opciones para clasificar las notificaciones de tu bandeja de entrada.
|
||||
You have several options for triaging notifications from your inbox.
|
||||
|
||||
| Opción de clasificación | Descripción |
|
||||
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Save | Guarda tu notificación para revisarla posteriormente. Para guardar una notificación, da clic en {% octicon "bookmark" aria-label="The bookmark icon" %} al lado derecho de la misma. <br> <br> Las notificaciones guardadas se mantienen por tiempo indefinido y puedes verlas si das clic en **Guardadas** en la barra lateral o con el query `is:saved`. Si guardas las notificaciones por más de 5 meses y luego las dejas de guardar, estas desaparecerán de tu bandeja de entrada en un día. |
|
||||
| Done | Marca una notificación como completada y elimina la notificación de tu bandeja de entrada. Puedes ver todas las notificaciones completadas dando clic en **Hecho** dentro de la barra lateral o con el query `is:done`. Las notificaciones marcadas como **Hecho** se guardan por 5 meses. |
|
||||
| Unsubscribe | Elimina automáticamente la notificación de tu bandeja de entrada y te da de baja de la conversación hasta que se @mencione a tu usuario o a algún equipo al que pertenezcas, o cuando se te solicite una revisión. |
|
||||
| Read | Marca la notificación como leída. Para ver únicamente las notificaciones leídas en tu bandeja de entrada, utiliza el query `is:read`. Este query no incluirá a las notificaciones marcadas como **Hecho**. |
|
||||
| Unread | Mara la notificación como no leída. Para ver únicamente las notificaciones sin leer en tu bandeja de entrada, utiliza el query `is:unread`. |
|
||||
| Triaging option | Description |
|
||||
|-----------------|-------------|
|
||||
| Save | Saves your notification for later review. To save a notification, to the right of the notification, click {% octicon "bookmark" aria-label="The bookmark icon" %}. <br> <br> Saved notifications are kept indefinitely and can be viewed by clicking **Saved** in the sidebar or with the `is:saved` query. If your saved notification is older than 5 months and becomes unsaved, the notification will disappear from your inbox within a day. |
|
||||
| Done | Marks a notification as completed and removes the notification from your inbox. You can see all completed notifications by clicking **Done** in the sidebar or with the `is:done` query. Notifications marked as **Done** are saved for 5 months.
|
||||
| Unsubscribe | Automatically removes the notification from your inbox and unsubscribes you from the conversation until you are @mentioned, a team you're on is @mentioned, or you're requested for review.
|
||||
| Read | Marks a notification as read. To only view read notifications in your inbox, use the `is:read` query. This query doesn't include notifications marked as **Done**.
|
||||
| Unread | Marks notification as unread. To only view unread notifications in your inbox, use the `is:unread` query. |
|
||||
|
||||
Para ver los atajos de teclado disponibles, consulta la sección "[Atajos de Teclado](/github/getting-started-with-github/keyboard-shortcuts#notifications)".
|
||||
To see the available keyboard shortcuts, see "[Keyboard Shortcuts](/github/getting-started-with-github/keyboard-shortcuts#notifications)."
|
||||
|
||||
Antes de escoger una opción de clasificación, puedes prever los detalles de la notificación e investigar. Para obtener más información, consulta la sección "[Clasificar una sola notificación](/github/managing-subscriptions-and-notifications-on-github/triaging-a-single-notification)".
|
||||
Before choosing a triage option, you can preview your notification's details first and investigate. For more information, see "[Triaging a single notification](/github/managing-subscriptions-and-notifications-on-github/triaging-a-single-notification)."
|
||||
|
||||
## Clasificar varias notificaciones al mismo tiempo
|
||||
## Triaging multiple notifications at the same time
|
||||
|
||||
Para clasificar varias notificaciones de una sola vez, selecciona las notificaciones relevantes y utiliza el menú desplegable de {% octicon "kebab-horizontal" aria-label="The edit icon" %} para elegir una opción de clasificación.
|
||||
To triage multiple notifications at once, select the relevant notifications and use the {% octicon "kebab-horizontal" aria-label="The edit icon" %} drop-down to choose a triage option.
|
||||
|
||||

|
||||

|
||||
|
||||
## Filtros de notificación predeterminados
|
||||
## Default notification filters
|
||||
|
||||
Predeterminadamente, tu bandeja de entrada tiene filtros para cuando se te asigna, participas en un hilo, se te solicita revisar una solicitud de extracción, o cuando se @menciona a tu usuario directamente o a un equipo del cual eres miembro.
|
||||
By default, your inbox has filters for when you are assigned, participating in a thread, requested to review a pull request, or when your username is @mentioned directly or a team you're a member of is @mentioned.
|
||||
|
||||

|
||||

|
||||
|
||||
## Personalizar tu bandeja de entrada con filtros personalizados
|
||||
## Customizing your inbox with custom filters
|
||||
|
||||
Puedes agregar hasta 15 de tus filtros personalizados.
|
||||
You can add up to 15 of your own custom filters.
|
||||
|
||||
{% data reusables.notifications.access_notifications %}
|
||||
2. Para abrir la configuración de filtros, en la barra lateral izquierda, a lado de "Filtros", da clic en {% octicon "gear" aria-label="The Gear icon" %}.
|
||||
2. To open the filter settings, in the left sidebar, next to "Filters", click {% octicon "gear" aria-label="The Gear icon" %}.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** Puedes prever rápidamente los resultados del filtro en la bandeja de entrada si creas un query en ella y das clic en **Guardar**, lo cual abrirá la configuración del filtro personalizado.
|
||||
**Tip:** You can quickly preview a filter's inbox results by creating a query in your inbox view and clicking **Save**, which opens the custom filter settings.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
3. Añade un nombre para tu filtro y query del mismo. Por ejemplo, para ver únicamente las notificaciones de un repositorio específico, puedes crear un filtro utilizando el query `repo:octocat/open-source-project-name reason:participating`. También puedes añadir emojis con un teclado que los tenga como nativos. Para ver una lista de queries de búsqueda compatibles, consulta la sección "[Queries compatibles para filtros personalizados](#supported-queries-for-custom-filters)".
|
||||
3. Add a name for your filter and a filter query. For example, to only see notifications for a specific repository, you can create a filter using the query `repo:octocat/open-source-project-name reason:participating`. You can also add emojis with a native emoji keyboard. For a list of supported search queries, see "[Supported queries for custom filters](#supported-queries-for-custom-filters)."
|
||||
|
||||

|
||||

|
||||
|
||||
4. Da clic en **Crear**.
|
||||
4. Click **Create**.
|
||||
|
||||
## Limitaciones de los filtros personalizados
|
||||
## Custom filter limitations
|
||||
|
||||
Los filtros personalizados no son compatibles actualmente con:
|
||||
- Búsquedas de texto completo en tu bandeja de entrada, incluyendo búsquedas de los títulos de los informes de problemas o solicitudes de extracción.
|
||||
- Distinción entre los queries de filtro `is:issue`, `is:pr`, y `is:pull-request`. Estos queries darán como resultado tanto informes de verificación como solicitudes de extracción.
|
||||
- Crear más de 15 filtros personalizados.
|
||||
- Cambiar los filtros predeterminados o su orden.
|
||||
- Busca la [exclusión](/github/searching-for-information-on-github/understanding-the-search-syntax#exclude-certain-results) utilizando `NOT` o `-QUALIFIER`.
|
||||
Custom filters do not currently support:
|
||||
- Full text search in your inbox, including searching for pull request or issue titles.
|
||||
- Distinguishing between the `is:issue`, `is:pr`, and `is:pull-request` query filters. These queries will return both issues and pull requests.
|
||||
- Creating more than 15 custom filters.
|
||||
- Changing the default filters or their order.
|
||||
- Search [exclusion](/github/searching-for-information-on-github/understanding-the-search-syntax#exclude-certain-results) using `NOT` or `-QUALIFIER`.
|
||||
|
||||
## Queries compatibles para filtros personalizados
|
||||
## Supported queries for custom filters
|
||||
|
||||
Estos son los tipos de filtro que puedes utilizar:
|
||||
- Filtrar por repositorio con `repo:`
|
||||
- Filtrar por tipo de debate con `is:`
|
||||
- Filtrar por razón de la notificación con `reason:`{% ifversion fpt or ghec %}
|
||||
- Filtrar por autor de la notificación con `author:`
|
||||
- Filtrar por organización con `org:`{% endif %}
|
||||
These are the types of filters that you can use:
|
||||
- Filter by repository with `repo:`
|
||||
- Filter by discussion type with `is:`
|
||||
- Filter by notification reason with `reason:`{% ifversion fpt or ghec %}
|
||||
- Filter by notification author with `author:`
|
||||
- Filter by organization with `org:`{% endif %}
|
||||
|
||||
### Consultas de `repo:` compatibles
|
||||
### Supported `repo:` queries
|
||||
|
||||
Para agregar un filtro de `repo:`, debes incluir al propietario del repositorio en la consulta: `repo:owner/repository`. Un propietario es el usuario u organización al que pertenece el activo de {% data variables.product.prodname_dotcom %} que activa la notificación. Por ejemplo, `repo:octo-org/octo-repo` mostrará las notificaciones que se activaron en el repositorio octo-repo dentro de la organización octo-org.
|
||||
To add a `repo:` filter, you must include the owner of the repository in the query: `repo:owner/repository`. An owner is the organization or the user who owns the {% data variables.product.prodname_dotcom %} asset that triggers the notification. For example, `repo:octo-org/octo-repo` will show notifications triggered in the octo-repo repository within the octo-org organization.
|
||||
|
||||
### Queries de tipo `is:` compatibles
|
||||
### Supported `is:` queries
|
||||
|
||||
Para filtrar las notificaciones para una actividad específica en {% data variables.product.product_location %}, puedes utililzar la consulta `is`. Por ejemplo, para ver únicamente las actualizaciones de las invitaciones al repositorio, utiliza `is:repository-invitation`{% ifversion not ghae %}, y para ver únicamente las alertas de {% ifversion fpt or ghes or ghec %}{% else %}seguridad{% endif %} del {% data variables.product.prodname_dependabot %}, utiliza `is:repository-vulnerability-alert`.{% endif %}
|
||||
To filter notifications for specific activity on {% data variables.product.product_location %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% ifversion not ghae %}, and to only see {% data variables.product.prodname_dependabot %} alerts, use `is:repository-vulnerability-alert`{% endif %}.
|
||||
|
||||
- `is:check-suite`
|
||||
- `is:commit`
|
||||
@@ -126,64 +125,64 @@ Para filtrar las notificaciones para una actividad específica en {% data variab
|
||||
For information about reducing noise from notifications for {% data variables.product.prodname_dependabot_alerts %}, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."
|
||||
{% endif %}
|
||||
|
||||
También puedes utilizar la consulta `is:` para describir cómo se clasificó la notificación.
|
||||
You can also use the `is:` query to describe how the notification was triaged.
|
||||
|
||||
- `is:saved`
|
||||
- `is:done`
|
||||
- `is:unread`
|
||||
- `is:read`
|
||||
|
||||
### Queries de tipo `reason:` compatibles
|
||||
### Supported `reason:` queries
|
||||
|
||||
Para filtrar las notificaciones de acuerdo con la razón por la cual recibiste una actualización, puedes utilizar la consulta `reason:`. Por ejemplo, para ver las notificaciones cuando se solicita (a ti o a un equipo al que pertenezcas) revisar una solicitud de extracción, utiliza `reason:review-requested`. Para obtener más información, consulta la sección "[Acerca de las notificaciones](/github/managing-subscriptions-and-notifications-on-github/about-notifications#reasons-for-receiving-notifications)".
|
||||
To filter notifications by why you've received an update, you can use the `reason:` query. For example, to see notifications when you (or a team you're on) is requested to review a pull request, use `reason:review-requested`. For more information, see "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications#reasons-for-receiving-notifications)."
|
||||
|
||||
| Consulta | Descripción |
|
||||
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `reason:assign` | Cuando hay una actualización en un informe de problemas o solicitud de extracción en los que estés asignado. |
|
||||
| `reason:author` | Cuando abres una solicitud de extracción o informe de problemas y ésta ha tenido una actualización o comentario nuevo. |
|
||||
| `reason:comment` | Cuando comentas en un informe de problemas, solicitud de extracción o debate de equipo. |
|
||||
| `reason:participating` | Cuando comentas en un informe de problemas, solicitud de extracción o debate de equipo en el que te @mencionaron. |
|
||||
| `reason:invitation` | Cuando se te invita a un equipo, organización o repositorio. |
|
||||
| `reason:manual` | Cuando das clic en **Suscribirse** en un informe de problemas o solicitud de extracción al que no estuvieras suscrito. |
|
||||
| `reason:mention` | Cuando te @mencionan directamente. |
|
||||
| `reason:review-requested` | Ya sea tú o un equipo en el que estás solicitó revisar una solicitud de cambios.{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
| `reason:security-alert` | Cuando se emite una alerta de seguridad para un repositorio.{% endif %}
|
||||
| `reason:state-change` | Cuando el estado de un informe de problemas o solicitud de extracción cambia. Por ejemplo, se cierra un informe de problemas o se fusiona una solicitud de extracción. |
|
||||
| `reason:team-mention` | Cuando se @menciona a algún equipo al que pertenezcas. |
|
||||
| `reason:ci-activity` | Cuando un repositorio tiene una actualización de IC, tal como un nuevo estado de ejecución en un flujo de trabajo. |
|
||||
| Query | Description |
|
||||
|-----------------|-------------|
|
||||
| `reason:assign` | When there's an update on an issue or pull request you've been assigned to.
|
||||
| `reason:author` | When you opened a pull request or issue and there has been an update or new comment.
|
||||
| `reason:comment`| When you commented on an issue, pull request, or team discussion.
|
||||
| `reason:participating` | When you have commented on an issue, pull request, or team discussion or you have been @mentioned.
|
||||
| `reason:invitation` | When you're invited to a team, organization, or repository.
|
||||
| `reason:manual` | When you click **Subscribe** on an issue or pull request you weren't already subscribed to.
|
||||
| `reason:mention` | You were directly @mentioned.
|
||||
| `reason:review-requested` | You or a team you're on have been requested to review a pull request.{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
| `reason:security-alert` | When a security alert is issued for a repository.{% endif %}
|
||||
| `reason:state-change` | When the state of a pull request or issue is changed. For example, an issue is closed or a pull request is merged.
|
||||
| `reason:team-mention` | When a team you're a member of is @mentioned.
|
||||
| `reason:ci-activity` | When a repository has a CI update, such as a new workflow run status.
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
### Consultas de `author:` compatibles
|
||||
### Supported `author:` queries
|
||||
|
||||
Para filtrar notificaciones por usuario, puedes utilizar la consulta `author:`. Un autor es el autor original del hilo (propuesta, solicitud de cambios, gist, debate, etc.) del cual se te está notificando. Por ejemplo, para ver las notificaciones de los hilos que creó el usuario Octocat, utiliza `author:octocat`.
|
||||
To filter notifications by user, you can use the `author:` query. An author is the original author of the thread (issue, pull request, gist, discussions, and so on) for which you are being notified. For example, to see notifications for threads created by the Octocat user, use `author:octocat`.
|
||||
|
||||
### Consultas de `org:` compatibles
|
||||
### Supported `org:` queries
|
||||
|
||||
Para filtrar las notificaciones por organización, puedes utilizar la consulta `org`. La organización que necesitas especificar en la consulta es aquella del repositorio del cual se te está notificando en {% data variables.product.prodname_dotcom %}. Esta consulta es útil si perteneces a varias organizaciones y quieres ver las notificaciones de una organización específica.
|
||||
To filter notifications by organization, you can use the `org` query. The organization you need to specify in the query is the organization of the repository for which you are being notified on {% data variables.product.prodname_dotcom %}. This query is useful if you belong to several organizations, and want to see notifications for a specific organization.
|
||||
|
||||
Por ejemplo, para ver las notificaciones de la organización octo-org, utiliza `org:octo-org`.
|
||||
For example, to see notifications from the octo-org organization, use `org:octo-org`.
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
## Filtros personalizados del {% data variables.product.prodname_dependabot %}
|
||||
## {% data variables.product.prodname_dependabot %} custom filters
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
Si utilizas el {% data variables.product.prodname_dependabot %} para mantener tus dependencias actualziadas, puedes utilizar y guardar estos filtros personalizados:
|
||||
- `is:repository_vulnerability_alert` para mostrar notificaciones para las {% data variables.product.prodname_dependabot_alerts %}.
|
||||
- `reason:security_alert` para mostrar notificaciones para las {% data variables.product.prodname_dependabot_alerts %} y las solicitudes de cambios de las actualizaciones de seguridad.
|
||||
- `author:app/dependabot` para mostrar las notificaciones que genera el {% data variables.product.prodname_dependabot %}. Esto incluye las {% data variables.product.prodname_dependabot_alerts %}, solicitudes de cambios para actualizaciones de seguridad y solicitudes de cambio para actualizaciones de versión.
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
If you use {% data variables.product.prodname_dependabot %} to keep your dependencies up-to-date, you can use and save these custom filters:
|
||||
- `is:repository_vulnerability_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %}.
|
||||
- `reason:security_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %} and security update pull requests.
|
||||
- `author:app/dependabot` to show notifications generated by {% data variables.product.prodname_dependabot %}. This includes {% data variables.product.prodname_dependabot_alerts %}, security update pull requests, and version update pull requests.
|
||||
|
||||
Para obtener más información acerca del {% data variables.product.prodname_dependabot %}, consulta la sección "[Acerca de administrar dependencias vulnerables](/github/managing-security-vulnerabilities/about-managing-vulnerable-dependencies)".
|
||||
For more information about {% data variables.product.prodname_dependabot %}, see "[About managing vulnerable dependencies](/github/managing-security-vulnerabilities/about-managing-vulnerable-dependencies)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes or ghae-issue-4864 %}
|
||||
{% ifversion ghes < 3.3 or ghae-issue-4864 %}
|
||||
|
||||
If you use {% data variables.product.prodname_dependabot %} to keep your dependencies-up-to-date, you can use and save these custom filters to show notifications for {% data variables.product.prodname_dependabot_alerts %}:
|
||||
- `is:repository_vulnerability_alert`
|
||||
If you use {% data variables.product.prodname_dependabot %} to tell you about vulnerable dependencies, you can use and save these custom filters to show notifications for {% data variables.product.prodname_dependabot_alerts %}:
|
||||
- `is:repository_vulnerability_alert`
|
||||
- `reason:security_alert`
|
||||
|
||||
Para obtener más informació acera de las {% data variables.product.prodname_dependabot %}, consulta la sección "[Acerca de las alertas para las dependencias vulnerables](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)".
|
||||
For more information about {% data variables.product.prodname_dependabot %}, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Personalizar tu perfil
|
||||
intro: 'Puedes compartir información sobre tI con otros usuarios de {% data variables.product.product_name %} al configurar una imagen de perfil y agregar una biografía a tu perfil.'
|
||||
title: Personalizing your profile
|
||||
intro: 'You can share information about yourself with other {% data variables.product.product_name %} users by setting a profile picture and adding a bio to your profile.'
|
||||
redirect_from:
|
||||
- /articles/adding-a-bio-to-your-profile/
|
||||
- /articles/setting-your-profile-picture/
|
||||
@@ -17,200 +17,216 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Profiles
|
||||
shortTitle: Personalizar
|
||||
shortTitle: Personalize
|
||||
---
|
||||
## Changing your profile picture
|
||||
|
||||
## Cambiar tu imagen de perfil
|
||||
Your profile picture helps identify you across {% data variables.product.product_name %} in pull requests, comments, contributions pages, and graphs.
|
||||
|
||||
Tu imagen de perfil ayuda a identificarte dentro de {% data variables.product.product_name %} en solicitudes de extracción, comentarios, páginas de contribuciones y gráficos.
|
||||
|
||||
Cuando te registras en una cuenta, {% data variables.product.product_name %} te proporciona un "identicon" generado al azar. [Tu identicon](https://github.com/blog/1586-identicons) se genera a partir de un hash de tu ID de usuario, por lo que no hay manera de controlar su color o patrón. Puedes reemplazar tu identicon con una imagen que te represente.
|
||||
When you sign up for an account, {% data variables.product.product_name %} provides you with a randomly generated "identicon". [Your identicon](https://github.com/blog/1586-identicons) generates from a hash of your user ID, so there's no way to control its color or pattern. You can replace your identicon with an image that represents you.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Sugerencia**: la imagen de tu perfil debería ser un archivo PNG, JPG, o GIF menor de 1 MB de tamaño. Para mostrar la mejor calidad, recomendamos mantener la imagen en alrededor de 500 por 500 píxeles.
|
||||
**Tip**: Your profile picture should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend keeping the image at about 500 by 500 pixels.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
### Configurar una imagen de perfil
|
||||
### Setting a profile picture
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
2. Dentro de **Profile Picture (Imagen de perfil)**, haz clic en {% octicon "pencil" aria-label="The edit icon" %} **Edit (Editar)**. 
|
||||
3. Haz clic en **Upload a photo... (Cargar una foto...)**. 
|
||||
3. Recorta tu imagen. Cuando hayas terminado, haz clic en **Set new profile picture (Configurar nueva imagen de perfil)**. 
|
||||
2. Under **Profile Picture**, click {% octicon "pencil" aria-label="The edit icon" %} **Edit**.
|
||||

|
||||
3. Click **Upload a photo...**.
|
||||

|
||||
3. Crop your picture. When you're done, click **Set new profile picture**.
|
||||

|
||||
|
||||
### Restablecer tu imagen de perfil al identicon
|
||||
### Resetting your profile picture to the identicon
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
2. Dentro de **Profile Picture (Imagen de perfil)**, haz clic en {% octicon "pencil" aria-label="The edit icon" %} **Edit (Editar)**. 
|
||||
3. Para regresar a tu identicon, haz clic en **Remove photo (Eliminar foto)**. Si tu dirección de correo electrónico está asociada con [Gravatar](https://en.gravatar.com/), no puedes regresar a tu identicon. Haz clic en **Revert to Gravatar (Revertir a Gravatar)** en su lugar. 
|
||||
2. Under **Profile Picture**, click {% octicon "pencil" aria-label="The edit icon" %} **Edit**.
|
||||

|
||||
3. To revert to your identicon, click **Remove photo**. If your email address is associated with a [Gravatar](https://en.gravatar.com/), you cannot revert to your identicon. Click **Revert to Gravatar** instead.
|
||||

|
||||
|
||||
## Cambiar tu nombre de perfil
|
||||
## Changing your profile name
|
||||
|
||||
Puedes cambiar el nombre que se muestra en tu perfil. Este nombre también podría mostrarse junto a los comentarios que haces en los repositorios privados que pertenezcan a una organización. Para obtener más información, consulta "[Administrar cómo se ven los nombres de los miembros en tu organización](/articles/managing-the-display-of-member-names-in-your-organization)."
|
||||
You can change the name that is displayed on your profile. This name may also be displayed next to comments you make on private repositories owned by an organization. For more information, see "[Managing the display of member names in your organization](/articles/managing-the-display-of-member-names-in-your-organization)."
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si eres un miembro de una {% data variables.product.prodname_emu_enterprise %}, cualquier cambio a tu nombre de perfil debe hacerse a través de tu proveedor de identidad en vez de con {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.enterprise-accounts.emu-more-info-account %}
|
||||
**Note:** If you're a member of an {% data variables.product.prodname_emu_enterprise %}, any changes to your profile name must be made through your identity provider instead of {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.enterprise-accounts.emu-more-info-account %}
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
2. Dentro de "Nombre", escribe el nombre que deseas que se muestre en tu perfil. 
|
||||
2. Under "Name", type the name you want to be displayed on your profile.
|
||||

|
||||
|
||||
## Agregar una biografía en tu perfil
|
||||
## Adding a bio to your profile
|
||||
|
||||
Agrega una biografía a tu perfil para compartir información sobre ti con otros usuarios de {% data variables.product.product_name %}. Con la ayuda de [@mentions](/articles/basic-writing-and-formatting-syntax) y emoji, puedes incluir información sobre dónde estás trabajando actualmente o dónde trabajaste anteriormente, qué tipo de trabajo realizas, o incluso qué tipo de café tomas.
|
||||
Add a bio to your profile to share information about yourself with other {% data variables.product.product_name %} users. With the help of [@mentions](/articles/basic-writing-and-formatting-syntax) and emoji, you can include information about where you currently or have previously worked, what type of work you do, or even what kind of coffee you drink.
|
||||
|
||||
{% ifversion fpt or ghes or ghec %}
|
||||
|
||||
Para encontrar un formato más largo y una forma más prominente de mostrar la información acerca de ti mismo, también puedes utilizar un README de perfil. Para obtener más información, consulta la sección "[Administrar el README de tu perfil](/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme)".
|
||||
For a longer-form and more prominent way of displaying customized information about yourself, you can also use a profile README. For more information, see "[Managing your profile README](/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si tienes habilitada la sección de resumen de la actividad para tu perfil y @mencionas a una organización a la que pertenezcas en tu biografía de perfil, esta organización se presentará primero en tu resumen de actividad. Para obtener más información, consulta "[Mostrar un resumen de tu actividad en tu perfil](/articles/showing-an-overview-of-your-activity-on-your-profile)."
|
||||
**Note:**
|
||||
If you have the activity overview section enabled for your profile and you @mention an organization you're a member of in your profile bio, then that organization will be featured first in your activity overview. For more information, see "[Showing an overview of your activity on your profile](/articles/showing-an-overview-of-your-activity-on-your-profile)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
2. Dentro de **Bio (Biografía)**, agrega el contenido que deseas mostrar en tu perfil. El campo biografía tiene un límite de 160 caracteres. 
|
||||
2. Under **Bio**, add the content that you want displayed on your profile. The bio field is limited to 160 characters.
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
**Sugerencia:** cuando mencionas una organización, únicamente aquellas de las que eres miembro se completarán automáticamente. Incluso puedes mencionar organizaciones de las que no eres miembro, como un antiguo empleador, pero el nombre de la organización no se completará automáticamente.
|
||||
**Tip:** When you @mention an organization, only those that you're a member of will autocomplete. You can still @mention organizations that you're not a member of, like a previous employer, but the organization name won't autocomplete for you.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
3. Haz clic en **Update profile (Actualizar perfil)**. 
|
||||
3. Click **Update profile**.
|
||||

|
||||
|
||||
## Configurar un estado
|
||||
## Setting a status
|
||||
|
||||
Puedes configurar un estado para mostrar información acerca de tu disponibilidad actual en {% data variables.product.product_name %}. Tu estado se mostrará:
|
||||
- en tu página de perfil {% data variables.product.product_name %}.
|
||||
- cuando las personas se desplacen sobre tu nombre de usuario o avatar en {% data variables.product.product_name %}.
|
||||
- en una página de equipo en un equipo del cual eres un miembro. Para obtener más información, consulta "[Acerca de equipos](/articles/about-teams/#team-pages)."
|
||||
- en el tablero de la organización en una organización de la cual eres miembro. Para obtener más información, consulta "[Acerca del tablero de tu organización](/articles/about-your-organization-dashboard/)."
|
||||
You can set a status to display information about your current availability on {% data variables.product.product_name %}. Your status will show:
|
||||
- on your {% data variables.product.product_name %} profile page.
|
||||
- when people hover over your username or avatar on {% data variables.product.product_name %}.
|
||||
- on a team page for a team where you're a team member. For more information, see "[About teams](/articles/about-teams/#team-pages)."
|
||||
- on the organization dashboard in an organization where you're a member. For more information, see "[About your organization dashboard](/articles/about-your-organization-dashboard/)."
|
||||
|
||||
Cuando configuras tu estado, también puedes permitir que las personas sepan que tienes disponibilidad limitada en {% data variables.product.product_name %}.
|
||||
When you set your status, you can also let people know that you have limited availability on {% data variables.product.product_name %}.
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Si seleccionas la opción, "Busy" (Ocupado), cuando las personas mencionan tu nombre de usuario, te asignan una propuesta o una solicitud de extracción o te solicitan una revisión de solicitud de extracción, una nota al lado de tu nombre de usuario mostrará que estás ocupado. También se te excluirá de la tarea de revisión automática para las solicitudes de cambio que se asignen a cualquier equipo al que pertenezcas. Para obtener más información, consulta la sección "[Administrar una tarea de revisión de código para tu equipo](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)".
|
||||
If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. You will also be excluded from automatic review assignment for pull requests assigned to any teams you belong to. For more information, see "[Managing code review settings for your team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)."
|
||||
|
||||
1. In the top right corner of {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %}, click your profile photo, then click **Set your status** or, if you already have a status set, click your current status. 
|
||||
2. Para agregar un texto personalizado a tu estado, haz clic en el campo texto y escribe un mensaje de estado. 
|
||||
3. De manera opcional, para configurar un estado de emoji, haz clic en el ícono sonriente y selecciona un emoji de la lista. 
|
||||
4. Como alternativa, si te gustaría compartir que tienes disponibilidad limitada, selecciona "Busy" (Ocupado). 
|
||||
5. Utiliza el menú desplegable **Clear status (Borrar estado)** y selecciona cuándo deseas que venza tu estado. Si no deseas seleccionar un vencimiento de estado, mantendrás tu estado hasta que lo borres o edites. 
|
||||
6. Utiliza el menú desplegable y haz clic en la organización para la que deseas que tu estado sea visible. Si no seleccionas una organización, tu estado será público. 
|
||||
7. Haz clic en **Set status (Configurar estado)**. 
|
||||
1. In the top right corner of {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %}, click your profile photo, then click **Set your status** or, if you already have a status set, click your current status.
|
||||

|
||||
2. To add custom text to your status, click in the text field and type a status message.
|
||||

|
||||
3. Optionally, to set an emoji status, click the smiley icon and select an emoji from the list.
|
||||

|
||||
4. Optionally, if you'd like to share that you have limited availability, select "Busy."
|
||||

|
||||
5. Use the **Clear status** drop-down menu, and select when you want your status to expire. If you don't select a status expiration, you will keep your status until you clear or edit your status.
|
||||

|
||||
6. Use the drop-down menu and click the organization you want your status visible to. If you don't select an organization, your status will be public.
|
||||

|
||||
7. Click **Set status**.
|
||||

|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
## Mostrar las insignias en tu perfil
|
||||
## Displaying badges on your profile
|
||||
|
||||
Cuando participas en algunos programas, {% data variables.product.prodname_dotcom %} muestra automáticamente una insignia en tu perfil.
|
||||
When you participate in certain programs, {% data variables.product.prodname_dotcom %} automatically displays a badge on your profile.
|
||||
|
||||
| Insignia | Programa | Descripción |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|  | **Contribuyente Helicóptero de Marte 2020** | Si eres el autor de cualquier comentario(s) que esté(n) presente(s) en el historial de confirmaciones para la etiqueta relevante en una biblioteca de código abierto que se utilice en la Misión Helicóptero a Marte 2020, obtendrás una insignia de Contribuyente Helicópteor a Marte 2020 en tu perfil. Al pasar el puntero del mouse sobre la insignia se te muestran varios de los repositorios con los que contribuiste, los cuales se utilizaron en la misión. Para obtener la lista completa de repositorios que te calificarán para la insignia, consulta la sección "[Lista de repositorios de calificación para la insignia de Contribuyente Helicóptero de Marte 2020](/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#list-of-qualifying-repositories-for-mars-2020-helicopter-contributor-badge)". |
|
||||
|  | **{% data variables.product.prodname_arctic_vault %} Colaborador** | Si eres el autor de cualquier confirmación en la rama predeterminada de un repositorio que se archivó en el programa del 2020 del Vaúl del Ártico, obtendrás una insignia de colaborador de {% data variables.product.prodname_arctic_vault %} en tu perfil. Al pasar el puntero del mouse sobre la insignia se te muestran varios de los repositorios con los que contribuiste que fueron parte del programa. Para obtener más información sobre el programa, consulta la sección [{% data variables.product.prodname_archive %}](https://archiveprogram.github.com). |
|
||||
|  | **Patrocinador de {% data variables.product.prodname_dotcom %}** | Si patrocinaste a un contribuyente de código abierto mediante {% data variables.product.prodname_sponsors %}, obtendrás una insignia de Patrocinador de {% data variables.product.prodname_dotcom %} en tu perfil. Si haces clic en la insignia, se tellevará a la pestaña de **Patrocinio** de tu perfil. Para obtener más información, consulta la sección "[Patrocinar colaboradores de código abierto](/github/supporting-the-open-source-community-with-github-sponsors/sponsoring-open-source-contributors)". |
|
||||
| {% octicon "cpu" aria-label="The Developer Program icon" %} | **Miembro del Programa de Desarrolladores** | If you're a registered member of the {% data variables.product.prodname_dotcom %} Developer Program, building an app with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, you'll get a Developer Program Member badge on your profile. Para obtener más información sobre el Programa de Desarrolladores de {% data variables.product.prodname_dotcom %}, consulta la sección [Desarrollador de GitHub](/program/). |
|
||||
| {% octicon "star-fill" aria-label="The star icon" %} | **Pro** | Si utilizas {% data variables.product.prodname_pro %} obtendrás una insignia de PRO en tu perfil. Para obtener más información acerca de {% data variables.product.prodname_pro %}, consulta los productos de "[{% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/githubs-products#github-pro)." |
|
||||
| {% octicon "lock" aria-label="The lock icon" %} | **Cazador de Recompensas por Errores de Seguridad** | Si ayudaste a identificar vulnerabilidades de seguridad, obtendrás una insignia de Cazador de Recompensas por Errores de Seguridad en tu perfil. Para obtener más información acerca del programa de seguridad de {% data variables.product.prodname_dotcom %}, consulta la sección [Seguridad de {% data variables.product.prodname_dotcom %}](https://bounty.github.com/). |
|
||||
| {% octicon "mortar-board" aria-label="The mortar-board icon" %} | **Experto del Campus de GitHub** | Si participas en el Programa del Campus de {% data variables.product.prodname_dotcom %}, necesitarás una insignia de Experto de Campus de {% data variables.product.prodname_dotcom %} en tu perfil. Para obtener más información sobre el programa de expertos del campus, consulta la sección [Expertos del Campus](https://education.github.com/experts). |
|
||||
| Badge | Program | Description |
|
||||
| --- | --- | --- |
|
||||
|  | **Mars 2020 Helicopter Contributor** | If you authored any commit(s) present in the commit history for the relevant tag of an open source library used in the Mars 2020 Helicopter Mission, you'll get a Mars 2020 Helicopter Contributor badge on your profile. Hovering over the badge shows you several of the repositories you contributed to that were used in the mission. For the full list of repositories that will qualify you for the badge, see "[List of qualifying repositories for Mars 2020 Helicopter Contributor badge](/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#list-of-qualifying-repositories-for-mars-2020-helicopter-contributor-badge)." |
|
||||
|  | **{% data variables.product.prodname_arctic_vault %} Contributor** | If you authored any commit(s) on the default branch of a repository that was archived in the 2020 Arctic Vault program, you'll get an {% data variables.product.prodname_arctic_vault %} Contributor badge on your profile. Hovering over the badge shows you several of the repositories you contributed to that were part of the program. For more information on the program, see [{% data variables.product.prodname_archive %}](https://archiveprogram.github.com). |
|
||||
|  | **{% data variables.product.prodname_dotcom %} Sponsor** | If you sponsored an open source contributor through {% data variables.product.prodname_sponsors %} you'll get a {% data variables.product.prodname_dotcom %} Sponsor badge on your profile. Clicking the badge takes you to the **Sponsoring** tab of your profile. For more information, see "[Sponsoring open source contributors](/github/supporting-the-open-source-community-with-github-sponsors/sponsoring-open-source-contributors)." |
|
||||
| {% octicon "cpu" aria-label="The Developer Program icon" %} | **Developer Program Member** | If you're a registered member of the {% data variables.product.prodname_dotcom %} Developer Program, building an app with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, you'll get a Developer Program Member badge on your profile. For more information on the {% data variables.product.prodname_dotcom %} Developer Program, see [GitHub Developer](/program/). |
|
||||
| {% octicon "star-fill" aria-label="The star icon" %} | **Pro** | If you use {% data variables.product.prodname_pro %} you'll get a PRO badge on your profile. For more information about {% data variables.product.prodname_pro %}, see "[{% data variables.product.prodname_dotcom %}'s products](/github/getting-started-with-github/githubs-products#github-pro)." |
|
||||
| {% octicon "lock" aria-label="The lock icon" %} | **Security Bug Bounty Hunter** | If you helped out hunting down security vulnerabilities, you'll get a Security Bug Bounty Hunter badge on your profile. For more information about the {% data variables.product.prodname_dotcom %} Security program, see [{% data variables.product.prodname_dotcom %} Security](https://bounty.github.com/). |
|
||||
| {% octicon "mortar-board" aria-label="The mortar-board icon" %} | **{% data variables.product.prodname_dotcom %} Campus Expert** | If you participate in the {% data variables.product.prodname_campus_program %}, you will get a {% data variables.product.prodname_dotcom %} Campus Expert badge on your profile. For more information about the Campus Experts program, see [Campus Experts](https://education.github.com/experts). |
|
||||
|
||||
## Inhabilitar las insignias en tu perfil
|
||||
## Disabling badges on your profile
|
||||
|
||||
Puedes inhabilitar algunas de las insignias para los programas de {% data variables.product.prodname_dotcom %} en los que estás participando, incluyendo aquellas de PRO, {% data variables.product.prodname_arctic_vault %} y Contribuyente Helicóptero de Marte 2020.
|
||||
You can disable some of the badges for {% data variables.product.prodname_dotcom %} programs you're participating in, including the PRO, {% data variables.product.prodname_arctic_vault %} and Mars 2020 Helicopter Contributor badges.
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
2. Debajo de "Configuración del perfil", deselecciona la insignia que quieres inhabilitar. 
|
||||
3. Haz clic en **Update preferences (Actualizar preferencias)**.
|
||||
2. Under "Profile settings", deselect the badge you want you disable.
|
||||

|
||||
3. Click **Update preferences**.
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Lista de repositorios que califican para la insignia de Contributente Helicóptero de Marte 2020
|
||||
## List of qualifying repositories for Mars 2020 Helicopter Contributor badge
|
||||
|
||||
Si creaste cualquiera de las confirmaciones presentes en el historial de confirmaciones de la etiqueta listada de uno o más de los repositorios siguientes, recibirás la insignia de contribuyente Helicóptero de Marte 2020 en tu perfil. La confirmación que creaste debe hacerse con una dirección de correo electrónico verificada y asociada con tu cuenta en el momento en que {% data variables.product.prodname_dotcom %} determine las contribuciones elegibles para que se te pueda atribuir. Puedes ser el autor original o [ uno de los coautores](/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors) de la confirmación. Los cambios futuros a los correos electrónicos verificados no tendrán efecto en la insignia. Creamos la lista con base en la información que recibimos del Laboratorio de Propulsión a Chorro de la NASA.
|
||||
If you authored any commit(s) present in the commit history for the listed tag of one or more of the repositories below, you'll receive the Mars 2020 Helicopter Contributor badge on your profile. The authored commit must be with a verified email address, associated with your account at the time {% data variables.product.prodname_dotcom %} determined the eligible contributions, in order to be attributed to you. You can be the original author or [one of the co-authors](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors) of the commit. Future changes to verified emails will not have an effect on the badge. We built the list based on information received from NASA's Jet Propulsion Laboratory.
|
||||
|
||||
| Repositorio de {% data variables.product.prodname_dotcom %} | Versión | Etiqueta |
|
||||
| ----------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------- |
|
||||
| [torvalds/linux](https://github.com/torvalds/linux) | 3.4 | [v3.4](https://github.com/torvalds/linux/releases/tag/v3.4) |
|
||||
| [python/cpython](https://github.com/python/cpython) | 3.9.2 | [v3.9.2](https://github.com/python/cpython/releases/tag/v3.9.2) |
|
||||
| [boto/boto3](https://github.com/boto/boto3) | 1.17.17 | [1.17.17](https://github.com/boto/boto3/releases/tag/1.17.17) |
|
||||
| [boto/botocore](https://github.com/boto/botocore) | 1.20.11 | [1.20.11](https://github.com/boto/botocore/releases/tag/1.20.11) |
|
||||
| [certifi/python-certifi](https://github.com/certifi/python-certifi) | 2020.12.5 | [2020.12.05](https://github.com/certifi/python-certifi/releases/tag/2020.12.05) |
|
||||
| [chardet/chardet](https://github.com/chardet/chardet) | 4.0.0 | [4.0.0](https://github.com/chardet/chardet/releases/tag/4.0.0) |
|
||||
| [matplotlib/cycler](https://github.com/matplotlib/cycler) | 0.10.0 | [v0.10.0](https://github.com/matplotlib/cycler/releases/tag/v0.10.0) |
|
||||
| [elastic/elasticsearch-py](https://github.com/elastic/elasticsearch-py) | 6.8.1 | [6.8.1](https://github.com/elastic/elasticsearch-py/releases/tag/6.8.1) |
|
||||
| [ianare/exif-py](https://github.com/ianare/exif-py) | 2.3.2 | [2.3.2](https://github.com/ianare/exif-py/releases/tag/2.3.2) |
|
||||
| [kjd/idna](https://github.com/kjd/idna) | 2.10 | [v2.10](https://github.com/kjd/idna/releases/tag/v2.10) |
|
||||
| [jmespath/jmespath.py](https://github.com/jmespath/jmespath.py) | 0.10.0 | [0.10.0](https://github.com/jmespath/jmespath.py/releases/tag/0.10.0) |
|
||||
| [nucleic/kiwi](https://github.com/nucleic/kiwi) | 1.3.1 | [1.3.1](https://github.com/nucleic/kiwi/releases/tag/1.3.1) |
|
||||
| [matplotlib/matplotlib](https://github.com/matplotlib/matplotlib) | 3.3.4 | [v3.3.4](https://github.com/matplotlib/matplotlib/releases/tag/v3.3.4) |
|
||||
| [numpy/numpy](https://github.com/numpy/numpy) | 1.20.1 | [v1.20.1](https://github.com/numpy/numpy/releases/tag/v1.20.1) |
|
||||
| [opencv/opencv-python](https://github.com/opencv/opencv-python) | 4.5.1.48 | [48](https://github.com/opencv/opencv-python/releases/tag/48) |
|
||||
| [python-pillow/Pillow](https://github.com/python-pillow/Pillow) | 8.1.0 | [8.1.0](https://github.com/python-pillow/Pillow/releases/tag/8.1.0) |
|
||||
| [pycurl/pycurl](https://github.com/pycurl/pycurl) | 7.43.0.6 | [REL_7_43_0_6](https://github.com/pycurl/pycurl/releases/tag/REL_7_43_0_6) |
|
||||
| [pyparsing/pyparsing](https://github.com/pyparsing/pyparsing) | 2.4.7 | [pyparsing_2.4.7](https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_2.4.7) |
|
||||
| [pyserial/pyserial](https://github.com/pyserial/pyserial) | 3.5 | [v3.5](https://github.com/pyserial/pyserial/releases/tag/v3.5) |
|
||||
| [dateutil/dateutil](https://github.com/dateutil/dateutil) | 2.8.1 | [2.8.1](https://github.com/dateutil/dateutil/releases/tag/2.8.1) |
|
||||
| [yaml/pyyaml ](https://github.com/yaml/pyyaml) | 5.4.1 | [5.4.1](https://github.com/yaml/pyyaml/releases/tag/5.4.1) |
|
||||
| [psf/requests](https://github.com/psf/requests) | 2.25.1 | [v2.25.1](https://github.com/psf/requests/releases/tag/v2.25.1) |
|
||||
| [boto/s3transfer](https://github.com/boto/s3transfer) | 0.3.4 | [0.3.4](https://github.com/boto/s3transfer/releases/tag/0.3.4) |
|
||||
| [enthought/scimath](https://github.com/enthought/scimath) | 4.2.0 | [4.2.0](https://github.com/enthought/scimath/releases/tag/4.2.0) |
|
||||
| [scipy/scipy](https://github.com/scipy/scipy) | 1.6.1 | [v1.6.1](https://github.com/scipy/scipy/releases/tag/v1.6.1) |
|
||||
| [benjaminp/six](https://github.com/benjaminp/six) | 1.15.0 | [1.15.0](https://github.com/benjaminp/six/releases/tag/1.15.0) |
|
||||
| [enthought/traits](https://github.com/enthought/traits) | 6.2.0 | [6.2.0](https://github.com/enthought/traits/releases/tag/6.2.0) |
|
||||
| [urllib3/urllib3](https://github.com/urllib3/urllib3) | 1.26.3 | [1.26.3](https://github.com/urllib3/urllib3/releases/tag/1.26.3) |
|
||||
| [python-attrs/attrs](https://github.com/python-attrs/attrs) | 19.3.0 | [19.3.0](https://github.com/python-attrs/attrs/releases/tag/19.3.0) |
|
||||
| [CheetahTemplate3/cheetah3](https://github.com/CheetahTemplate3/cheetah3/) | 3.2.4 | [3.2.4](https://github.com/CheetahTemplate3/cheetah3/releases/tag/3.2.4) |
|
||||
| [pallets/click](https://github.com/pallets/click) | 7.0 | [7.0](https://github.com/pallets/click/releases/tag/7.0) |
|
||||
| [pallets/flask](https://github.com/pallets/flask) | 1.1.1 | [1.1.1](https://github.com/pallets/flask/releases/tag/1.1.1) |
|
||||
| [flask-restful/flask-restful](https://github.com/flask-restful/flask-restful) | 0.3.7 | [0.3.7](https://github.com/flask-restful/flask-restful/releases/tag/0.3.7) |
|
||||
| [pytest-dev/iniconfig](https://github.com/pytest-dev/iniconfig) | 1.0.0 | [v1.0.0](https://github.com/pytest-dev/iniconfig/releases/tag/v1.0.0) |
|
||||
| [pallets/itsdangerous](https://github.com/pallets/itsdangerous) | 1.1.0 | [1.1.0](https://github.com/pallets/itsdangerous/releases/tag/1.1.0) |
|
||||
| [pallets/jinja](https://github.com/pallets/jinja) | 2.10.3 | [2.10.3](https://github.com/pallets/jinja/releases/tag/2.10.3) |
|
||||
| [lxml/lxml](https://github.com/lxml/lxml) | 4.4.1 | [lxml-4.4.1](https://github.com/lxml/lxml/releases/tag/lxml-4.4.1) |
|
||||
| [Python-Markdown/markdown](https://github.com/Python-Markdown/markdown) | 3.1.1 | [3.1.1](https://github.com/Python-Markdown/markdown/releases/tag/3.1.1) |
|
||||
| [pallets/markupsafe](https://github.com/pallets/markupsafe) | 1.1.1 | [1.1.1](https://github.com/pallets/markupsafe/releases/tag/1.1.1) |
|
||||
| [pypa/packaging](https://github.com/pypa/packaging) | 19.2 | [19.2](https://github.com/pypa/packaging/releases/tag/19.2) |
|
||||
| [pexpect/pexpect](https://github.com/pexpect/pexpect) | 4.7.0 | [4.7.0](https://github.com/pexpect/pexpect/releases/tag/4.7.0) |
|
||||
| [pytest-dev/pluggy](https://github.com/pytest-dev/pluggy) | 0.13.0 | [0.13.0](https://github.com/pytest-dev/pluggy/releases/tag/0.13.0) |
|
||||
| [pexpect/ptyprocess](https://github.com/pexpect/ptyprocess) | 0.6.0 | [0.6.0](https://github.com/pexpect/ptyprocess/releases/tag/0.6.0) |
|
||||
| [pytest-dev/py](https://github.com/pytest-dev/py) | 1.8.0 | [1.8.0](https://github.com/pytest-dev/py/releases/tag/1.8.0) |
|
||||
| [pyparsing/pyparsing](https://github.com/pyparsing/pyparsing) | 2.4.5 | [pyparsing_2.4.5](https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_2.4.5) |
|
||||
| [pytest-dev/pytest](https://github.com/pytest-dev/pytest) | 5.3.0 | [5.3.0](https://github.com/pytest-dev/pytest/releases/tag/5.3.0) |
|
||||
| [stub42/pytz](https://github.com/stub42/pytz) | 2019.3 | [release_2019.3](https://github.com/stub42/pytz/releases/tag/release_2019.3) |
|
||||
| [uiri/toml](https://github.com/uiri/toml) | 0.10.0 | [0.10.0](https://github.com/uiri/toml/releases/tag/0.10.0) |
|
||||
| [pallets/werkzeug](https://github.com/pallets/werkzeug) | 0.16.0 | [0.16.0](https://github.com/pallets/werkzeug/releases/tag/0.16.0) |
|
||||
| [dmnfarrell/tkintertable](https://github.com/dmnfarrell/tkintertable) | 1.2 | [v1.2](https://github.com/dmnfarrell/tkintertable/releases/tag/v1.2) |
|
||||
| [wxWidgets/wxPython-Classic](https://github.com/wxWidgets/wxPython-Classic) | 2.9.1.1 | [wxPy-2.9.1.1](https://github.com/wxWidgets/wxPython-Classic/releases/tag/wxPy-2.9.1.1) |
|
||||
| [nasa/fprime](https://github.com/nasa/fprime) | 1.3 | [NASA-v1.3](https://github.com/nasa/fprime/releases/tag/NASA-v1.3) |
|
||||
| [nucleic/cppy](https://github.com/nucleic/cppy) | 1.1.0 | [1.1.0](https://github.com/nucleic/cppy/releases/tag/1.1.0) |
|
||||
| [opencv/opencv](https://github.com/opencv/opencv) | 4.5.1 | [4.5.1](https://github.com/opencv/opencv/releases/tag/4.5.1) |
|
||||
| [curl/curl](https://github.com/curl/curl) | 7.72.0 | [curl-7_72_0](https://github.com/curl/curl/releases/tag/curl-7_72_0) |
|
||||
| [madler/zlib](https://github.com/madler/zlib) | 1.2.11 | [v1.2.11](https://github.com/madler/zlib/releases/tag/v1.2.11) |
|
||||
| [apache/lucene](https://github.com/apache/lucene) | 7.7.3 | [releases/lucene-solr/7.7.3](https://github.com/apache/lucene/releases/tag/releases%2Flucene-solr%2F7.7.3) |
|
||||
| [yaml/libyaml](https://github.com/yaml/libyaml) | 0.2.5 | [0.2.5](https://github.com/yaml/libyaml/releases/tag/0.2.5) |
|
||||
| [elastic/elasticsearch](https://github.com/elastic/elasticsearch) | 6.8.1 | [v6.8.1](https://github.com/elastic/elasticsearch/releases/tag/v6.8.1) |
|
||||
| [twbs/bootstrap](https://github.com/twbs/bootstrap) | 4.3.1 | [v4.3.1](https://github.com/twbs/bootstrap/releases/tag/v4.3.1) |
|
||||
| [vuejs/vue](https://github.com/vuejs/vue) | 2.6.10 | [v2.6.10](https://github.com/vuejs/vue/releases/tag/v2.6.10) |
|
||||
| [carrotsearch/hppc](https://github.com/carrotsearch/hppc) | 0.7.1 | [0.7.1](https://github.com/carrotsearch/hppc/releases/tag/0.7.1) |
|
||||
| [JodaOrg/joda-time](https://github.com/JodaOrg/joda-time) | 2.10.1 | [v2.10.1](https://github.com/JodaOrg/joda-time/releases/tag/v2.10.1) |
|
||||
| [tdunning/t-digest](https://github.com/tdunning/t-digest) | 3.2 | [t-digest-3.2](https://github.com/tdunning/t-digest/releases/tag/t-digest-3.2) |
|
||||
| [HdrHistogram/HdrHistogram](https://github.com/HdrHistogram/HdrHistogram) | 2.1.9 | [HdrHistogram-2.1.9](https://github.com/HdrHistogram/HdrHistogram/releases/tag/HdrHistogram-2.1.9) |
|
||||
| [locationtech/spatial4j](https://github.com/locationtech/spatial4j) | 0.7 | [spatial4j-0.7](https://github.com/locationtech/spatial4j/releases/tag/spatial4j-0.7) |
|
||||
| [locationtech/jts](https://github.com/locationtech/jts) | 1.15.0 | [jts-1.15.0](https://github.com/locationtech/jts/releases/tag/jts-1.15.0) |
|
||||
| [apache/logging-log4j2](https://github.com/apache/logging-log4j2) | 2.11 | [log4j-2.11.0](https://github.com/apache/logging-log4j2/releases/tag/log4j-2.11.0) |
|
||||
| {% data variables.product.prodname_dotcom %} Repository | Version | Tag |
|
||||
|---|---|---|
|
||||
| [torvalds/linux](https://github.com/torvalds/linux) | 3.4 | [v3.4](https://github.com/torvalds/linux/releases/tag/v3.4) |
|
||||
| [python/cpython](https://github.com/python/cpython) | 3.9.2 | [v3.9.2](https://github.com/python/cpython/releases/tag/v3.9.2) |
|
||||
| [boto/boto3](https://github.com/boto/boto3) | 1.17.17 | [1.17.17](https://github.com/boto/boto3/releases/tag/1.17.17) |
|
||||
| [boto/botocore](https://github.com/boto/botocore) | 1.20.11 | [1.20.11](https://github.com/boto/botocore/releases/tag/1.20.11) |
|
||||
| [certifi/python-certifi](https://github.com/certifi/python-certifi) | 2020.12.5 | [2020.12.05](https://github.com/certifi/python-certifi/releases/tag/2020.12.05) |
|
||||
| [chardet/chardet](https://github.com/chardet/chardet) | 4.0.0 | [4.0.0](https://github.com/chardet/chardet/releases/tag/4.0.0) |
|
||||
| [matplotlib/cycler](https://github.com/matplotlib/cycler) | 0.10.0 | [v0.10.0](https://github.com/matplotlib/cycler/releases/tag/v0.10.0) |
|
||||
| [elastic/elasticsearch-py](https://github.com/elastic/elasticsearch-py) | 6.8.1 | [6.8.1](https://github.com/elastic/elasticsearch-py/releases/tag/6.8.1) |
|
||||
| [ianare/exif-py](https://github.com/ianare/exif-py) | 2.3.2 | [2.3.2](https://github.com/ianare/exif-py/releases/tag/2.3.2) |
|
||||
| [kjd/idna](https://github.com/kjd/idna) | 2.10 | [v2.10](https://github.com/kjd/idna/releases/tag/v2.10) |
|
||||
| [jmespath/jmespath.py](https://github.com/jmespath/jmespath.py) | 0.10.0 | [0.10.0](https://github.com/jmespath/jmespath.py/releases/tag/0.10.0) |
|
||||
| [nucleic/kiwi](https://github.com/nucleic/kiwi) | 1.3.1 | [1.3.1](https://github.com/nucleic/kiwi/releases/tag/1.3.1) |
|
||||
| [matplotlib/matplotlib](https://github.com/matplotlib/matplotlib) | 3.3.4 | [v3.3.4](https://github.com/matplotlib/matplotlib/releases/tag/v3.3.4) |
|
||||
| [numpy/numpy](https://github.com/numpy/numpy) | 1.20.1 | [v1.20.1](https://github.com/numpy/numpy/releases/tag/v1.20.1) |
|
||||
| [opencv/opencv-python](https://github.com/opencv/opencv-python) | 4.5.1.48 | [48](https://github.com/opencv/opencv-python/releases/tag/48) |
|
||||
| [python-pillow/Pillow](https://github.com/python-pillow/Pillow) | 8.1.0 | [8.1.0](https://github.com/python-pillow/Pillow/releases/tag/8.1.0) |
|
||||
| [pycurl/pycurl](https://github.com/pycurl/pycurl) | 7.43.0.6 | [REL_7_43_0_6](https://github.com/pycurl/pycurl/releases/tag/REL_7_43_0_6) |
|
||||
| [pyparsing/pyparsing](https://github.com/pyparsing/pyparsing) | 2.4.7 | [pyparsing_2.4.7](https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_2.4.7) |
|
||||
| [pyserial/pyserial](https://github.com/pyserial/pyserial) | 3.5 | [v3.5](https://github.com/pyserial/pyserial/releases/tag/v3.5) |
|
||||
| [dateutil/dateutil](https://github.com/dateutil/dateutil) | 2.8.1 | [2.8.1](https://github.com/dateutil/dateutil/releases/tag/2.8.1) |
|
||||
| [yaml/pyyaml ](https://github.com/yaml/pyyaml) | 5.4.1 | [5.4.1](https://github.com/yaml/pyyaml/releases/tag/5.4.1) |
|
||||
| [psf/requests](https://github.com/psf/requests) | 2.25.1 | [v2.25.1](https://github.com/psf/requests/releases/tag/v2.25.1) |
|
||||
| [boto/s3transfer](https://github.com/boto/s3transfer) | 0.3.4 | [0.3.4](https://github.com/boto/s3transfer/releases/tag/0.3.4) |
|
||||
| [enthought/scimath](https://github.com/enthought/scimath) | 4.2.0 | [4.2.0](https://github.com/enthought/scimath/releases/tag/4.2.0) |
|
||||
| [scipy/scipy](https://github.com/scipy/scipy) | 1.6.1 | [v1.6.1](https://github.com/scipy/scipy/releases/tag/v1.6.1) |
|
||||
| [benjaminp/six](https://github.com/benjaminp/six) | 1.15.0 | [1.15.0](https://github.com/benjaminp/six/releases/tag/1.15.0) |
|
||||
| [enthought/traits](https://github.com/enthought/traits) | 6.2.0 | [6.2.0](https://github.com/enthought/traits/releases/tag/6.2.0) |
|
||||
| [urllib3/urllib3](https://github.com/urllib3/urllib3) | 1.26.3 | [1.26.3](https://github.com/urllib3/urllib3/releases/tag/1.26.3) |
|
||||
| [python-attrs/attrs](https://github.com/python-attrs/attrs) | 19.3.0 | [19.3.0](https://github.com/python-attrs/attrs/releases/tag/19.3.0) |
|
||||
| [CheetahTemplate3/cheetah3](https://github.com/CheetahTemplate3/cheetah3/) | 3.2.4 | [3.2.4](https://github.com/CheetahTemplate3/cheetah3/releases/tag/3.2.4) |
|
||||
| [pallets/click](https://github.com/pallets/click) | 7.0 | [7.0](https://github.com/pallets/click/releases/tag/7.0) |
|
||||
| [pallets/flask](https://github.com/pallets/flask) | 1.1.1 | [1.1.1](https://github.com/pallets/flask/releases/tag/1.1.1) |
|
||||
| [flask-restful/flask-restful](https://github.com/flask-restful/flask-restful) | 0.3.7 | [0.3.7](https://github.com/flask-restful/flask-restful/releases/tag/0.3.7) |
|
||||
| [pytest-dev/iniconfig](https://github.com/pytest-dev/iniconfig) | 1.0.0 | [v1.0.0](https://github.com/pytest-dev/iniconfig/releases/tag/v1.0.0) |
|
||||
| [pallets/itsdangerous](https://github.com/pallets/itsdangerous) | 1.1.0 | [1.1.0](https://github.com/pallets/itsdangerous/releases/tag/1.1.0) |
|
||||
| [pallets/jinja](https://github.com/pallets/jinja) | 2.10.3 | [2.10.3](https://github.com/pallets/jinja/releases/tag/2.10.3) |
|
||||
| [lxml/lxml](https://github.com/lxml/lxml) | 4.4.1 | [lxml-4.4.1](https://github.com/lxml/lxml/releases/tag/lxml-4.4.1) |
|
||||
| [Python-Markdown/markdown](https://github.com/Python-Markdown/markdown) | 3.1.1 | [3.1.1](https://github.com/Python-Markdown/markdown/releases/tag/3.1.1) |
|
||||
| [pallets/markupsafe](https://github.com/pallets/markupsafe) | 1.1.1 | [1.1.1](https://github.com/pallets/markupsafe/releases/tag/1.1.1) |
|
||||
| [pypa/packaging](https://github.com/pypa/packaging) | 19.2 | [19.2](https://github.com/pypa/packaging/releases/tag/19.2) |
|
||||
| [pexpect/pexpect](https://github.com/pexpect/pexpect) | 4.7.0 | [4.7.0](https://github.com/pexpect/pexpect/releases/tag/4.7.0) |
|
||||
| [pytest-dev/pluggy](https://github.com/pytest-dev/pluggy) | 0.13.0 | [0.13.0](https://github.com/pytest-dev/pluggy/releases/tag/0.13.0) |
|
||||
| [pexpect/ptyprocess](https://github.com/pexpect/ptyprocess) | 0.6.0 | [0.6.0](https://github.com/pexpect/ptyprocess/releases/tag/0.6.0) |
|
||||
| [pytest-dev/py](https://github.com/pytest-dev/py) | 1.8.0 | [1.8.0](https://github.com/pytest-dev/py/releases/tag/1.8.0) |
|
||||
| [pyparsing/pyparsing](https://github.com/pyparsing/pyparsing) | 2.4.5 | [pyparsing_2.4.5](https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_2.4.5) |
|
||||
| [pytest-dev/pytest](https://github.com/pytest-dev/pytest) | 5.3.0 | [5.3.0](https://github.com/pytest-dev/pytest/releases/tag/5.3.0) |
|
||||
| [stub42/pytz](https://github.com/stub42/pytz) | 2019.3 | [release_2019.3](https://github.com/stub42/pytz/releases/tag/release_2019.3) |
|
||||
| [uiri/toml](https://github.com/uiri/toml) | 0.10.0 | [0.10.0](https://github.com/uiri/toml/releases/tag/0.10.0) |
|
||||
| [pallets/werkzeug](https://github.com/pallets/werkzeug) | 0.16.0 | [0.16.0](https://github.com/pallets/werkzeug/releases/tag/0.16.0) |
|
||||
| [dmnfarrell/tkintertable](https://github.com/dmnfarrell/tkintertable) | 1.2 | [v1.2](https://github.com/dmnfarrell/tkintertable/releases/tag/v1.2) |
|
||||
| [wxWidgets/wxPython-Classic](https://github.com/wxWidgets/wxPython-Classic) | 2.9.1.1 | [wxPy-2.9.1.1](https://github.com/wxWidgets/wxPython-Classic/releases/tag/wxPy-2.9.1.1) |
|
||||
| [nasa/fprime](https://github.com/nasa/fprime) | 1.3 | [NASA-v1.3](https://github.com/nasa/fprime/releases/tag/NASA-v1.3) |
|
||||
| [nucleic/cppy](https://github.com/nucleic/cppy) | 1.1.0 | [1.1.0](https://github.com/nucleic/cppy/releases/tag/1.1.0) |
|
||||
| [opencv/opencv](https://github.com/opencv/opencv) | 4.5.1 | [4.5.1](https://github.com/opencv/opencv/releases/tag/4.5.1) |
|
||||
| [curl/curl](https://github.com/curl/curl) | 7.72.0 | [curl-7_72_0](https://github.com/curl/curl/releases/tag/curl-7_72_0) |
|
||||
| [madler/zlib](https://github.com/madler/zlib) | 1.2.11 | [v1.2.11](https://github.com/madler/zlib/releases/tag/v1.2.11) |
|
||||
| [apache/lucene](https://github.com/apache/lucene) | 7.7.3 | [releases/lucene-solr/7.7.3](https://github.com/apache/lucene/releases/tag/releases%2Flucene-solr%2F7.7.3) |
|
||||
| [yaml/libyaml](https://github.com/yaml/libyaml) | 0.2.5 | [0.2.5](https://github.com/yaml/libyaml/releases/tag/0.2.5) |
|
||||
| [elastic/elasticsearch](https://github.com/elastic/elasticsearch) | 6.8.1 | [v6.8.1](https://github.com/elastic/elasticsearch/releases/tag/v6.8.1) |
|
||||
| [twbs/bootstrap](https://github.com/twbs/bootstrap) | 4.3.1 | [v4.3.1](https://github.com/twbs/bootstrap/releases/tag/v4.3.1) |
|
||||
| [vuejs/vue](https://github.com/vuejs/vue) | 2.6.10 | [v2.6.10](https://github.com/vuejs/vue/releases/tag/v2.6.10) |
|
||||
| [carrotsearch/hppc](https://github.com/carrotsearch/hppc) | 0.7.1 | [0.7.1](https://github.com/carrotsearch/hppc/releases/tag/0.7.1) |
|
||||
| [JodaOrg/joda-time](https://github.com/JodaOrg/joda-time) | 2.10.1 | [v2.10.1](https://github.com/JodaOrg/joda-time/releases/tag/v2.10.1) |
|
||||
| [tdunning/t-digest](https://github.com/tdunning/t-digest) | 3.2 | [t-digest-3.2](https://github.com/tdunning/t-digest/releases/tag/t-digest-3.2) |
|
||||
| [HdrHistogram/HdrHistogram](https://github.com/HdrHistogram/HdrHistogram) | 2.1.9 | [HdrHistogram-2.1.9](https://github.com/HdrHistogram/HdrHistogram/releases/tag/HdrHistogram-2.1.9) |
|
||||
| [locationtech/spatial4j](https://github.com/locationtech/spatial4j) | 0.7 | [spatial4j-0.7](https://github.com/locationtech/spatial4j/releases/tag/spatial4j-0.7) |
|
||||
| [locationtech/jts](https://github.com/locationtech/jts) | 1.15.0 | [jts-1.15.0](https://github.com/locationtech/jts/releases/tag/jts-1.15.0) |
|
||||
| [apache/logging-log4j2](https://github.com/apache/logging-log4j2) | 2.11 | [log4j-2.11.0](https://github.com/apache/logging-log4j2/releases/tag/log4j-2.11.0) |
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Acerca de tu perfil](/articles/about-your-profile)"
|
||||
- "[About your profile](/articles/about-your-profile)"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Cambiar tu nombre de usuario de GitHub
|
||||
title: Changing your GitHub username
|
||||
intro: 'You can change the username for your account on {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.product.product_location %} if your instance uses built-in authentication{% endif %}.'
|
||||
redirect_from:
|
||||
- /articles/how-to-change-your-username/
|
||||
@@ -15,7 +15,7 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Accounts
|
||||
shortTitle: Cambiar tu nombre de usuario
|
||||
shortTitle: Change your username
|
||||
---
|
||||
|
||||
{% ifversion ghec or ghes %}
|
||||
@@ -24,7 +24,7 @@ shortTitle: Cambiar tu nombre de usuario
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
**Note**: Members of an {% data variables.product.prodname_emu_enterprise %} cannot change usernames. Your enterprise's IdP administrator controls your username for {% data variables.product.product_name %}. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_emus %}](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)".
|
||||
**Note**: Members of an {% data variables.product.prodname_emu_enterprise %} cannot change usernames. Your enterprise's IdP administrator controls your username for {% data variables.product.product_name %}. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)."
|
||||
|
||||
{% elsif ghes %}
|
||||
|
||||
@@ -36,53 +36,57 @@ shortTitle: Cambiar tu nombre de usuario
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Acerca de los cambios de nombre de usuario
|
||||
## About username changes
|
||||
|
||||
Puedes cambiar tu nombre de usuario a otro que no esté en uso actualmente.{% ifversion fpt or ghec %} si el nombre de usuario que quieres no está disponible, considera otros nombres o variaciones únicas. El utilizar un número, guion o una ortografía alternativa podría ayudarte a encontrar un nombre de usuario similar que esté disponible.
|
||||
You can change your username to another username that is not currently in use.{% ifversion fpt or ghec %} If the username you want is not available, consider other names or unique variations. Using a number, hyphen, or an alternative spelling might help you find a similar username that's still available.
|
||||
|
||||
Si tienes una marca comercial para el nombre de usuario, puedes encontrar más información sobre cómo hacer un reclamo de una marca comercial en nuestra página de [Política de Marcas Comerciales](/free-pro-team@latest/github/site-policy/github-trademark-policy).
|
||||
If you hold a trademark for the username, you can find more information about making a trademark complaint on our [Trademark Policy](/free-pro-team@latest/github/site-policy/github-trademark-policy) page.
|
||||
|
||||
Si no tienes una marca comercial para el nombre, puedes elegir otro nombre de usuario o mantener el actual. {% data variables.contact.github_support %} no puede publicar el nombre de usuario que no está disponible para ti. Para obtener más información, consulta "[Cambiar tu nombre de usuario](#changing-your-username)".{% endif %}
|
||||
If you do not hold a trademark for the name, you can choose another username or keep your current username. {% data variables.contact.github_support %} cannot release the unavailable username for you. For more information, see "[Changing your username](#changing-your-username)."{% endif %}
|
||||
|
||||
Una vez que cambies tu nombre de usuario, el nombre de usuario anterior estará disponible para todas las personas que lo reclamen. La mayoría de las referencias a tus repositorios con el nombre de usuario anterior automáticamente cambian al nombre de usuario nuevo. Sin embargo, algunos enlaces a tu perfil no se redirigirán automáticamente.
|
||||
After changing your username, your old username becomes available for anyone else to claim. Most references to your repositories under the old username automatically change to the new username. However, some links to your profile won't automatically redirect.
|
||||
|
||||
{% data variables.product.product_name %} no puede configurar redirecciones para:
|
||||
- [@menciones](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) con tu nombre de usuario anterior
|
||||
- Enlaces a los [gists](/articles/creating-gists) que incluyen tu nombre de usuario anterior
|
||||
{% data variables.product.product_name %} cannot set up redirects for:
|
||||
- [@mentions](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) using your old username
|
||||
- Links to [gists](/articles/creating-gists) that include your old username
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
Si eres un miembro de una {% data variables.product.prodname_emu_enterprise %}, no puedes hacer cambios a tu nombre de usuario. {% data reusables.enterprise-accounts.emu-more-info-account %}
|
||||
If you're a member of an {% data variables.product.prodname_emu_enterprise %}, you cannot make changes to your username. {% data reusables.enterprise-accounts.emu-more-info-account %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Referencias del repositorio
|
||||
## Repository references
|
||||
|
||||
Después de cambiar tu nombre de usuario, {% data variables.product.product_name %} automáticamente redirigirá las referencias a tus repositorios.
|
||||
- Los enlaces web a tus repositorios existentes seguirán funcionando. Esto puede tardar algunos minutos en completarse después de realizar el cambio.
|
||||
- Las inserciones de la línea de comando desde tus clones de repositorio local hasta las URL del registro remoto anterior seguirán funcionando.
|
||||
After you change your username, {% data variables.product.product_name %} will automatically redirect references to your repositories.
|
||||
- Web links to your existing repositories will continue to work. This can take a few minutes to complete after you make the change.
|
||||
- Command line pushes from your local repository clones to the old remote tracking URLs will continue to work.
|
||||
|
||||
Si el nuevo propietario de tu nombre de usuario anterior crea un repositorio con el mismo nombre que tu repositorio, se sobrescribirá el registro de redirección y tu redirección dejará de funcionar. Debido a esta posibilidad, recomendamos que actualices todas las URL de repositorios remotos existentes luego de cambiar tu nombre de usuario. Para obtener más información, consulta "[Administrar repositorios remotos](/github/getting-started-with-github/managing-remote-repositories)."
|
||||
If the new owner of your old username creates a repository with the same name as your repository, that will override the redirect entry and your redirect will stop working. Because of this possibility, we recommend you update all existing remote repository URLs after changing your username. For more information, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)."
|
||||
|
||||
## Enlaces a tu página de perfil anterior
|
||||
## Links to your previous profile page
|
||||
|
||||
Luego de cambiar tu nombre de usuario, los enlaces a tu página de perfil anterior, como `https://{% data variables.command_line.backticks %}/previoususername`, arrojarán un error 404. We recommend updating any links to your account on {% data variables.product.product_location %} from elsewhere{% ifversion fpt or ghec %}, such as your LinkedIn or Twitter profile{% endif %}.
|
||||
After changing your username, links to your previous profile page, such as `https://{% data variables.command_line.backticks %}/previoususername`, will return a 404 error. We recommend updating any links to your account on {% data variables.product.product_location %} from elsewhere{% ifversion fpt or ghec %}, such as your LinkedIn or Twitter profile{% endif %}.
|
||||
|
||||
## Tus confirmaciones Git
|
||||
## Your Git commits
|
||||
|
||||
{% ifversion fpt or ghec %}Git commits that were associated with your {% data variables.product.product_name %}-provided `noreply` email address won't be attributed to your new username and won't appear in your contributions graph.{% endif %} If your Git commits are associated with another email address you've [added to your GitHub account](/articles/adding-an-email-address-to-your-github-account), {% ifversion fpt or ghec %}including the ID-based {% data variables.product.product_name %}-provided `noreply` email address, {% endif %}they'll continue to be attributed to you and appear in your contributions graph after you've changed your username. Para obtener más información sobre cómo establecer tu dirección de correo electrónico, consulta "[Establecer tu dirección de correo electrónico de confirmación](/articles/setting-your-commit-email-address)".
|
||||
{% ifversion fpt or ghec %}Git commits that were associated with your {% data variables.product.product_name %}-provided `noreply` email address won't be attributed to your new username and won't appear in your contributions graph.{% endif %} If your Git commits are associated with another email address you've [added to your GitHub account](/articles/adding-an-email-address-to-your-github-account), {% ifversion fpt or ghec %}including the ID-based {% data variables.product.product_name %}-provided `noreply` email address, {% endif %}they'll continue to be attributed to you and appear in your contributions graph after you've changed your username. For more information on setting your email address, see "[Setting your commit email address](/articles/setting-your-commit-email-address)."
|
||||
|
||||
## Cambiar tu nombre de usuario
|
||||
## Changing your username
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.account_settings %}
|
||||
3. En la sección "Change username" (Cambiar nombre de usuario), haz clic en **Change username** (Cambiar nombre de usuario). {% ifversion fpt or ghec %}
|
||||
4. Lee las advertencias sobre cómo cambiar tu nombre de usuario. Si aún deseas cambiar tu nombre de usuario, haz clic en **I understand, let's change my username** (Comprendo, cambiaré mi nombre de usuario). 
|
||||
5. Escribe un nuevo nombre de usuario. 
|
||||
6. Si el nombre de usuario que elegiste está disponible, haz clic en **Change my username** (Cambiar mi nombre de usuario). Si el nombre de usuario que elegiste no está disponible, puedes probar un nombre de usuario diferente o una de las sugerencias que ves. 
|
||||
3. In the "Change username" section, click **Change username**.
|
||||
{% ifversion fpt or ghec %}
|
||||
4. Read the warnings about changing your username. If you still want to change your username, click **I understand, let's change my username**.
|
||||

|
||||
5. Type a new username.
|
||||

|
||||
6. If the username you've chosen is available, click **Change my username**. If the username you've chosen is unavailable, you can try a different username or one of the suggestions you see.
|
||||

|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Why are my commits linked to the wrong user?](/articles/why-are-my-commits-linked-to-the-wrong-user)"{% ifversion fpt or ghec %}
|
||||
- "[Why are my commits linked to the wrong user?](/pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user)"{% ifversion fpt or ghec %}
|
||||
- "[{% data variables.product.prodname_dotcom %} Username Policy](/free-pro-team@latest/github/site-policy/github-username-policy)"{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Eliminar tu cuenta de usuario
|
||||
intro: 'Puedes eliminar tu cuenta de usuario de {% data variables.product.product_name %} en cualquier momento.'
|
||||
title: Deleting your user account
|
||||
intro: 'You can delete your {% data variables.product.product_name %} user account at any time.'
|
||||
redirect_from:
|
||||
- /articles/deleting-a-user-account/
|
||||
- /articles/deleting-your-user-account
|
||||
@@ -12,39 +12,40 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Accounts
|
||||
shortTitle: Eliminar tu cuenta de usuario
|
||||
shortTitle: Delete your user account
|
||||
---
|
||||
|
||||
Al eliminar tu cuenta de usuario se eliminan todos los repositorios, bifurcaciones de repositorios privados, wikis, propuestas, solicitudes de extracción y páginas que sean propiedad de tu cuenta. {% ifversion fpt or ghec %}No se eliminarán las propuestas ni las solicitudes de extracción que hayas creado ni los comentarios que hayas hecho en repositorios que sean propiedad de otros usuarios. En lugar de eliminarlos, se los asociará con nuestro [Usuario fantasma](https://github.com/ghost).{% else %}No se eliminarán las propuestas ni las solicitudes de extracción que hayas creado ni los comentarios que hayas hecho en repositorios que sean propiedad de otros usuarios.{% endif %}
|
||||
Deleting your user account removes all repositories, forks of private repositories, wikis, issues, pull requests, and pages owned by your account. {% ifversion fpt or ghec %} Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted - instead, they'll be associated with our [Ghost user](https://github.com/ghost).{% else %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted.{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %} When you delete your account we stop billing you. The email address associated with the account becomes available for use with a different account on {% data variables.product.product_location %}. After 90 days, the account name also becomes available to anyone else to use on a new account. {% endif %}
|
||||
|
||||
Si eres el único propietario de una organización, debes transferir la propiedad a otra persona o eliminar la organización primero para que puedas eliminar tu cuenta de usuario. Si hay otros propietarios de la organización, debes eliminarte de la organización primero para que puedas eliminar tu cuenta de usuario.
|
||||
If you’re the only owner of an organization, you must transfer ownership to another person or delete the organization before you can delete your user account. If there are other owners in the organization, you must remove yourself from the organization before you can delete your user account.
|
||||
|
||||
Para obtener más información, consulta:
|
||||
- "[Transferir la propiedad de la organización](/articles/transferring-organization-ownership)"
|
||||
- "[Eliminar una cuenta de la organización](/articles/deleting-an-organization-account)"
|
||||
- "[Eliminarte de una organización](/articles/removing-yourself-from-an-organization/)"
|
||||
For more information, see:
|
||||
- "[Transferring organization ownership](/articles/transferring-organization-ownership)"
|
||||
- "[Deleting an organization account](/articles/deleting-an-organization-account)"
|
||||
- "[Removing yourself from an organization](/articles/removing-yourself-from-an-organization/)"
|
||||
|
||||
## Copias de seguridad de los datos de tu cuenta
|
||||
## Back up your account data
|
||||
|
||||
Antes de eliminar tu cuenta de usuario, haz una copia de todos los repositorios, bifurcaciones privadas, wikis, propuestas y solicitudes de extracción que sean propiedad de tu cuenta.
|
||||
Before you delete your user account, make a copy of all repositories, private forks, wikis, issues, and pull requests owned by your account.
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** Una vez que tu cuenta de usuario se ha eliminado, GitHub no puede restaurar su contenido.
|
||||
**Warning:** Once your user account has been deleted, GitHub cannot restore your content.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
## Eliminar tu cuenta de usuario
|
||||
## Delete your user account
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.account_settings %}
|
||||
3. En la parte inferior de la página de configuración de la cuenta, en "Eliminar cuenta", haz clic en **Eliminar tu cuenta**. Para que puedas eliminar tu cuenta de usuario, antes debes tener en cuenta lo siguiente:
|
||||
- Si eres el único propietario de la organización, debes transferir la propiedad a otra persona o eliminar tu organización.
|
||||
- Si hay otros propietarios de la organización dentro de la organización, debes eliminarte de la organización. 
|
||||
4. En el cuadro de diálogo "Make sure you want to do this" (Asegúrate de que quieres hacer esto), realiza los siguientes pasos para confirmar que comprendes lo que sucede cuando se elimina tu cuenta: 
|
||||
{% ifversion fpt or ghec %}-Recuerda que se eliminarán todos los repositorios, bifurcaciones de repositorios privados, wikis, propuestas, solicitudes de extracción y páginas que sean propiedad de tu cuenta, tu facturación finalizará y tu nombre de usuario pasará a estar disponible para que cualquier otra persona lo use en {% data variables.product.product_name %}.
|
||||
{% else %}-Recuerda que se eliminarán todos los repositorios, bifurcaciones de repositorios privados, wikis, propuestas, solicitudes de extracción y páginas que sean propiedad de tu cuenta, y tu nombre de usuario pasará a estar disponible para que cualquier otra persona lo use en {% data variables.product.product_name %}.
|
||||
{% endif %}- En el primer campo, escribe tu nombre de usuario de {% data variables.product.product_name %} o tu correo electrónico.
|
||||
- En el segundo campo, escribe la frase que se indica.
|
||||
3. At the bottom of the Account Settings page, under "Delete account", click **Delete your account**. Before you can delete your user account:
|
||||
- If you're the only owner in the organization, you must transfer ownership to another person or delete your organization.
|
||||
- If there are other organization owners in the organization, you must remove yourself from the organization.
|
||||

|
||||
4. In the "Make sure you want to do this" dialog box, complete the steps to confirm you understand what happens when your account is deleted:
|
||||

|
||||
{% ifversion fpt or ghec %}- Recall that all repositories, forks of private repositories, wikis, issues, pull requests and {% data variables.product.prodname_pages %} sites owned by your account will be deleted and your billing will end immediately, and your username will be available to anyone for use on {% data variables.product.product_name %} after 90 days.
|
||||
{% else %}- Recall that all repositories, forks of private repositories, wikis, issues, pull requests and pages owned by your account will be deleted, and your username will be available for use on {% data variables.product.product_name %}.
|
||||
{% endif %}- In the first field, type your {% data variables.product.product_name %} username or email.
|
||||
- In the second field, type the phrase from the prompt.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Administrar las configuraciones del usuario de la cuenta
|
||||
intro: 'Puedes cambiar varias configuraciones de tu cuenta personal, lo que incluye cambiar tu nombre de usuario y eliminar tu cuenta.'
|
||||
title: Managing user account settings
|
||||
intro: 'You can change several settings for your personal account, including changing your username and deleting your account.'
|
||||
redirect_from:
|
||||
- /categories/29/articles/
|
||||
- /categories/user-accounts/
|
||||
@@ -23,12 +23,13 @@ children:
|
||||
- /deleting-your-user-account
|
||||
- /permission-levels-for-a-user-account-repository
|
||||
- /permission-levels-for-user-owned-project-boards
|
||||
- /managing-accessibility-settings
|
||||
- /managing-the-default-branch-name-for-your-repositories
|
||||
- /managing-security-and-analysis-settings-for-your-user-account
|
||||
- /managing-access-to-your-user-accounts-project-boards
|
||||
- /integrating-jira-with-your-personal-projects
|
||||
- /best-practices-for-leaving-your-company
|
||||
- /what-does-the-available-for-hire-checkbox-do
|
||||
shortTitle: Configuración de cuenta de usuario
|
||||
shortTitle: User account settings
|
||||
---
|
||||
|
||||
|
||||
@@ -1,47 +1,53 @@
|
||||
---
|
||||
title: Administrar la configuración de seguridad y análisis para tu cuenta de usuario
|
||||
intro: 'Puedes controlar las características que dan seguridad y analizan tu código en tus proyectos dentro de {% data variables.product.prodname_dotcom %}.'
|
||||
title: Managing security and analysis settings for your user account
|
||||
intro: 'You can control features that secure and analyze the code in your projects on {% data variables.product.prodname_dotcom %}.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
topics:
|
||||
- Accounts
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-your-github-user-account/managing-security-and-analysis-settings-for-your-user-account
|
||||
- /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-security-and-analysis-settings-for-your-user-account
|
||||
shortTitle: Administrar el análisis & seguridad
|
||||
shortTitle: Manage security & analysis
|
||||
---
|
||||
## About management of security and analysis settings
|
||||
|
||||
## Acerca de la administración de los parámetros de seguridad y análisis
|
||||
{% data variables.product.prodname_dotcom %} can help secure your repositories. This topic tells you how you can manage the security and analysis features for all your existing or new repositories.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} puede ayudarte a asegurar tus repositorios. Este tema te muestra cómo puedes administrar las características de seguridad y análisis para todos tus repositorios existentes o nuevos.
|
||||
You can still manage the security and analysis features for individual repositories. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."
|
||||
|
||||
Aún puedes administrar las características de seguridad y análisis para los repositorios individuales. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)".
|
||||
You can also review the security log for all activity on your user account. For more information, see "[Reviewing your security log](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log)."
|
||||
|
||||
{% data reusables.security.some-security-and-analysis-features-are-enabled-by-default %}
|
||||
|
||||
{% data reusables.security.security-and-analysis-features-enable-read-only %}
|
||||
|
||||
Para obtener un resumen de la seguridad a nivel de repositorio, consulta la sección "[Asegurar tu repositorio](/code-security/getting-started/securing-your-repository)".
|
||||
For an overview of repository-level security, see "[Securing your repository](/code-security/getting-started/securing-your-repository)."
|
||||
|
||||
## Habilitar o inhabilitar las características para los repositorios existentes
|
||||
## Enabling or disabling features for existing repositories
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.security-analysis %}
|
||||
3. Debajo de "Configurar las características de seguridad y análisis", a la derecha de la característica, da clic en **Inhabilitar todo** o **Habilitar todo**. 
|
||||
6. Opcionalmente, habilita la característica predeterminada para los repositorios nuevos en tu organización. 
|
||||
7. Da clic en **Inhabilitar CARACTERÍSTICA** o **Habilitar CARACTERÍSTICA** para inhabilitar o habilitar la característica para todos los repositorios que te pertenezcan. 
|
||||
3. Under "Configure security and analysis features", to the right of the feature, click **Disable all** or **Enable all**.
|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
6. Optionally, enable the feature by default for new repositories that you own.
|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
7. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories you own.
|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
|
||||
{% data reusables.security.displayed-information %}
|
||||
|
||||
## Habilitar o inhabilitar las características para los repositorios nuevos
|
||||
## Enabling or disabling features for new repositories
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.security-analysis %}
|
||||
3. Debajo de "Configurar las características de seguridad y análisis", a la derecha de la característica, habilítala o inhabilítala para los repositorios nuevos en tu organización. 
|
||||
3. Under "Configure security and analysis features", to the right of the feature, enable or disable the feature by default for new repositories that you own.
|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Acerca de la gráfica de dependencias](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)"
|
||||
- "[Administrar las vulnerabilidades en las dependencias de tu proyecto](/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies)"
|
||||
{% ifversion fpt or ghec %}- ""{% endif %}
|
||||
- "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)"
|
||||
- "[Managing vulnerabilities in your project's dependencies](/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies)"
|
||||
- "[Keeping your dependencies updated automatically](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically)"
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
---
|
||||
title: Administrar tu preferencia de representación de tamaño de pestaña
|
||||
intro: Puedes administrar la cantidad de espacios que representa una pestaña en tu cuenta de usuario.
|
||||
title: Managing your tab size rendering preference
|
||||
intro: You can manage the number of spaces a tab is equal to for your user account.
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghae: ghae-issue-5083
|
||||
ghes: '>=3.4'
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Accounts
|
||||
shortTitle: Administrar el tamaño de tu pestaña
|
||||
shortTitle: Managing your tab size
|
||||
---
|
||||
|
||||
Si crees que la sangría del código que se interpreta en {% data variables.product.product_name %} es demasiado grande o pequeña, puedes cambiar esto en tus ajustes.
|
||||
If you feel that tabbed indentation in code rendered on {% data variables.product.product_name %} takes up too much, or too little space, you can change this in your settings.
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
1. En la barra lateral de configuración de usuario, da clic en **Apariencia**. 
|
||||
2. Debajo de "Preferencia de tamaño de pestaña"; selecciona el menú desplegable y elige tu preferencia. 
|
||||
1. In the user settings sidebar, click **Appearance**.
|
||||

|
||||
2. Under "Tab size preference", select the drop-down menu and choose your preference.
|
||||

|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Administrar la configuración de tu tema
|
||||
intro: 'Puedes administrar la forma en que {% data variables.product.product_name %} te ve si configuras las preferencias de tema que ya sea siguen la configuración de tu sistema o siempre utilzian un modo claro u oscuro.'
|
||||
title: Managing your theme settings
|
||||
intro: 'You can manage how {% data variables.product.product_name %} looks to you by setting a theme preference that either follows your system settings or always uses a light or dark mode.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghae: next
|
||||
@@ -11,33 +11,40 @@ topics:
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-your-github-user-account/managing-your-theme-settings
|
||||
- /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings
|
||||
shortTitle: Administrar la configuración de temas
|
||||
shortTitle: Manage theme settings
|
||||
---
|
||||
|
||||
Para obtener elecciones y flexibilidad en la forma y momento de utilizar {% data variables.product.product_name %}, puedes configurar los ajustes de tema para cambiar la forma en la que ves a {% data variables.product.product_name %}. Puedes elegir de entre los temas claros u oscuros o puedes configurar a {% data variables.product.product_name %} para que siga la configuración de tu sistema.
|
||||
For choice and flexibility in how and when you use {% data variables.product.product_name %}, you can configure theme settings to change how {% data variables.product.product_name %} looks to you. You can choose from themes that are light or dark, or you can configure {% data variables.product.product_name %} to follow your system settings.
|
||||
|
||||
Puede que quieras utilizar un tema oscuro para reducir el consumo de energía en algunos dispositivos, para reducir la fatiga ocular en condiciones de luz baja o porque te gusta más cómo se ve.
|
||||
You may want to use a dark theme to reduce power consumption on certain devices, to reduce eye strain in low-light conditions, or because you prefer how the theme looks.
|
||||
|
||||
{% ifversion fpt or ghae-issue-4618 or ghec %} Si tu visión es limitada, puedes beneficiarte de un tema de contraste alto, con mayor contraste entre los elementos en primer y segundo plano.{% endif %}{% ifversion fpt or ghae-issue-4619 or ghec %} Si tienes daltonismo, puedes beneficiarte de nuestros temas claro y oscuro para daltónicos.
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-4618 or ghec %}If you have low vision, you may benefit from a high contrast theme, with greater contrast between foreground and background elements.{% endif %}{% ifversion fpt or ghae-issue-4619 or ghec %} If you have colorblindness, you may benefit from our light and dark colorblind themes.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Los temas para daltónicos se encuentran actualmente en un beta público. Para obtener más información o para habilitar las características del beta público, consulta la sección [Explorar los lanzamientos de acceso adelantado con vista previa de características](/get-started/using-github/exploring-early-access-releases-with-feature-preview)".
|
||||
**Note:** The colorblind themes and light high contrast theme are currently in public beta. For more information on enabling features in public beta, see "[Exploring early access releases with feature preview](/get-started/using-github/exploring-early-access-releases-with-feature-preview)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
1. En la barra lateral de configuración de usuario, da clic en **Apariencia**. 
|
||||
2. Debajo de "Modo del tema", selecciona el menú desplegable y haz clic en una preferencia de tema. 
|
||||
3. Haz clic en el tema que quieres usar.
|
||||
- Si eliges un tema simple, haz clic en un tema.
|
||||
{% ifversion fpt or ghae-issue-4618 or ghec %}{% else %}{% endif %}
|
||||
- Si eliges seguir tu configuración de sistema, haz clic en un tema de día y de noche.
|
||||
{% ifversion fpt or ghae-issue-4618 or ghec %}{% else %}{% endif %}
|
||||
1. In the user settings sidebar, click **Appearance**.
|
||||
|
||||

|
||||
|
||||
1. Under "Theme mode", select the drop-down menu, then click a theme preference.
|
||||
|
||||

|
||||
1. Click the theme you'd like to use.
|
||||
- If you chose a single theme, click a theme.
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-4618 or ghec %}{% else %}{% endif %}
|
||||
- If you chose to follow your system settings, click a day theme and a night theme.
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-4618 or ghec %}{% else %}{% endif %}
|
||||
{% ifversion fpt or ghae-issue-4619 or ghec %}
|
||||
- Si te gustaría elegir un tema que se encuentre actualmente en beta público, primero necesitas habilitarlo con la vista previa de características. Para obtener más información, consulta la sección [Explorar los lanzamientos de acceso adelantado con vista previa de características](/get-started/using-github/exploring-early-access-releases-with-feature-preview)".{% endif %}
|
||||
- If you would like to choose a theme which is currently in public beta, you will first need to enable it with feature preview. For more information, see "[Exploring early access releases with feature preview](/get-started/using-github/exploring-early-access-releases-with-feature-preview)."{% endif %}
|
||||
|
||||
{% if command-palette %}
|
||||
|
||||
@@ -49,6 +56,6 @@ Puede que quieras utilizar un tema oscuro para reducir el consumo de energía en
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Configurar un tema para {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/setting-a-theme-for-github-desktop)"
|
||||
- "[Setting a theme for {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/setting-a-theme-for-github-desktop)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Fusionar cuentas de usuarios múltiples
|
||||
intro: 'Si tienes cuentas separadas para uso laboral y personal, puedes fusionar las cuentas.'
|
||||
title: Merging multiple user accounts
|
||||
intro: 'If you have separate accounts for work and personal use, you can merge the accounts.'
|
||||
redirect_from:
|
||||
- /articles/can-i-merge-two-accounts/
|
||||
- /articles/keeping-work-and-personal-repositories-separate/
|
||||
@@ -12,19 +12,19 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Accounts
|
||||
shortTitle: Fusionar cuentas de usuario múltiples
|
||||
shortTitle: Merge multiple user accounts
|
||||
---
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Sugerencia:** recomendamos utilizar únicamente una cuenta de usuario para administrar los repositorios personales y laborales.
|
||||
**Tip:** We recommend using only one user account to manage both personal and professional repositories.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
1. [Transfiere cualquier repositorio](/articles/how-to-transfer-a-repository) desde la cuenta que deseas eliminar a la cuenta que deseas mantener. También se transfieren propuestas, solicitudes de extracción y wikis. Verifica que los repositorios existan en la cuenta que deseas mantener.
|
||||
2. [Actualiza las URL remotas](/github/getting-started-with-github/managing-remote-repositories) en cualquier clon local de los repositorios que se movieron.
|
||||
3. [Elimina la cuenta](/articles/deleting-your-user-account) que ya no deseas utilizar.
|
||||
1. [Transfer any repositories](/articles/how-to-transfer-a-repository) from the account you want to delete to the account you want to keep. Issues, pull requests, and wikis are transferred as well. Verify the repositories exist on the account you want to keep.
|
||||
2. [Update the remote URLs](/github/getting-started-with-github/managing-remote-repositories) in any local clones of the repositories that were moved.
|
||||
3. [Delete the account](/articles/deleting-your-user-account) you no longer want to use.
|
||||
4. To attribute past commits to the new account, add the email address you used to author the commits to the account you're keeping. For more information, see "[Why are my contributions not showing up on my profile?](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)"
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- [Tipos de cuentas de {% data variables.product.prodname_dotcom %}](/articles/types-of-github-accounts)"
|
||||
- "[Types of {% data variables.product.prodname_dotcom %} accounts](/articles/types-of-github-accounts)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Niveles de permiso para un repositorio de cuenta de usuario
|
||||
intro: 'Un repositorio que pertenece a una cuenta de usuario tiene dos niveles de permiso: propietario del repositorio y colaboradores.'
|
||||
title: Permission levels for a user account repository
|
||||
intro: 'A repository owned by a user account has two permission levels: the repository owner and collaborators.'
|
||||
redirect_from:
|
||||
- /articles/permission-levels-for-a-user-account-repository
|
||||
- /github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository
|
||||
@@ -12,87 +12,80 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Accounts
|
||||
shortTitle: Permisos bajo los repositorios
|
||||
shortTitle: Permission user repositories
|
||||
---
|
||||
## About permissions levels for a user account repository
|
||||
|
||||
## Acerca de los niveles de permisos para un repositorio de una cuenta de usuario
|
||||
Repositories owned by user accounts have one owner. Ownership permissions can't be shared with another user account.
|
||||
|
||||
Los repositorios que pertenecen a las cuentas de usuario tienen un propietario. Los permisos de propiedad no pueden compartirse con otra cuenta de usuario.
|
||||
|
||||
También puedes {% ifversion fpt or ghec %}invitar{% else %}agregar{% endif %} usuarios de {% data variables.product.product_name %} a tu repositorio como colaboradores. Para obtener más información, consulta la sección "[Invitar colaboradores a un repositorio personal](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)".
|
||||
You can also {% ifversion fpt or ghec %}invite{% else %}add{% endif %} users on {% data variables.product.product_name %} to your repository as collaborators. For more information, see "[Inviting collaborators to a personal repository](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)."
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** Si necesitas un acceso más granular para un repositorio que le pertenezca a tu cuenta de usuario, considera transferirlo a una organización. Para obtener más información, consulta "[Transferir un repositorio](/github/administering-a-repository/transferring-a-repository#transferring-a-repository-owned-by-your-user-account)".
|
||||
**Tip:** If you require more granular access to a repository owned by your user account, consider transferring the repository to an organization. For more information, see "[Transferring a repository](/github/administering-a-repository/transferring-a-repository#transferring-a-repository-owned-by-your-user-account)."
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## Acceso de propietarios a un repositorio que pertenezca a una cuenta de usuario
|
||||
## Owner access for a repository owned by a user account
|
||||
|
||||
El propietario del repositorio tiene control completo del repositorio. Adicionalmente a las acciones que pudiera realizar cualquier colaborador, el propietario del repositorio puede realizar las siguientes.
|
||||
The repository owner has full control of the repository. In addition to the actions that any collaborator can perform, the repository owner can perform the following actions.
|
||||
|
||||
| Acción | Más información |
|
||||
|:------------------------------------------------------------------------------------------------------------------------------------------------------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| {% ifversion fpt or ghec %}Invitar colaboradores{% else %}Agregar colaboradores{% endif %} | |
|
||||
| "[Invitar colaboradores a un repositorio personal](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)" | |
|
||||
| Cambiar la visibilidad del repositorio | "[Configurar la visibilidad del repositorio](/github/administering-a-repository/setting-repository-visibility)" |{% ifversion fpt or ghec %}
|
||||
| Limitar las interacciones con el repositorio | "[Limitar las interacciones en tu repositorio](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)" |{% endif %}{% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}
|
||||
| Renombrar una rama, incluyendo la rama predeterminada | "[Renombrar una rama](/github/administering-a-repository/renaming-a-branch)"
|
||||
{% endif %}
|
||||
| Fusionar una solicitud de extracción sobre una rama protegida, incluso si no hay revisiones de aprobación | "[Acerca de las ramas protegidas](/github/administering-a-repository/about-protected-branches)" |
|
||||
| Eliminar el repositorio | "[Borrar un repositorio](/github/administering-a-repository/deleting-a-repository)" |
|
||||
| Administrar los temas del repositorio | "[Clasificar tu repositorio con temas](/github/administering-a-repository/classifying-your-repository-with-topics)" |{% ifversion fpt or ghec %}
|
||||
| Administrar la seguridad y la configuración de análisis del repositorio | "[Administrar la configuración de análisis y seguridad de tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" |{% endif %}{% ifversion fpt or ghec %}
|
||||
| Habilitar la gráfica de dependencias para un repositorio privado | "[Explorar las dependencias de un repositorio](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)" |{% endif %}{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
| Borrar y restablecer paquetes | "[Borrar y restablecer un paquete](/packages/learn-github-packages/deleting-and-restoring-a-package)" |{% endif %}{% ifversion ghes = 3.0 or ghae %}
|
||||
| Borrar paquetes | "[Borrar paquetes](/packages/learn-github-packages/deleting-a-package)"
|
||||
{% endif %}
|
||||
| Personalizar la vista previa de las redes sociales de un repositorio | "[Personalizar la vista previa de las redes sociales de tu repositorio](/github/administering-a-repository/customizing-your-repositorys-social-media-preview)" |
|
||||
| Crear una plantilla del repositorio | "[Crear un repositorio de plantilla](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)" |{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
| Control access to {% data variables.product.prodname_dependabot_alerts %} alerts for vulnerable dependencies | "[Administrar la configuración de análisis y seguridad de tu repositorio](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)" |{% endif %}{% ifversion fpt or ghec %}
|
||||
| Descartar las {% data variables.product.prodname_dependabot_alerts %} en el repositorio | "[Ver y actualizar las dependencias vulnerables en tu repositorio](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)" |
|
||||
| Administrar el uso de datos para un repositorio privado | "[Administrar la configuración del uso de datos para tu repositorio privado](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)"
|
||||
{% endif %}
|
||||
| Definir propietarios del código para un repositorio | "[Acerca de los propietarios del código](/github/creating-cloning-and-archiving-repositories/about-code-owners)" |
|
||||
| Archivar el repositorio | "[Archivar repositorios](/repositories/archiving-a-github-repository/archiving-repositories)" |{% ifversion fpt or ghec %}
|
||||
| Crear asesorías de seguridad | "[Acerca de las {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)" |
|
||||
| Mostrar el botón del patrocinador | "[Mostrar un botón de patrocinador en tu repositorio](/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository)" |{% endif %}{% ifversion fpt or ghae or ghes > 3.0 or ghec %}
|
||||
| Permitir o dejar de permitir la fusión automática para las solicitudes de cambios | "[Administrar la fusión automática para las solicitudes de cambios en tu repositorio](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository)" | {% endif %}
|
||||
| Action | More information |
|
||||
| :- | :- |
|
||||
| {% ifversion fpt or ghec %}Invite collaborators{% else %}Add collaborators{% endif %} | "[Inviting collaborators to a personal repository](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)" |
|
||||
| Change the visibility of the repository | "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)" |{% ifversion fpt or ghec %}
|
||||
| Limit interactions with the repository | "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)" |{% endif %}{% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}
|
||||
| Rename a branch, including the default branch | "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)" |{% endif %}
|
||||
| Merge a pull request on a protected branch, even if there are no approving reviews | "[About protected branches](/github/administering-a-repository/about-protected-branches)" |
|
||||
| Delete the repository | "[Deleting a repository](/github/administering-a-repository/deleting-a-repository)" |
|
||||
| Manage the repository's topics | "[Classifying your repository with topics](/github/administering-a-repository/classifying-your-repository-with-topics)" |{% ifversion fpt or ghec %}
|
||||
| Manage security and analysis settings for the repository | "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" |{% endif %}{% ifversion fpt or ghec %}
|
||||
| Enable the dependency graph for a private repository | "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)" |{% endif %}{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
| Delete and restore packages | "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" |{% endif %}{% ifversion ghes = 3.0 or ghae %}
|
||||
| Delete packages | "[Deleting packages](/packages/learn-github-packages/deleting-a-package)" |{% endif %}
|
||||
| Customize the repository's social media preview | "[Customizing your repository's social media preview](/github/administering-a-repository/customizing-your-repositorys-social-media-preview)" |
|
||||
| Create a template from the repository | "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)" |{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
| Control access to {% data variables.product.prodname_dependabot_alerts %} alerts for vulnerable dependencies | "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)" |{% endif %}{% ifversion fpt or ghec %}
|
||||
| Dismiss {% data variables.product.prodname_dependabot_alerts %} in the repository | "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)" |
|
||||
| Manage data use for a private repository | "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)"|{% endif %}
|
||||
| Define code owners for the repository | "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)" |
|
||||
| Archive the repository | "[Archiving repositories](/repositories/archiving-a-github-repository/archiving-repositories)" |{% ifversion fpt or ghec %}
|
||||
| Create security advisories | "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)" |
|
||||
| Display a sponsor button | "[Displaying a sponsor button in your repository](/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository)" |{% endif %}{% ifversion fpt or ghae or ghes > 3.0 or ghec %}
|
||||
| Allow or disallow auto-merge for pull requests | "[Managing auto-merge for pull requests in your repository](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository)" | {% endif %}
|
||||
|
||||
## Acceso de colaborador para un repositorio que pertenezca a una cuenta de usuario
|
||||
## Collaborator access for a repository owned by a user account
|
||||
|
||||
Los colaboradores de un repositorio personal pueden extraer (leer) el contienido del mismo y subir (escribir) los cambios al repositorio.
|
||||
Collaborators on a personal repository can pull (read) the contents of the repository and push (write) changes to the repository.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** en un repositorio privado, los propietarios del repositorio solo pueden otorgar acceso de escritura a los colaboradores. Los colaboradores no pueden tener acceso de solo lectura a los repositorio propiedad de una cuenta de usuario.
|
||||
**Note:** In a private repository, repository owners can only grant write access to collaborators. Collaborators can't have read-only access to repositories owned by a user account.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Los colaboradores también pueden realizar las siguientes acciones.
|
||||
Collaborators can also perform the following actions.
|
||||
|
||||
| Acción | Más información |
|
||||
|:-------------------------------------------------------------------------------------------------------------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Bifurcar el repositorio | "[Acerca de las bifurcaciones](/github/collaborating-with-issues-and-pull-requests/about-forks)" |{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
| Renombrar una rama diferente a la predeterminada | "[Renombrar una rama](/github/administering-a-repository/renaming-a-branch)"
|
||||
{% endif %}
|
||||
| Crear, editar, y borrar comentarios en las confirmaciones, solicitudes de cambios y propuestas del repositorio | <ul><li>"[Acerca de las propuestas](/github/managing-your-work-on-github/about-issues)"</li><li>"[Comentar en una solilcitud de cambios](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)"</li><li>"[Administrar los comentarios perjudiciales](/communities/moderating-comments-and-conversations/managing-disruptive-comments)"</li></ul> |
|
||||
| Crear, asignar, cerrar y volver a abrir las propuestas en el repositorio | "[Administrar tu trabajo con las propuestas](/github/managing-your-work-on-github/managing-your-work-with-issues)" |
|
||||
| Administrar las etiquetas para las propuestas y solicitudes de cambios en el repositorio | "[Etiquetar las propuestas y solicitudes de cambios](/github/managing-your-work-on-github/labeling-issues-and-pull-requests)" |
|
||||
| Administrar hitos para las propuestas y solicitudes de cambios en el repositorio | "[Crear y editar hitos para propuestas y solicitudes de extracción](/github/managing-your-work-on-github/creating-and-editing-milestones-for-issues-and-pull-requests)" |
|
||||
| Marcar una propuesta o solicitud de cambios en el repositorio como duplicada | "[Acerca de las propuestas y soicitudes de cambio duplicadas](/github/managing-your-work-on-github/about-duplicate-issues-and-pull-requests)" |
|
||||
| Crear, fusionar y cerrar las solicitudes de cambios en el repositorio | "[Proponer cambios en tu trabajo con solicitudes de cambios](/github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests)" |{% ifversion fpt or ghae or ghes > 3.0 or ghec %}
|
||||
| Habilitar e inhabilitar la fusión automática para una solicitud de cambios | "[Fusionar automáticamente una solicitud de cambios](/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request)"{% endif %}
|
||||
| Aplicar los cambios sugeridos a las solicitudes de cambios en el repositorio | "[Incorporar retroalimentación en tu solicitud de cambios](/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request)" |
|
||||
| Crear una solicitud de cambios desde una bifurcación del repositorio | "[Crear una solicitud de extracción desde una bifurcación](/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)" |
|
||||
| Emitir una revisión de una solicitud de cambios que afecte la capacidad de fusión de una solicitud de cambios | "[Revisar los cambios propuestos en una solicitud de extracción](/github/collaborating-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request)" |
|
||||
| Crear y editar un wiki para el repositorio | "[Acerca de los wikis](/communities/documenting-your-project-with-wikis/about-wikis)" |
|
||||
| Crear y editar los lanzamientos del repositorio | "[Administrar los lanzamientos en un repositorio](/github/administering-a-repository/managing-releases-in-a-repository)" |
|
||||
| Actuar como propietario del código del repositorio | "[Acerca de los propietarios del código](/articles/about-code-owners)" |{% ifversion fpt or ghae or ghec %}
|
||||
| Publicar, ver o instalar paquetes | "[Publicar y mantener paquetes](/github/managing-packages-with-github-packages/publishing-and-managing-packages)"
|
||||
{% endif %}
|
||||
| Eliminarse como colaboradores del repositorio | "[Eliminarte a ti mismo del repositorio de un colaborador](/github/setting-up-and-managing-your-github-user-account/removing-yourself-from-a-collaborators-repository)" |
|
||||
| Action | More information |
|
||||
| :- | :- |
|
||||
| Fork the repository | "[About forks](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks)" |{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
| Rename a branch other than the default branch | "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)" |{% endif %}
|
||||
| Create, edit, and delete comments on commits, pull requests, and issues in the repository | <ul><li>"[About issues](/github/managing-your-work-on-github/about-issues)"</li><li>"[Commenting on a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)"</li><li>"[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments)"</li></ul> |
|
||||
| Create, assign, close, and re-open issues in the repository | "[Managing your work with issues](/github/managing-your-work-on-github/managing-your-work-with-issues)" |
|
||||
| Manage labels for issues and pull requests in the repository | "[Labeling issues and pull requests](/github/managing-your-work-on-github/labeling-issues-and-pull-requests)" |
|
||||
| Manage milestones for issues and pull requests in the repository | "[Creating and editing milestones for issues and pull requests](/github/managing-your-work-on-github/creating-and-editing-milestones-for-issues-and-pull-requests)" |
|
||||
| Mark an issue or pull request in the repository as a duplicate | "[About duplicate issues and pull requests](/github/managing-your-work-on-github/about-duplicate-issues-and-pull-requests)" |
|
||||
| Create, merge, and close pull requests in the repository | "[Proposing changes to your work with pull requests](/github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests)" |{% ifversion fpt or ghae or ghes > 3.0 or ghec %}
|
||||
| Enable and disable auto-merge for a pull request | "[Automatically merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)"{% endif %}
|
||||
| Apply suggested changes to pull requests in the repository |"[Incorporating feedback in your pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request)" |
|
||||
| Create a pull request from a fork of the repository | "[Creating a pull request from a fork](/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)" |
|
||||
| Submit a review on a pull request that affects the mergeability of the pull request | "[Reviewing proposed changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)" |
|
||||
| Create and edit a wiki for the repository | "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)" |
|
||||
| Create and edit releases for the repository | "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository)" |
|
||||
| Act as a code owner for the repository | "[About code owners](/articles/about-code-owners)" |{% ifversion fpt or ghae or ghec %}
|
||||
| Publish, view, or install packages | "[Publishing and managing packages](/github/managing-packages-with-github-packages/publishing-and-managing-packages)" |{% endif %}
|
||||
| Remove themselves as collaborators on the repository | "[Removing yourself from a collaborator's repository](/github/setting-up-and-managing-your-github-user-account/removing-yourself-from-a-collaborators-repository)" |
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Almacenar los datos de los flujos de trabajo como artefactos
|
||||
shortTitle: Almacenar artefactos de los flujos de trabajo
|
||||
intro: Los artefactos te permiten compartir datos entre puestos en un flujo de trabajo y almacenar los datos una vez que se ha completado ese flujo de trabajo.
|
||||
title: Storing workflow data as artifacts
|
||||
shortTitle: Storing workflow artifacts
|
||||
intro: Artifacts allow you to share data between jobs in a workflow and store data once that workflow has completed.
|
||||
redirect_from:
|
||||
- /articles/persisting-workflow-data-using-artifacts
|
||||
- /github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts
|
||||
@@ -22,51 +22,51 @@ topics:
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca de los artefactos de flujo de trabajo
|
||||
## About workflow artifacts
|
||||
|
||||
Los artefactos te permiten hacer datos persistentes después de que se complete un job y comparten estos datos con otro job en el mismo flujo de trabajo. Un artefacto es un archivo o recopilación de archivos producidos durante una ejecución de flujo de trabajo. Por ejemplo, puedes utilizar artefactos para guardar tu compilación y probar el resultado después de que haya terminado una ejecución de flujo de trabajo. {% data reusables.actions.reusable-workflow-artifacts %}
|
||||
Artifacts allow you to persist data after a job has completed, and share that data with another job in the same workflow. An artifact is a file or collection of files produced during a workflow run. For example, you can use artifacts to save your build and test output after a workflow run has ended. {% data reusables.actions.reusable-workflow-artifacts %}
|
||||
|
||||
{% data reusables.github-actions.artifact-log-retention-statement %} El periodo de retención para una solicitud de cambios se reinicia cada vez que alguien sube una confirmación nueva en dicha solicitud.
|
||||
{% data reusables.github-actions.artifact-log-retention-statement %} The retention period for a pull request restarts each time someone pushes a new commit to the pull request.
|
||||
|
||||
Estos son algunos de los artefactos comunes que puedes subir:
|
||||
These are some of the common artifacts that you can upload:
|
||||
|
||||
- Archivos de registro y vaciados de memoria
|
||||
- Resultados de prueba, fallas y capturas de pantalla
|
||||
- Archivos binarios o comprimidos
|
||||
- Resultados de la prueba de rendimiento y resultados de cobertura del código
|
||||
- Log files and core dumps
|
||||
- Test results, failures, and screenshots
|
||||
- Binary or compressed files
|
||||
- Stress test performance output and code coverage results
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
Almacenar artefactos consume espacio de almacenamiento en {% data variables.product.product_name %}. {% data reusables.github-actions.actions-billing %} Para obtener más información, consulta "[Administrar la facturación para {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)".
|
||||
Storing artifacts uses storage space on {% data variables.product.product_name %}. {% data reusables.github-actions.actions-billing %} For more information, see "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)."
|
||||
|
||||
{% else %}
|
||||
|
||||
Los artefactos caducan automáticamente después de 90 días, pero siempre puedes reclamar el almacenamiento utilizado de {% data variables.product.prodname_actions %} si borras artefactos antes de que caduquen en {% data variables.product.product_name %}.
|
||||
Artifacts consume storage space on the external blob storage that is configured for {% data variables.product.prodname_actions %} on {% data variables.product.product_location %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
Los artefactos se cargan durante una ejecución de flujo de trabajo y puedes ver el nombre y tamaño de estos en la IU. Cuando se descarga un artefacto utilizando la IU de {% data variables.product.product_name %}, todos los archivos que se hayan subido de manera individual como parte del mismo se comprimirán en un solo archivo. Esto significa que los costos se calcularán con base en el tamaño del artefacto cargado y no en aquél del archivo comprimido.
|
||||
Artifacts are uploaded during a workflow run, and you can view an artifact's name and size in the UI. When an artifact is downloaded using the {% data variables.product.product_name %} UI, all files that were individually uploaded as part of the artifact get zipped together into a single file. This means that billing is calculated based on the size of the uploaded artifact and not the size of the zip file.
|
||||
|
||||
{% data variables.product.product_name %} proporciona dos acciones que puedes usar para cargar y descargar artefactos de construcción. Para obtener más información, consulta las acciones {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) y [download-artifact](https://github.com/actions/download-artifact){% else %} `actions/upload-artifact` y `download-artifact` en {% data variables.product.product_location %}{% endif %}.
|
||||
{% data variables.product.product_name %} provides two actions that you can use to upload and download build artifacts. For more information, see the {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}.
|
||||
|
||||
Para compartir datos entre jobs:
|
||||
To share data between jobs:
|
||||
|
||||
* **Cargar archivos**: Asigna un nombre al archivo cargado y sube los datos antes de que termine el job.
|
||||
* **Descargar archivos**: Solo puedes descargar artefactos que se hayan subido durante la misma ejecución del flujo de trabajo. Cuando descargas un archivo, puedes referenciarlo por su nombre.
|
||||
* **Uploading files**: Give the uploaded file a name and upload the data before the job ends.
|
||||
* **Downloading files**: You can only download artifacts that were uploaded during the same workflow run. When you download a file, you can reference it by name.
|
||||
|
||||
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 job, 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)".
|
||||
The steps of a job share the same environment on the runner machine, but run in their own individual processes. To pass data between steps in a job, you can use inputs and outputs. For more information about inputs and outputs, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions)."
|
||||
|
||||
## Cargar artefactos de construcción y prueba
|
||||
## Uploading build and test artifacts
|
||||
|
||||
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)".
|
||||
You can create a continuous integration (CI) workflow to build and test your code. For more information about using {% data variables.product.prodname_actions %} to perform CI, see "[About continuous integration](/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.
|
||||
The output of building and testing your code often produces files you can use to debug test failures and production code that you can deploy. You can configure a workflow to build and test the code pushed to your repository and report a success or failure status. You can upload the build and test output to use for deployments, debugging failed tests or crashes, and viewing test suite coverage.
|
||||
|
||||
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 %}.
|
||||
You can use the `upload-artifact` action to upload artifacts. When uploading an artifact, you can specify a single file or directory, or multiple files or directories. You can also exclude certain files or directories, and use wildcard patterns. We recommend that you provide a name for an artifact, but if no name is provided then `artifact` will be used as the default name. 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
|
||||
### Example
|
||||
|
||||
Por ejemplo, tu repositorio o una aplicación web podrían contener archivos de SASS y TypeScript que debes convertir a CSS y JavaScript. Teniendo en cuenta que tu configuración de construcción envía los archivos compilados al directorio `dist`, puedes implementar los archivos en el directorio `dist` para tu servidor de aplicación web si todas las pruebas se completaron satisfactoriamente.
|
||||
For example, your repository or a web application might contain SASS and TypeScript files that you must convert to CSS and JavaScript. Assuming your build configuration outputs the compiled files in the `dist` directory, you would deploy the files in the `dist` directory to your web application server if all tests completed successfully.
|
||||
|
||||
```
|
||||
|-- hello-world (repository)
|
||||
@@ -80,9 +80,9 @@ 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. You can assume that running `npm test` produces a code coverage report named `code-coverage.html` stored in the `output/test/` directory.
|
||||
|
||||
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 `code-coverage.html` como otro artefacto.
|
||||
The workflow uploads the production artifacts in the `dist` directory, but excludes any markdown files. It also uploads the `code-coverage.html` report as another artifact.
|
||||
|
||||
```yaml{:copy}
|
||||
name: Node CI
|
||||
@@ -114,9 +114,9 @@ jobs:
|
||||
path: output/test/code-coverage.html
|
||||
```
|
||||
|
||||
## Configurar un periodo de retención de artefactos personalizado
|
||||
## Configuring a custom artifact retention period
|
||||
|
||||
Puedes definir un periodo de retención personalizado para los artefactos indivudales que crea un flujo de trabajo. Cuando utilices un flujo de trabajo para crear un artefacto nuevo, puedes utilizar `retention-days` con la acción `upload-artifact`. Este ejemplo ilustra cómo configurar un periodo de retención personalizado de 5 días para el artefacto que se llama `my-artifact`:
|
||||
You can define a custom retention period for individual artifacts created by a workflow. When using a workflow to create a new artifact, you can use `retention-days` with the `upload-artifact` action. This example demonstrates how to set a custom retention period of 5 days for the artifact named `my-artifact`:
|
||||
|
||||
```yaml{:copy}
|
||||
- name: 'Upload Artifact'
|
||||
@@ -127,25 +127,25 @@ Puedes definir un periodo de retención personalizado para los artefactos indivu
|
||||
retention-days: 5
|
||||
```
|
||||
|
||||
El valor `retention-days` no puede exceder el límite de retención que configuró el repositorio, organización o empresa.
|
||||
The `retention-days` value cannot exceed the retention limit set by the repository, organization, or enterprise.
|
||||
|
||||
## Descargar o eliminar artefactos
|
||||
## Downloading or deleting artifacts
|
||||
|
||||
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.
|
||||
During a workflow run, you can use the [`download-artifact`](https://github.com/actions/download-artifact) action to download artifacts that were previously uploaded in the same workflow run.
|
||||
|
||||
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)".
|
||||
After a workflow run has been completed, you can download or delete artifacts on {% data variables.product.prodname_dotcom %} or using the REST API. 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
|
||||
### Downloading artifacts during a workflow run
|
||||
|
||||
La acción [`actions/download-artifact`](https://github.com/actions/download-artifact) puede utilizarse para descargar artefactos que se hayan cargado previamente durante una ejecución de flujo de trabajo.
|
||||
The [`actions/download-artifact`](https://github.com/actions/download-artifact) action can be used to download previously uploaded artifacts during a workflow run.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Solo podrás descargar los artefactos que se hayan cargado durante la misma ejecución de flujo de trabajo.
|
||||
**Note:** You can only download artifacts in a workflow that were uploaded during the same workflow run.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Especificar el nombre de un artefacto para descargar un artefacto individual. Si cargaste un artefacto sin especificar un nombre, el nombre predeterminado de éste será `artifact`.
|
||||
Specify an artifact's name to download an individual artifact. If you uploaded an artifact without specifying a name, the default name is `artifact`.
|
||||
|
||||
```yaml
|
||||
- name: Download a single artifact
|
||||
@@ -154,37 +154,37 @@ Especificar el nombre de un artefacto para descargar un artefacto individual. Si
|
||||
name: my-artifact
|
||||
```
|
||||
|
||||
También puedes descargar todos los artefactos en una ejecución de flujo de trabajo si no especificas un nombre para éstos. Esto puede ser útil si estás trabajando con muchos artefactos.
|
||||
You can also download all artifacts in a workflow run by not specifying a name. This can be useful if you are working with lots of artifacts.
|
||||
|
||||
```yaml
|
||||
- name: Download all workflow run artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
```
|
||||
|
||||
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.
|
||||
If you download all workflow run's artifacts, a directory for each artifact is created using its name.
|
||||
|
||||
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 jobs en un flujo de trabajo
|
||||
## Passing data between jobs in a workflow
|
||||
|
||||
Puedes usar las acciones `upload-artifact` y `download-artifact` para compartir datos entre jobs en un flujo de trabajo. Este flujo de trabajo de ejemplo ilustra cómo pasar datos entre jobs en el mismo flujo de trabajo. Para obtener más información, consulta las acciones {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) y [download-artifact](https://github.com/actions/download-artifact){% else %} `actions/upload-artifact` y `download-artifact` en {% data variables.product.product_location %}{% endif %}.
|
||||
You can use the `upload-artifact` and `download-artifact` actions to share data between jobs in a workflow. This example workflow illustrates how to pass data between jobs in the same workflow. For more information, see the {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}.
|
||||
|
||||
Los jobs que dependen de los artefactos de un trabajo anterior deben esperar que el trabajo dependiente se complete exitosamente. Este flujo de trabajo usa la palabra clave `needs` para garantizar que `job_1`, `job_2` y `job_3` se ejecuten secuencialmente. Por ejemplo, `job_2` requiere `job_1` mediante la sintaxis `needs: job_1`.
|
||||
Jobs that are dependent on a previous job's artifacts must wait for the dependent job to complete successfully. This workflow uses the `needs` keyword to ensure that `job_1`, `job_2`, and `job_3` run sequentially. For example, `job_2` requires `job_1` using the `needs: job_1` syntax.
|
||||
|
||||
El job 1 realiza estos pasos:
|
||||
- Realiza un cálculo matemático y guarda el resultado en un archivo de texto llamado `math-homework.txt`.
|
||||
- Utiliza la acción `upload-artifact` para cargar el archivo `math-homework.txt` con el nombre de archivo `homework`.
|
||||
Job 1 performs these steps:
|
||||
- Performs a math calculation and saves the result to a text file called `math-homework.txt`.
|
||||
- Uses the `upload-artifact` action to upload the `math-homework.txt` file with the artifact name `homework`.
|
||||
|
||||
El job 2 usa el resultado del trabajo anterior:
|
||||
- Descarga el artefacto `homework` cargado en el trabajo anterior. De manera predeterminada, la acción `download-artifact` descarga artefactos en el directorio del espacio de trabajo que ejecuta el paso. Puedes utilizar el parámetro de entrada `path` para especificar un directorio de descarga diferente.
|
||||
- Lee el valor en el archivo `math-homework.txt`, realiza un cálculo matemático, y guarda el resultado en `math-homework.txt` nuevamente, sobreescribiendo su contenido.
|
||||
- Carga el archivo `math-homework.txt`. Esta carga sobreescribe el artefacto que se cargó previamente, ya que comparten el mismo nombre.
|
||||
Job 2 uses the result in the previous job:
|
||||
- Downloads the `homework` artifact uploaded in the previous job. By default, the `download-artifact` action downloads artifacts to the workspace directory that the step is executing in. You can use the `path` input parameter to specify a different download directory.
|
||||
- Reads the value in the `math-homework.txt` file, performs a math calculation, and saves the result to `math-homework.txt` again, overwriting its contents.
|
||||
- Uploads the `math-homework.txt` file. This upload overwrites the previously uploaded artifact because they share the same name.
|
||||
|
||||
El job 3 muestra el resultado cargado en el trabajo anterior:
|
||||
- Descarga el artefacto `homework`.
|
||||
- Imprime el resultado de la ecuación matemática en el registro.
|
||||
Job 3 displays the result uploaded in the previous job:
|
||||
- Downloads the `homework` artifact.
|
||||
- Prints the result of the math equation to the log.
|
||||
|
||||
La operación matemática completa realizada en este ejemplo de flujo de trabajo es `(3 + 7) x 9 = 90`.
|
||||
The full math operation performed in this workflow example is `(3 + 7) x 9 = 90`.
|
||||
|
||||
```yaml{:copy}
|
||||
name: Share data between jobs
|
||||
@@ -240,17 +240,17 @@ jobs:
|
||||
echo The result is $value
|
||||
```
|
||||
|
||||
La ejecución de flujo de trabajo archivará cualquier artefacto que haya generado. Para obtener más información sobre cómo descargar los artefactos archivados, consulta la sección "[Descargar artefactos de flujo de trabajo](/actions/managing-workflow-runs/downloading-workflow-artifacts)".
|
||||
The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)."
|
||||
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Administrar la facturación de {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)".
|
||||
- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)".
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Compilar y probar PowerShell
|
||||
intro: Puedes crear un flujo de trabajo de integración continua (IC) para compilar y probar tu proyecto de PowerShell.
|
||||
title: Building and testing PowerShell
|
||||
intro: You can create a continuous integration (CI) workflow to build and test your PowerShell project.
|
||||
redirect_from:
|
||||
- /actions/guides/building-and-testing-powershell
|
||||
versions:
|
||||
@@ -13,39 +13,39 @@ authors:
|
||||
type: tutorial
|
||||
topics:
|
||||
- CI
|
||||
- Powershell
|
||||
shortTitle: Compila & prueba PowerShell
|
||||
- PowerShell
|
||||
shortTitle: Build & test PowerShell
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Introducción
|
||||
## Introduction
|
||||
|
||||
Esta guía te muestra cómo utilizar PowerShell para la IC. Describimos cómo utilizar Pester, instalar dependencias, probar tu módulo y publicarlo en la galería de PowerShell.
|
||||
This guide shows you how to use PowerShell for CI. It describes how to use Pester, install dependencies, test your module, and publish to the PowerShell Gallery.
|
||||
|
||||
Los ejecutores hospedados en {% data variables.product.prodname_dotcom %} tienen un caché de herramientas con software pre-instalado, lo cual incluye a PowerShell y a Pester.
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes PowerShell and Pester.
|
||||
|
||||
{% ifversion ghae %}Para obtener instrucciones de cómo asegurarte de que tu {% data variables.actions.hosted_runner %} tiene instalado el software necesario, consulta la sección "[Crear imágenes personalizadas](/actions/using-github-hosted-runners/creating-custom-images)".
|
||||
{% else %}Para encontrar una lista completa de software actualizado y de las versiones preinstaladas de PowerShell y Pester, consulta la sección "[Especificaciones para los ejecutores hospedados en {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %}For a full list of up-to-date software and the pre-installed versions of PowerShell and Pester, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
## Prerrequisitos
|
||||
## Prerequisites
|
||||
|
||||
Deberías estar familiarizado con YAML y la sintaxis para las {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Aprende sobre {% data variables.product.prodname_actions %}](/actions/learn-github-actions)".
|
||||
You should be familiar with YAML and the syntax for {% data variables.product.prodname_actions %}. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
|
||||
|
||||
Te recomendamos tener un entendimiento básico de PowerShell y de Pester. Para obtener más información, consulta:
|
||||
- [Iniciar con PowerShell](https://docs.microsoft.com/powershell/scripting/learn/ps101/01-getting-started)
|
||||
We recommend that you have a basic understanding of PowerShell and Pester. For more information, see:
|
||||
- [Getting started with PowerShell](https://docs.microsoft.com/powershell/scripting/learn/ps101/01-getting-started)
|
||||
- [Pester](https://pester.dev)
|
||||
|
||||
{% data reusables.actions.enterprise-setup-prereq %}
|
||||
|
||||
## Agregar un flujo de trabajo para Pester
|
||||
## Adding a workflow for Pester
|
||||
|
||||
Para automatizar tus pruebas con PowerShell y con Pester, puedes agregar un flujo de trabajo que se ejecute cada que se sube un cambio en tu repositorio. En el siguiente ejemplo, se utiliza `Test-Path` para verificar la presencia de un archivo que se llama `resultsfile.log`.
|
||||
To automate your testing with PowerShell and Pester, you can add a workflow that runs every time a change is pushed to your repository. In the following example, `Test-Path` is used to check that a file called `resultsfile.log` is present.
|
||||
|
||||
Este ejemplo de archivo de flujo de trabajo debe agregarse al directorio `.github/workflows/` de tu repositorio:
|
||||
This example workflow file must be added to your repository's `.github/workflows/` directory:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -69,17 +69,17 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
* `shell: pwsh` - Configura el job para que utilice PowerShell cuando ejecutas los comandos de `run`.
|
||||
* `run: Test-Path resultsfile.log` - Revisa si un archivo que se llama `resultsfile.log` está presente en el directorio raíz del repositorio.
|
||||
* `Should -Be $true` - Utiliza Pester para definir un resultado esperado. Si el resultado es inesperado, entonces {% data variables.product.prodname_actions %} lo marca como una prueba fallida. Por ejemplo:
|
||||
* `shell: pwsh` - Configures the job to use PowerShell when running the `run` commands.
|
||||
* `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory.
|
||||
* `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. For example:
|
||||
|
||||
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
* `Invoke-Pester Unit.Tests.ps1 -Passthru` - Utiliza Pester para ejecutar las pruebas que se definen en un archivo que se llama `Unit.Tests.ps1`. Por ejempo, para realizar la misma prueba que se describe anteriormente, el `Unit.Tests.ps1` contendrá lo siguiente:
|
||||
* `Invoke-Pester Unit.Tests.ps1 -Passthru` - Uses Pester to execute tests defined in a file called `Unit.Tests.ps1`. For example, to perform the same test described above, the `Unit.Tests.ps1` will contain the following:
|
||||
```
|
||||
Describe "Check results file is present" {
|
||||
It "Check results file is present" {
|
||||
@@ -88,29 +88,29 @@ jobs:
|
||||
}
|
||||
```
|
||||
|
||||
## Ubicaciones de los módulos de PowerShell
|
||||
## PowerShell module locations
|
||||
|
||||
En la siguiente tabla se describen las ubicaciones para varios módulos de PowerShell en cada ejecutor hospedado en {% data variables.product.prodname_dotcom %}.
|
||||
The table below describes the locations for various PowerShell modules in each {% data variables.product.prodname_dotcom %}-hosted runner.
|
||||
|
||||
| | Ubuntu | macOS | Windows |
|
||||
| ----------------------------------------- | ------------------------------------------------ | ------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| **Módulos de sistema de PowerShell** | `/opt/microsoft/powershell/7/Modules/*` | `/usr/local/microsoft/powershell/7/Modules/*` | `C:\program files\powershell\7\Modules\*` |
|
||||
| **Módulos complementarios de PowerShell** | `/usr/local/share/powershell/Modules/*` | `/usr/local/share/powershell/Modules/*` | `C:\Modules\*` |
|
||||
| **Módulos instalados por el usuario** | `/home/runner/.local/share/powershell/Modules/*` | `/Users/runner/.local/share/powershell/Modules/*` | `C:\Users\runneradmin\Documents\PowerShell\Modules\*` |
|
||||
|| Ubuntu | macOS | Windows |
|
||||
|------|-------|------|----------|
|
||||
|**PowerShell system modules** |`/opt/microsoft/powershell/7/Modules/*`|`/usr/local/microsoft/powershell/7/Modules/*`|`C:\program files\powershell\7\Modules\*`|
|
||||
|**PowerShell add-on modules**|`/usr/local/share/powershell/Modules/*`|`/usr/local/share/powershell/Modules/*`|`C:\Modules\*`|
|
||||
|**User-installed modules**|`/home/runner/.local/share/powershell/Modules/*`|`/Users/runner/.local/share/powershell/Modules/*`|`C:\Users\runneradmin\Documents\PowerShell\Modules\*`|
|
||||
|
||||
## Instalar dependencias
|
||||
## Installing dependencies
|
||||
|
||||
Los ejecutores hospedados en {% data variables.product.prodname_dotcom %} tienen PowerShell 7 y Pester instalados. Puedes utilizar `Install-Module` para instalar dependencias adicionales de la galería de PowerShell antes de compilar y probar tu código.
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners have PowerShell 7 and Pester installed. You can use `Install-Module` to install additional dependencies from the PowerShell Gallery before building and testing your code.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** Los paquetes pre-instalados (tales como Pester) que utilizan los ejecutores hospedados en {% data variables.product.prodname_dotcom %} se actualizan frecuentemente y pueden introducir cambios significativos. Como resultado, se recomienda que siempre especifiques las versiones de los paquetes requeridos utilizando `Install-Module` con `-MaximumVersion`.
|
||||
**Note:** The pre-installed packages (such as Pester) used by {% data variables.product.prodname_dotcom %}-hosted runners are regularly updated, and can introduce significant changes. As a result, it is recommended that you always specify the required package versions by using `Install-Module` with `-MaximumVersion`.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
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>".
|
||||
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>."
|
||||
|
||||
Por ejemplo, el siguiente job instala los módulos de `SqlServer` y `PSScriptAnalyzer`:
|
||||
For example, the following job installs the `SqlServer` and `PSScriptAnalyzer` modules:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -130,15 +130,15 @@ jobs:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** Predeterminadamente, PowerShell no confía en ningún repositorio. Cuando instales módulos desde la galería de PowerShell, debes configurar explícitamente la política de instalación de `PSGallery` en `Trusted`.
|
||||
**Note:** By default, no repositories are trusted by PowerShell. When installing modules from the PowerShell Gallery, you must explicitly set the installation policy for `PSGallery` to `Trusted`.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Almacenar dependencias en caché
|
||||
### Caching dependencies
|
||||
|
||||
Cuando utilizas ejecutores hospedados en {% data variables.product.prodname_dotcom %}, puedes guardar dependencias de PowerShell en el caché utilizando una clave única, lo cual te permite restaurar las dependencias para flujos de trabajo futuros con 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>".
|
||||
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>."
|
||||
|
||||
PowerShell guarda sus dependencias en caché en ubicaciones diferentes, dependiendo del sistema operativo del ejecutor. Por ejemplo, el `path` de la ubicación que se utiliza en el siguiente ejemplo de Ubuntu será diferente a aquél de un sistema operativo Windows.
|
||||
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.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -159,13 +159,13 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Probar tu código
|
||||
## Testing your code
|
||||
|
||||
Puedes usar los mismos comandos que usas de forma local para construir y probar tu código.
|
||||
You can use the same commands that you use locally to build and test your code.
|
||||
|
||||
### Utilizar PSScriptAnalyzer para limpiar el código
|
||||
### Using PSScriptAnalyzer to lint code
|
||||
|
||||
El siguiente ejemplo instala `PSScriptAnalyzer` y lo utiliza para limpiar todos los archivos `ps1` en el repositorio. Para obtener más información, consulta [PSScriptAnalyzer en GitHub](https://github.com/PowerShell/PSScriptAnalyzer).
|
||||
The following example installs `PSScriptAnalyzer` and uses it to lint all `ps1` files in the repository. For more information, see [PSScriptAnalyzer on GitHub](https://github.com/PowerShell/PSScriptAnalyzer).
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -193,11 +193,11 @@ El siguiente ejemplo instala `PSScriptAnalyzer` y lo utiliza para limpiar todos
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Empaquetar datos de flujo de trabajo como artefactos
|
||||
## Packaging workflow data as artifacts
|
||||
|
||||
Puedes cargar artefactos para ver después de que se complete un flujo de trabajo. Por ejemplo, es posible que debas guardar los archivos de registro, los vaciados de memoria, los resultados de las pruebas o las capturas de pantalla. 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)".
|
||||
You can upload artifacts to view after a workflow completes. For example, you may need to save log files, core dumps, test results, or screenshots. For more information, see "[Persisting workflow data using artifacts](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts)."
|
||||
|
||||
El siguiente ejemplo ilustra cómo puedes utilizar la acción `upload-artifact` para archivar los resultados de las pruebas que se recibieron de `Invoke-Pester`. Para obtener más información, consulta la acción [`upload-artifact`](https://github.com/actions/upload-artifact).
|
||||
The following example demonstrates how you can use the `upload-artifact` action to archive the test results received from `Invoke-Pester`. For more information, see the [`upload-artifact` action](https://github.com/actions/upload-artifact).
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -223,13 +223,13 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
La función `always()` configura el job para seguir el procesamiento aún si existen fallos en las pruebas. Para obtener más información, consulta "[always](/actions/reference/context-and-expression-syntax-for-github-actions#always)".
|
||||
The `always()` function configures the job to continue processing even if there are test failures. For more information, see "[always](/actions/reference/context-and-expression-syntax-for-github-actions#always)."
|
||||
|
||||
## Publicar en la galería de PowerShell
|
||||
## Publishing to PowerShell Gallery
|
||||
|
||||
Puedes configurar tu flujo de trabajo para que publique tu módulo de PowerShell en la galería de PowerShell cuando pasen tus pruebas de IC. Puedes utilizar los secretos para almacenar cualquier token o credencial que se necesiten para publicar tu paquete. Para obtener más información, consulta "[Crear y usar secretos cifrados](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)."
|
||||
You can configure your workflow to publish your PowerShell module to the PowerShell Gallery when your CI tests pass. You can use secrets to store any tokens or credentials needed to publish your package. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)."
|
||||
|
||||
El siguiente ejemplo crea un paquete y utiliza a `Publish-Module` para publicarlo en la galería de PowerShell:
|
||||
The following example creates a package and uses `Publish-Module` to publish it to the PowerShell Gallery:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Crear y probar en Python
|
||||
intro: Puedes crear un flujo de trabajo de integración continua (CI) para construir y probar tu proyecto de Python.
|
||||
title: Building and testing Python
|
||||
intro: You can create a continuous integration (CI) workflow to build and test your Python project.
|
||||
redirect_from:
|
||||
- /actions/automating-your-workflow-with-github-actions/using-python-with-github-actions
|
||||
- /actions/language-and-framework-guides/using-python-with-github-actions
|
||||
@@ -15,7 +15,7 @@ hidden: true
|
||||
topics:
|
||||
- CI
|
||||
- Python
|
||||
shortTitle: Crear & probar con Python
|
||||
shortTitle: Build & test Python
|
||||
hasExperimentalAlternative: true
|
||||
---
|
||||
|
||||
@@ -23,30 +23,30 @@ hasExperimentalAlternative: true
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Introducción
|
||||
## Introduction
|
||||
|
||||
Esta guía te muestra cómo construir, probar y publicar un paquete de Python.
|
||||
This guide shows you how to build, test, and publish a Python package.
|
||||
|
||||
{% ifversion ghae %} Consulta la sección "[Crear imágenes personalizadas](/actions/using-github-hosted-runners/creating-custom-images)" para obtener instrucciones para asegurarte de que tu {% data variables.actions.hosted_runner %} tiene instalado el software necesario.
|
||||
{% else %}Los ejecutores hospedados en {% data variables.product.prodname_dotcom %} tienen una caché de herramientas con un software preinstalado que incluye Python y PyPy. ¡No tienes que instalar nada! Para obtener una lista completa de software actualizado y de las versiones preinstaladas de Python y PyPy, consulta la sección "[Especificaciones para los ejecutores hospedados en {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% ifversion ghae %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."
|
||||
{% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Python and PyPy. You don't have to install anything! For a full list of up-to-date software and the pre-installed versions of Python and PyPy, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
|
||||
{% endif %}
|
||||
|
||||
## Prerrequisitos
|
||||
## Prerequisites
|
||||
|
||||
Deberías estar familiarizado con YAML y la sintaxis para las {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Aprende sobre {% data variables.product.prodname_actions %}](/actions/learn-github-actions)".
|
||||
You should be familiar with YAML and the syntax for {% data variables.product.prodname_actions %}. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
|
||||
|
||||
Te recomendamos que tengas una comprensión básica de Python, PyPy y pip. Para obtener más información, consulta:
|
||||
- [Comenzar con Python](https://www.python.org/about/gettingstarted/)
|
||||
We recommend that you have a basic understanding of Python, PyPy, and pip. For more information, see:
|
||||
- [Getting started with Python](https://www.python.org/about/gettingstarted/)
|
||||
- [PyPy](https://pypy.org/)
|
||||
- [Administrador de paquetes pip](https://pypi.org/project/pip/)
|
||||
- [Pip package manager](https://pypi.org/project/pip/)
|
||||
|
||||
{% data reusables.actions.enterprise-setup-prereq %}
|
||||
|
||||
## Comenzar con la plantilla de flujo de trabajo de Python
|
||||
## Starting with the Python workflow template
|
||||
|
||||
{% data variables.product.prodname_dotcom %} proporciona una plantilla de flujo de trabajo de Python que debería funcionar para la mayoría de los proyectos de Python. Esta guía incluye ejemplos que puedes usar para personalizar la plantilla. Para obtener más información, consulta la [Plantilla de flujo de trabajo de Python](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml).
|
||||
{% data variables.product.prodname_dotcom %} provides a Python workflow template that should work for most Python projects. This guide includes examples that you can use to customize the template. For more information, see the [Python workflow template](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml).
|
||||
|
||||
Para comenzar rápidamente, agrega la plantilla al directorio `.github/workflows` de tu repositorio.
|
||||
To get started quickly, add the template to the `.github/workflows` directory of your repository.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -60,7 +60,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.6, 3.7, 3.8, 3.9]
|
||||
python-version: ["3.6", "3.7", "3.8", "3.9"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -85,25 +85,25 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Especificar una versión de Python
|
||||
## Specifying a Python version
|
||||
|
||||
Para usar una versión preinstalada de Python o PyPy en un ejecutor alojado {% data variables.product.prodname_dotcom %}, usa la acción `setup-python`. Esta acción encuentra una versión específica de Python o PyPy desde la caché de herramientas en cada ejecutor y agrega los binarios necesarios para `PATH`, que persiste durante el resto del trabajo. Si una versión específica de Python no está pre-instalada en el cache de herramientas, la acción `setup-python` se descargará y configurará la versión adecuada desde el repositorio <a hrhttps://github.com/actions/python-versions">`python-versions`</a>.
|
||||
To use a pre-installed version of Python or PyPy on a {% data variables.product.prodname_dotcom %}-hosted runner, use the `setup-python` action. This action finds a specific version of Python or PyPy from the tools cache on each runner and adds the necessary binaries to `PATH`, which persists for the rest of the job. If a specific version of Python is not pre-installed in the tools cache, the `setup-python` action will download and set up the appropriate version from the [`python-versions`](https://github.com/actions/python-versions) repository.
|
||||
|
||||
Usar el `setup-action` es la forma recomendada de usar Python con {% data variables.product.prodname_actions %} porque garantiza un comportamiento consistente a través de diferentes ejecutores y diferentes versiones de Python. Si estás usando un ejecutor alojado, debes instalar Python y añadirlo a `PATH`. Para obtener más información, consulta la acción [`setup-python`](https://github.com/marketplace/actions/setup-python).
|
||||
Using the `setup-python` action is the recommended way of using Python with {% data variables.product.prodname_actions %} because it ensures consistent behavior across different runners and different versions of Python. If you are using a self-hosted runner, you must install Python and add it to `PATH`. For more information, see the [`setup-python` action](https://github.com/marketplace/actions/setup-python).
|
||||
|
||||
La tabla que aparece a continuación describe las ubicaciones de la caché de herramientas en cada ejecutor alojado {% data variables.product.prodname_dotcom %}.
|
||||
The table below describes the locations for the tools cache in each {% data variables.product.prodname_dotcom %}-hosted runner.
|
||||
|
||||
| | Ubuntu | Mac | Windows |
|
||||
| --------------------------------------- | ------------------------------- | ---------------------------------------- | ------------------------------------------ |
|
||||
| **Directorio de caché de herramientas** | `/opt/hostedtoolcache/*` | `/Users/runner/hostedtoolcache/*` | `C:\hostedtoolcache\windows\ *` |
|
||||
| **Caché de herramientas de Python** | `/opt/hostedtoolcache/Python/*` | `/Users/runner/hostedtoolcache/Python/*` | `C:\hostedtoolcache\windows\Python\ *` |
|
||||
| **Caché de la herramienta de PyPy** | `/opt/hostedtoolcache/PyPy/*` | `/Users/runner/hostedtoolcache/PyPy/*` | `C:\hostedtoolcache\windows\PyPy\ *` |
|
||||
|| Ubuntu | Mac | Windows |
|
||||
|------|-------|------|----------|
|
||||
|**Tool Cache Directory** |`/opt/hostedtoolcache/*`|`/Users/runner/hostedtoolcache/*`|`C:\hostedtoolcache\windows\*`|
|
||||
|**Python Tool Cache**|`/opt/hostedtoolcache/Python/*`|`/Users/runner/hostedtoolcache/Python/*`|`C:\hostedtoolcache\windows\Python\*`|
|
||||
|**PyPy Tool Cache**|`/opt/hostedtoolcache/PyPy/*`|`/Users/runner/hostedtoolcache/PyPy/*`|`C:\hostedtoolcache\windows\PyPy\*`|
|
||||
|
||||
Si estás utilizando un ejecutor auto-hospedado, puedes configurarlo para utilizar la acción `setup-python` para administrar tus dependencias. Para obtener más información, consulta la sección [utilizar setup-python con un ejecutor auto-hospedado](https://github.com/actions/setup-python#using-setup-python-with-a-self-hosted-runner) en el README de `setup-python`.
|
||||
If you are using a self-hosted runner, you can configure the runner to use the `setup-python` action to manage your dependencies. For more information, see [using setup-python with a self-hosted runner](https://github.com/actions/setup-python#using-setup-python-with-a-self-hosted-runner) in the `setup-python` README.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} admite la sintaxis de control de versiones semántico. Para obtener más información, consulta "[Usar versiones semánticas](https://docs.npmjs.com/about-semantic-versioning#using-semantic-versioning-to-specify-update-types-your-package-can-accept)" y "[Especificación de control de versiones semántico](https://semver.org/)."
|
||||
{% data variables.product.prodname_dotcom %} supports semantic versioning syntax. For more information, see "[Using semantic versioning](https://docs.npmjs.com/about-semantic-versioning#using-semantic-versioning-to-specify-update-types-your-package-can-accept)" and the "[Semantic versioning specification](https://semver.org/)."
|
||||
|
||||
### Usar múltiples versiones de Python
|
||||
### Using multiple Python versions
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -116,10 +116,10 @@ jobs:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
# Puedes usar las versiones de PyPy en python-version.
|
||||
# You can use PyPy versions in python-version.
|
||||
# For example, pypy2 and pypy3
|
||||
matrix:
|
||||
python-version: [2.7, 3.6, 3.7, 3.8, 3.9]
|
||||
python-version: ["2.7", "3.6", "3.7", "3.8", "3.9"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -133,9 +133,9 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Usar una versión de Python específica
|
||||
### Using a specific Python version
|
||||
|
||||
Puedes configurar una versión específica de Python. Por ejemplo, 3.8. Como alternativa, puedes utilizar una sintaxis de versión semántica para obtener el último lanzamiento menor. En este ejemplo se usa el último lanzamiento menor de Python 3.
|
||||
You can configure a specific version of python. For example, 3.8. Alternatively, you can use semantic version syntax to get the latest minor release. This example uses the latest minor release of Python 3.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -163,11 +163,11 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Excluir una versión
|
||||
### Excluding a version
|
||||
|
||||
Si especificas una versión de Python que no está disponible, `setup-python` falla con un error como: `##[error]Versión 3.4 con Arch x64 not found`. El mensaje de error incluye las versiones disponibles.
|
||||
If you specify a version of Python that is not available, `setup-python` fails with an error such as: `##[error]Version 3.4 with arch x64 not found`. The error message includes the available versions.
|
||||
|
||||
También puedes usar la palabra clave `exclude` en tu flujo de trabajo si hay una configuración de Python que no deseas ejecutar. Para obtener más información, consulta "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy)".
|
||||
You can also use the `exclude` keyword in your workflow if there is a configuration of Python that you do not wish to run. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy)."
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -182,30 +182,30 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
python-version: [3.6, 3.7, 3.8, 3.9, pypy2, pypy3]
|
||||
python-version: ["3.6", "3.7", "3.8", "3.9", pypy2, pypy3]
|
||||
exclude:
|
||||
- os: macos-latest
|
||||
python-version: 3.6
|
||||
python-version: "3.6"
|
||||
- os: windows-latest
|
||||
python-version: 3.6
|
||||
python-version: "3.6"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Usar la versión de Python predeterminada
|
||||
### Using the default Python version
|
||||
|
||||
Recomendamos usar `setup-python` para configurar la versión de Python que se usa en tus flujos de trabajo porque ayuda a hacer que tus dependencias sean explícitas. Si no usas `setup-python`, la versión predeterminada de Python establecida en `PATH` se usa en cualquier shell cuando llamas `python`. La versión predeterminada de Python varía entre los ejecutores alojados {% data variables.product.prodname_dotcom %}, que pueden causar cambios inesperados o usar una versión anterior a la esperada.
|
||||
We recommend using `setup-python` to configure the version of Python used in your workflows because it helps make your dependencies explicit. If you don't use `setup-python`, the default version of Python set in `PATH` is used in any shell when you call `python`. The default version of Python varies between {% data variables.product.prodname_dotcom %}-hosted runners, which may cause unexpected changes or use an older version than expected.
|
||||
|
||||
| Ejecutor alojado {% data variables.product.prodname_dotcom %} | Descripción |
|
||||
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Ubuntu | Los ejecutores de Ubuntu tienen múltiples versiones de Python del sistema instaladas bajo `/usr/bin/python` y `/usr/bin/python3`. Las versiones de Python que vienen empaquetadas con Ubuntu se suman a las versiones que {% data variables.product.prodname_dotcom %} instala en la caché de herramientas. |
|
||||
| Windows | Excluyendo las versiones de Python que están en la caché de herramientas, Windows no se envía con una versión equivalente de Python del sistema. Para mantener un comportamiento consistente con otros ejecutores y para permitir que Python se use de forma integrada sin la acción `setup-python`, {% data variables.product.prodname_dotcom %} agrega algunas versiones desde la caché de herramientas a `PATH`. |
|
||||
| macOS | Los ejecutores de macOS tienen más de una versión de Python del sistema instalada, además de las versiones que son parte de la caché de las herramientas. Las versiones de Python del sistema se encuentran en el directorio `/usr/local/Cellar/python/*`. |
|
||||
| {% data variables.product.prodname_dotcom %}-hosted runner | Description |
|
||||
|----|----|
|
||||
| Ubuntu | Ubuntu runners have multiple versions of system Python installed under `/usr/bin/python` and `/usr/bin/python3`. The Python versions that come packaged with Ubuntu are in addition to the versions that {% data variables.product.prodname_dotcom %} installs in the tools cache. |
|
||||
| Windows | Excluding the versions of Python that are in the tools cache, Windows does not ship with an equivalent version of system Python. To maintain consistent behavior with other runners and to allow Python to be used out-of-the-box without the `setup-python` action, {% data variables.product.prodname_dotcom %} adds a few versions from the tools cache to `PATH`.|
|
||||
| macOS | The macOS runners have more than one version of system Python installed, in addition to the versions that are part of the tools cache. The system Python versions are located in the `/usr/local/Cellar/python/*` directory. |
|
||||
|
||||
## Instalar dependencias
|
||||
## Installing dependencies
|
||||
|
||||
Los ejecutores alojados {% data variables.product.prodname_dotcom %} tienen instalado el administrador del paquete pip. Puedes usar pip para instalar dependencias desde el registro del paquete de PyPI antes de construir y probar tu código. Por ejemplo, el YAML que aparece a continuación instala o actualiza el instalador del paquete `pip` y los paquetes `setuptools` y `wheel`.
|
||||
{% 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.
|
||||
|
||||
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>".
|
||||
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>."
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -220,9 +220,9 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Archivo de requisitos
|
||||
### Requirements file
|
||||
|
||||
Después de actualizar `pip`, un siguiente paso típico es instalar dependencias desde *requirements.txt*. Para obtener más información, consulta la sección de [pip](https://pip.pypa.io/en/stable/cli/pip_install/#example-requirements-file).
|
||||
After you update `pip`, a typical next step is to install dependencies from *requirements.txt*. For more information, see [pip](https://pip.pypa.io/en/stable/cli/pip_install/#example-requirements-file).
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -239,48 +239,34 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Dependencias de almacenamiento en caché
|
||||
### Caching Dependencies
|
||||
|
||||
Cuando utilizas ejecutores hospedados en {% data variables.product.prodname_dotcom %}, puedes guardar las dependencias pip en el caché utilizando una clave única y restaurar las dependencias cuando ejecutes flujos de trabajo subsecuentes, utilizando 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>".
|
||||
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).
|
||||
|
||||
Pip almacena en caché las dependencias en diferentes ubicaciones, en función del sistema operativo del ejecutor. La ruta que necesitarás para almacenar en caché puede diferir del ejemplo de Ubuntu que aparece a continuación, según el sistema operativo que uses. Para obtener más información, consulta los [Ejemplos de almacenamiento en caché de Python](https://github.com/actions/cache/blob/main/examples.md#python---pip).
|
||||
The following example caches dependencies for pip.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
# This path is specific to Ubuntu
|
||||
path: ~/.cache/pip
|
||||
# Look to see if there is a cache hit for the corresponding requirements file
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-
|
||||
- name: Install dependencies
|
||||
run: pip install -r requirements.txt
|
||||
python-version: '3.9'
|
||||
cache: 'pip'
|
||||
- run: pip install -r requirements.txt
|
||||
- run: pip test
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
{% note %}
|
||||
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.
|
||||
|
||||
**Nota:** Dependiendo de la cantidad de dependencias, puede ser más rápido usar la caché de dependencias. Los proyectos con muchas dependencias de gran tamaño deberían ver un aumento del rendimiento, ya que reduce el tiempo necesario para la descarga. Los proyectos con menos dependencias pueden no ver un aumento significativo del rendimiento e incluso pueden ver una ligera disminución debido a la manera en que pip instala las dependencias almacenadas en caché. El rendimiento varía de un proyecto a otro.
|
||||
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.
|
||||
|
||||
{% endnote %}
|
||||
## Testing your code
|
||||
|
||||
## Probar tu código
|
||||
You can use the same commands that you use locally to build and test your code.
|
||||
|
||||
Puedes usar los mismos comandos que usas de forma local para construir y probar tu código.
|
||||
### Testing with pytest and pytest-cov
|
||||
|
||||
### Pruebas con pytest y pytest-cov
|
||||
|
||||
Este ejemplo instala o actualiza `pytest` y `pytest-cov`. A continuación, se ejecutan y se emiten pruebas en formato JUnit, mientras que los resultados de la cobertura de código se emiten en Cobertura. Para obtener más información, consulta [JUnit](https://junit.org/junit5/) y [Cobertura](https://cobertura.github.io/Cobertura/).
|
||||
This example installs or upgrades `pytest` and `pytest-cov`. Tests are then run and output in JUnit format while code coverage results are output in Cobertura. For more information, see [JUnit](https://junit.org/junit5/) and [Cobertura](https://cobertura.github.io/cobertura/).
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -302,9 +288,9 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Usar Flake8 para el código lint
|
||||
### Using Flake8 to lint code
|
||||
|
||||
En el siguiente ejemplo se instala o actualiza `flake8` y se usa para limpiar todos los archivos. Para obtener más información, consulta [Flake8](http://flake8.pycqa.org/en/latest/).
|
||||
The following example installs or upgrades `flake8` and uses it to lint all files. For more information, see [Flake8](http://flake8.pycqa.org/en/latest/).
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -326,11 +312,11 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
El paso de limpieza de código se configuró con `continue-on-error: true`. Esto prevendrá que el flujo de trabajo falle si el paso de limpieza de código no tiene éxito. Una vez que hayas abordado todos los errores de limpieza de código, puedes eliminar esta opción para que el flujo de trabajo atrape propuestas nuevas.
|
||||
The linting step has `continue-on-error: true` set. This will keep the workflow from failing if the linting step doesn't succeed. Once you've addressed all of the linting errors, you can remove this option so the workflow will catch new issues.
|
||||
|
||||
### Ejecutar pruebas con tox
|
||||
### Running tests with tox
|
||||
|
||||
Con {% data variables.product.prodname_actions %}, puedes ejecutar pruebas con tox y repartir el trabajo a través de múltiples trabajos. Necesitarás invocar tox utilizando la opción `-e py` para elegir la versión de Python en tu `PATH`, en lugar de especificar una versión específica. Para obtener más información, consulta [tox](https://tox.readthedocs.io/en/latest/).
|
||||
With {% data variables.product.prodname_actions %}, you can run tests with tox and spread the work across multiple jobs. You'll need to invoke tox using the `-e py` option to choose the version of Python in your `PATH`, rather than specifying a specific version. For more information, see [tox](https://tox.readthedocs.io/en/latest/).
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -344,7 +330,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python: [3.7, 3.8, 3.9]
|
||||
python: ["3.7", "3.8", "3.9"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -360,11 +346,11 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Empaquetar datos de flujo de trabajo como artefactos
|
||||
## Packaging workflow data as artifacts
|
||||
|
||||
Puedes cargar artefactos para ver después de que se complete un flujo de trabajo. Por ejemplo, es posible que debas guardar los archivos de registro, los vaciados de memoria, los resultados de las pruebas o las capturas de pantalla. 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)".
|
||||
You can upload artifacts to view after a workflow completes. For example, you may need to save log files, core dumps, test results, or screenshots. For more information, see "[Persisting workflow data using artifacts](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts)."
|
||||
|
||||
En el siguiente ejemplo se muestra cómo puedes usar la acción `upload-artifact` para archivar los resultados de las pruebas de ejecución `pytest`. Para obtener más información, consulta la acción [`upload-artifact`](https://github.com/actions/upload-artifact).
|
||||
The following example demonstrates how you can use the `upload-artifact` action to archive test results from running `pytest`. For more information, see the [`upload-artifact` action](https://github.com/actions/upload-artifact).
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
@@ -378,7 +364,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.6, 3.7, 3.8, 3.9]
|
||||
python-version: ["3.6", "3.7", "3.8", "3.9"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -403,11 +389,11 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Publicar en registros de paquetes
|
||||
## Publishing to package registries
|
||||
|
||||
Puedes configurar tu flujo de trabajo para publicar tu paquete de Python a un registro de paquetes una vez que pasen tus pruebas de IC. Esta sección demuestra cómo puedes utilizar {% data variables.product.prodname_actions %} para cargar to paquete a PyPI cada vez que [publicas un lanzamiento](/github/administering-a-repository/managing-releases-in-a-repository).
|
||||
You can configure your workflow to publish your Python package to a package registry once your CI tests pass. This section demonstrates how you can use {% data variables.product.prodname_actions %} to upload your package to PyPI each time you [publish a release](/github/administering-a-repository/managing-releases-in-a-repository).
|
||||
|
||||
Para este ejemplo, necesitarás crear dos [Tokens de la API de PyPI](https://pypi.org/help/#apitoken). Puedes utilizar secretos para almacenar los tokens de acceso o las credenciales que se necesitan publicar en tu paquete. Para obtener más información, consulta "[Crear y usar secretos cifrados](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)."
|
||||
For this example, you will need to create two [PyPI API tokens](https://pypi.org/help/#apitoken). You can use secrets to store the access tokens or credentials needed to publish your package. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)."
|
||||
|
||||
```yaml{:copy}
|
||||
{% data reusables.actions.actions-not-certified-by-github-comment %}
|
||||
@@ -440,4 +426,4 @@ jobs:
|
||||
password: {% raw %}${{ secrets.PYPI_API_TOKEN }}{% endraw %}
|
||||
```
|
||||
|
||||
Para obtener más información sobre la plantilla de flujo de trabajo, consulta a [`python-publish`](https://github.com/actions/starter-workflows/blob/main/ci/python-publish.yml).
|
||||
For more information about the template workflow, see [`python-publish`](https://github.com/actions/starter-workflows/blob/main/ci/python-publish.yml).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Crear una acción de contenedor de Docker
|
||||
intro: Esta guía te muestra los pasos mínimos necesarios para desarrollar una acción de contenedor Docker.
|
||||
title: Creating a Docker container action
|
||||
intro: 'This guide shows you the minimal steps required to build a Docker container action. '
|
||||
redirect_from:
|
||||
- /articles/creating-a-docker-container-action
|
||||
- /github/automating-your-workflow-with-github-actions/creating-a-docker-container-action
|
||||
@@ -22,58 +22,58 @@ shortTitle: Docker container action
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Introducción
|
||||
## Introduction
|
||||
|
||||
Esta guía te muestra los pasos mínimos necesarios para desarrollar una acción de contenedor de Docker. Para centrar esta guía en los componentes necesarios para empaquetar la acción, la funcionalidad del código de la acción es mínima. La acción imprime "Hello World" en los registros o "Hello [who-to-greet]"si proporcionas un nombre personalizado.
|
||||
In this guide, you'll learn about the basic components needed to create and use a packaged Docker container action. To focus this guide on the components needed to package the action, the functionality of the action's code is minimal. The action prints "Hello World" in the logs or "Hello [who-to-greet]" if you provide a custom name.
|
||||
|
||||
Una vez que completes este proyecto, deberías comprender cómo crear tu propia acción de contenedor Docker y probarla en un flujo de trabajo.
|
||||
Once you complete this project, you should understand how to build your own Docker container action and test it in a workflow.
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-reqs-docker %}
|
||||
|
||||
{% data reusables.github-actions.context-injection-warning %}
|
||||
|
||||
## Prerrequisitos
|
||||
## Prerequisites
|
||||
|
||||
Puede ser útil tener un entendimiento básico de variables de entorno de las {% data variables.product.prodname_actions %} y del sistema de archivos de contenedor Docker:
|
||||
You may find it helpful to have a basic understanding of {% data variables.product.prodname_actions %} environment variables and the Docker container filesystem:
|
||||
|
||||
- "[Usar variables de entorno](/actions/automating-your-workflow-with-github-actions/using-environment-variables)"
|
||||
- "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)"
|
||||
{% ifversion ghae %}
|
||||
- "[Sistema de archivos para contenedores de Docker](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)."
|
||||
{% else %}
|
||||
- "[Entornos virtuales para {% data variables.product.prodname_dotcom %}](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners#docker-container-filesystem)"
|
||||
- "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)."
|
||||
{% else %}
|
||||
- "[Virtual environments for {% data variables.product.prodname_dotcom %}](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners#docker-container-filesystem)"
|
||||
{% endif %}
|
||||
|
||||
Antes de comenzar, necesitarás crear un repositorio de {% data variables.product.prodname_dotcom %}.
|
||||
Before you begin, you'll need to create a {% data variables.product.prodname_dotcom %} repository.
|
||||
|
||||
1. Crea un repositorio nuevo en {% data variables.product.product_location %}. Puedes elegir cualquier nombre de repositorio o usar "hello-world-docker-action" como este ejemplo. Para obtener más información, consulta "[Crear un repositorio nuevo](/articles/creating-a-new-repository)".
|
||||
1. Create a new repository on {% data variables.product.product_location %}. You can choose any repository name or use "hello-world-docker-action" like this example. For more information, see "[Create a new repository](/articles/creating-a-new-repository)."
|
||||
|
||||
1. Clona el repositorio en tu computadora. Para obtener más información, consulta "[Clonar un repositorio](/articles/cloning-a-repository)".
|
||||
1. Clone your repository to your computer. For more information, see "[Cloning a repository](/articles/cloning-a-repository)."
|
||||
|
||||
1. Desde tu terminal, cambia los directorios en el repositorio nuevo.
|
||||
1. From your terminal, change directories into your new repository.
|
||||
|
||||
```shell{:copy}
|
||||
cd hello-world-docker-action
|
||||
```
|
||||
|
||||
## Crear un Dockerfile
|
||||
## Creating a Dockerfile
|
||||
|
||||
En tu nuevo directorio `hello-world-docker-action`, crea un nuevo archivo `Dockerfile`. Para obtener más información, consulta al "[Sporte de Dockerfile para {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions)".
|
||||
In your new `hello-world-docker-action` directory, create a new `Dockerfile` file. Make sure that your filename is capitalized correctly (use a capital `D` but not a capital `f`) if you're having issues. For more information, see "[Dockerfile support for {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions)."
|
||||
|
||||
**Dockerfile**
|
||||
```Dockerfile{:copy}
|
||||
# Imagen del contenedor que ejecuta tu código
|
||||
# Container image that runs your code
|
||||
FROM alpine:3.10
|
||||
|
||||
# Copias tu archivo de código de tu repositorio de acción a la ruta `/`del contenedor
|
||||
# Copies your code file from your action repository to the filesystem path `/` of the container
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
# Archivo del código a ejecutar cuando comienza el contedor del docker (`entrypoint.sh`)
|
||||
# Code file to execute when the docker container starts up (`entrypoint.sh`)
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
```
|
||||
|
||||
## Crear un archivo de metadatos de una acción
|
||||
## Creating an action metadata file
|
||||
|
||||
Crea un archivo `action.yml` nuevo en el directorio `hello-world-docker` que creaste anteriormente. Para obtener más información, consulta la sección "[Sintaxis de metadatos para {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)".
|
||||
Create a new `action.yml` file in the `hello-world-docker-action` directory you created above. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)."
|
||||
|
||||
{% raw %}
|
||||
**action.yml**
|
||||
@@ -97,19 +97,19 @@ runs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Este metado define un parámetro de entrada `who-to-greet` y uno de salida `time`. Para pasar las entradas al contenedor de Docker, debes declarar la entrada usando `inputs` y pasarla a la palabra clave `args`.
|
||||
This metadata defines one `who-to-greet` input and one `time` output parameter. To pass inputs to the Docker container, you must declare the input using `inputs` and pass the input in the `args` keyword.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} creará una imagen desde tu `Dockerfile` y ejecutar comandos en nuevo contenedor usando esta imagen.
|
||||
{% data variables.product.prodname_dotcom %} will build an image from your `Dockerfile`, and run commands in a new container using this image.
|
||||
|
||||
## Escribir el código de la acción
|
||||
## Writing the action code
|
||||
|
||||
Puedes elegir cualquier imagen de Docker base y, por lo tanto, cualquier idioma para tu acción. El siguiente ejemplo de script del shell usa la variable de entrada `who-to-greet` para imprimir "Hello [who-to-greet]" en el archivo de registro.
|
||||
You can choose any base Docker image and, therefore, any language for your action. The following shell script example uses the `who-to-greet` input variable to print "Hello [who-to-greet]" in the log file.
|
||||
|
||||
A continuación, el script obtiene la hora actual y la establece como una variable de salida que pueden usar las acciones que se ejecutan posteriormente en unt rabajo. Para que {% data variables.product.prodname_dotcom %} reconozca las variables de salida, debes usar un comando de flujo de trabajo en una sintaxis específica: `echo ":: set-Output Name =<output name>::<value>"`. Para obtener más información, consulta "[Comandos de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter)".
|
||||
Next, the script gets the current time and sets it as an output variable that actions running later in a job can use. In order for {% data variables.product.prodname_dotcom %} to recognize output variables, you must use a workflow command in a specific syntax: `echo "::set-output name=<output name>::<value>"`. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter)."
|
||||
|
||||
1. Crea un archivo `entrypoint.sh` nuevo en el directorio `hello-world-docker-action`.
|
||||
1. Create a new `entrypoint.sh` file in the `hello-world-docker-action` directory.
|
||||
|
||||
1. Agrega el siguiente código a tu archivo `entrypoint.sh`.
|
||||
1. Add the following code to your `entrypoint.sh` file.
|
||||
|
||||
**entrypoint.sh**
|
||||
```shell{:copy}
|
||||
@@ -119,32 +119,32 @@ A continuación, el script obtiene la hora actual y la establece como una variab
|
||||
time=$(date)
|
||||
echo "::set-output name=time::$time"
|
||||
```
|
||||
Si `entrypoint.sh` se ejecuta sin errores, el estado de la acción se establece en `exitoso`. También puedes establecer explícitamente códigos de salida en el código de tu acción para proporcionar el estado de una acción. Para obtener más información, consulta la sección "[Configurar los códigos de salida para las acciones](/actions/creating-actions/setting-exit-codes-for-actions)".
|
||||
If `entrypoint.sh` executes without any errors, the action's status is set to `success`. You can also explicitly set exit codes in your action's code to provide an action's status. For more information, see "[Setting exit codes for actions](/actions/creating-actions/setting-exit-codes-for-actions)."
|
||||
|
||||
1. Haz ejecutable tu archivo `entrypoint.sh` ejecutando el siguiente comando en tu sistema.
|
||||
1. Make your `entrypoint.sh` file executable by running the following command on your system.
|
||||
|
||||
```shell{:copy}
|
||||
$ chmod +x entrypoint.sh
|
||||
```
|
||||
|
||||
## Crear un README
|
||||
## Creating a README
|
||||
|
||||
Puedes crear un archivo README para que las personas sepan cómo usar tu acción. Un archivo README resulta más útil cuando planificas el intercambio de tu acción públicamente, pero también es una buena manera de recordarle a tu equipo cómo usar la acción.
|
||||
To let people know how to use your action, you can create a README file. A README is most helpful when you plan to share your action publicly, but is also a great way to remind you or your team how to use the action.
|
||||
|
||||
En tu directorio <`hello-world-docker-action`, crea un archivo `README.md` que especifique la siguiente información:
|
||||
In your `hello-world-docker-action` directory, create a `README.md` file that specifies the following information:
|
||||
|
||||
- Una descripción detallada de lo que hace la acción.
|
||||
- Argumentos necesarios de entrada y salida.
|
||||
- Argumentos opcionales de entrada y salida.
|
||||
- Secretos que utiliza la acción.
|
||||
- Variables de entorno que utiliza la acción.
|
||||
- Un ejemplo de cómo usar tu acción en un flujo de trabajo.
|
||||
- A detailed description of what the action does.
|
||||
- Required input and output arguments.
|
||||
- Optional input and output arguments.
|
||||
- Secrets the action uses.
|
||||
- Environment variables the action uses.
|
||||
- An example of how to use your action in a workflow.
|
||||
|
||||
**README.md**
|
||||
```markdown{:copy}
|
||||
# Acción de docker Hello world
|
||||
# Hello world docker action
|
||||
|
||||
Esta acción imprime "Hello World" o "Hello" + el nombre de una persona a quien saludar en el registro.
|
||||
This action prints "Hello World" or "Hello" + the name of a person to greet to the log.
|
||||
|
||||
## Inputs
|
||||
|
||||
@@ -158,35 +158,35 @@ Esta acción imprime "Hello World" o "Hello" + el nombre de una persona a quien
|
||||
|
||||
The time we greeted you.
|
||||
|
||||
## Ejemplo de uso
|
||||
## Example usage
|
||||
|
||||
uses: actions/hello-world-docker-action@v1
|
||||
with:
|
||||
who-to-greet: 'Mona the Octocat'
|
||||
```
|
||||
|
||||
## Confirmar, etiquetar y subir tu acción a {% data variables.product.product_name %}
|
||||
## Commit, tag, and push your action to {% data variables.product.product_name %}
|
||||
|
||||
Desde tu terminal, confirma tus archivos `action.yml`, `entrypoint.sh`, `Dockerfile`, y `README.md`.
|
||||
From your terminal, commit your `action.yml`, `entrypoint.sh`, `Dockerfile`, and `README.md` files.
|
||||
|
||||
También se recomienda agregarles una etiqueta de versión a los lanzamientos de tu acción. Para obtener más información sobre el control de versiones de tu acción, consulta la sección "[Acerca de las acciones](/actions/automating-your-workflow-with-github-actions/about-actions#using-release-management-for-actions)".
|
||||
It's best practice to also add a version tag for releases of your action. For more information on versioning your action, see "[About actions](/actions/automating-your-workflow-with-github-actions/about-actions#using-release-management-for-actions)."
|
||||
|
||||
```shell{:copy}
|
||||
git add action.yml entrypoint.sh Dockerfile README.md
|
||||
git commit -m "Mi primera acción está lista"
|
||||
git tag -a -m "Mi primera versión de acción" v1
|
||||
git commit -m "My first action is ready"
|
||||
git tag -a -m "My first action release" v1
|
||||
git push --follow-tags
|
||||
```
|
||||
|
||||
## Probar tu acción en un flujo de trabajo
|
||||
## Testing out your action in a workflow
|
||||
|
||||
Ahora estás listo para probar tu acción en un flujo de trabajo. Cuando una acción esté en un repositorio privado, la acción solo puede usarse en flujos de trabajo en el mismo repositorio. Las acciones públicas pueden ser usadas por flujos de trabajo en cualquier repositorio.
|
||||
Now you're ready to test your action out in a workflow. When an action is in a private repository, the action can only be used in workflows in the same repository. Public actions can be used by workflows in any repository.
|
||||
|
||||
{% data reusables.actions.enterprise-marketplace-actions %}
|
||||
|
||||
### Ejemplo usando una acción pública
|
||||
### Example using a public action
|
||||
|
||||
El siguiente código de flujo de trabajo utiliza la acción completa _hello world_ en el repositorio público [`actions/hello-world-docker-action`](https://github.com/actions/hello-world-docker-action). Copia el siguiente código de ejemplo de flujo de trabajo en un archivo `.github/workflows/main.yml`, pero reemplaza `actions/hello-world-docker-action` con tu nombre de repositorio y acción. También puedes reemplazar la entrada `who-to-greet` con tu nombre. {% ifversion fpt or ghec %}Public actions can be used even if they're not published to {% data variables.product.prodname_marketplace %}. Para obtener más información, consulta la sección "[Publicar una acción](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)". {% endif %}
|
||||
The following workflow code uses the completed _hello world_ action in the public [`actions/hello-world-docker-action`](https://github.com/actions/hello-world-docker-action) repository. Copy the following workflow example code into a `.github/workflows/main.yml` file, but replace the `actions/hello-world-docker-action` with your repository and action name. You can also replace the `who-to-greet` input with your name. {% ifversion fpt or ghec %}Public actions can be used even if they're not published to {% data variables.product.prodname_marketplace %}. For more information, see "[Publishing an action](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)." {% endif %}
|
||||
|
||||
{% raw %}
|
||||
**.github/workflows/main.yml**
|
||||
@@ -209,9 +209,9 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Ejemplo usando una acción privada
|
||||
### Example using a private action
|
||||
|
||||
Copia el siguiente ejemplo de código de flujo de trabajo en un archivo `.github/workflows/main.yml` en tu repositorio de acción. También puedes reemplazar la entrada `who-to-greet` con tu nombre. {% ifversion fpt or ghec %}This private action can't be published to {% data variables.product.prodname_marketplace %}, and can only be used in this repository.{% endif %}
|
||||
Copy the following example workflow code into a `.github/workflows/main.yml` file in your action's repository. You can also replace the `who-to-greet` input with your name. {% ifversion fpt or ghec %}This private action can't be published to {% data variables.product.prodname_marketplace %}, and can only be used in this repository.{% endif %}
|
||||
|
||||
{% raw %}
|
||||
**.github/workflows/main.yml**
|
||||
@@ -238,10 +238,10 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Desde tu repositorio, da clic en la pestaña de **Acciones** y selecciona la última ejecución de flujo de trabajo. {% ifversion fpt or ghes > 3.0 or ghae or ghec %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}Debrás ver la frase "Hello Mona the Octocat" o el nombre que utilizaste para la entrada `who-to-greet` y la marca de tiempo impresa en la bitácora.
|
||||
From your repository, click the **Actions** tab, and select the latest workflow run. {% ifversion fpt or ghes > 3.0 or ghae or ghec %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log.
|
||||
|
||||
{% ifversion fpt or ghes > 3.0 or ghae or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
@@ -10,4 +10,3 @@ children:
|
||||
- /about-continuous-deployment
|
||||
- /deploying-with-github-actions
|
||||
---
|
||||
|
||||
|
||||
@@ -11,4 +11,3 @@ children:
|
||||
- /deploying-to-azure-app-service
|
||||
- /deploying-to-google-kubernetes-engine
|
||||
---
|
||||
|
||||
|
||||
@@ -9,4 +9,3 @@ versions:
|
||||
children:
|
||||
- /viewing-deployment-history
|
||||
---
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: About security hardening with OpenID Connect
|
||||
shortTitle: About security hardening with OpenID Connect
|
||||
intro: OpenID Connect allows your workflows to exchange short-lived tokens directly from your cloud provider.
|
||||
intro: 'OpenID Connect allows your workflows to exchange short-lived tokens directly from your cloud provider.'
|
||||
miniTocMaxHeadingLevel: 4
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghae: issue-4856
|
||||
ghae: 'issue-4856'
|
||||
ghec: '*'
|
||||
type: tutorial
|
||||
topics:
|
||||
@@ -17,9 +17,9 @@ topics:
|
||||
|
||||
## Overview of OpenID Connect
|
||||
|
||||
{% data variables.product.prodname_actions %} workflows are often designed to access a cloud provider (such as AWS, Azure, GCP, or HashiCorp Vault) in order to deploy software or use the cloud's services. Before the workflow can access these resources, it will supply credentials, such as a password or token, to the cloud provider. These credentials are usually stored as a secret in {% data variables.product.prodname_dotcom %}, and the workflow presents this secret to the cloud provider every time it runs.
|
||||
{% data variables.product.prodname_actions %} workflows are often designed to access a cloud provider (such as AWS, Azure, GCP, or HashiCorp Vault) in order to deploy software or use the cloud's services. Before the workflow can access these resources, it will supply credentials, such as a password or token, to the cloud provider. These credentials are usually stored as a secret in {% data variables.product.prodname_dotcom %}, and the workflow presents this secret to the cloud provider every time it runs.
|
||||
|
||||
However, using hardcoded secrets requires you to create credentials in the cloud provider and then duplicate them in {% data variables.product.prodname_dotcom %} as a secret.
|
||||
However, using hardcoded secrets requires you to create credentials in the cloud provider and then duplicate them in {% data variables.product.prodname_dotcom %} as a secret.
|
||||
|
||||
With OpenID Connect (OIDC), you can take a different approach by configuring your workflow to request a short-lived access token directly from the cloud provider. Your cloud provider also needs to support OIDC on their end, and you must configure a trust relationship that controls which workflows are able to request the access tokens. Providers that currently support OIDC include Amazon Web Services, Azure, Google Cloud Platform, and HashiCorp Vault, among others.
|
||||
|
||||
@@ -27,7 +27,7 @@ With OpenID Connect (OIDC), you can take a different approach by configuring you
|
||||
|
||||
By updating your workflows to use OIDC tokens, you can adopt the following good security practices:
|
||||
|
||||
- **No cloud secrets**: You won't need to duplicate your cloud credentials as long-lived {% data variables.product.prodname_dotcom %} secrets. Instead, you can configure the OIDC trust on your cloud provider, and then update your workflows to request a short-lived access token from the cloud provider through OIDC.
|
||||
- **No cloud secrets**: You won't need to duplicate your cloud credentials as long-lived {% data variables.product.prodname_dotcom %} secrets. Instead, you can configure the OIDC trust on your cloud provider, and then update your workflows to request a short-lived access token from the cloud provider through OIDC.
|
||||
- **Authentication and authorization management**: You have more granular control over how workflows can use credentials, using your cloud provider's authentication (authN) and authorization (authZ) tools to control access to cloud resources.
|
||||
- **Rotating credentials**: With OIDC, your cloud provider issues a short-lived access token that is only valid for a single workflow run, and then automatically expires.
|
||||
|
||||
@@ -48,7 +48,7 @@ When you configure your cloud to trust {% data variables.product.prodname_dotcom
|
||||
|
||||
- Before granting an access token, your cloud provider checks that the [`subject`](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) and other claims used to set conditions in its trust settings match those in the request's JSON Web Token (JWT). As a result, you must take care to correctly define the _subject_ and other conditions in your cloud provider.
|
||||
- The OIDC trust configuration steps and the syntax to set conditions for cloud roles (using _Subject_ and other claims) will vary depending on which cloud provider you're using. For some examples, see "[Examples](#examples)."
|
||||
|
||||
|
||||
### Understanding the OIDC token
|
||||
|
||||
Each workflow run requests an OIDC token from {% data variables.product.prodname_dotcom %}'s OIDC provider, which responds with an automatically generated JSON web token (JWT) that is unique for each workflow job where it is generated. During a workflow run, the OIDC token is presented to the cloud provider. To validate the token, the cloud provider checks if the OIDC token's subject and other claims are a match for the conditions that were preconfigured on the cloud role's OIDC trust definition.
|
||||
@@ -65,6 +65,7 @@ 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",
|
||||
"ref": "refs/heads/main",
|
||||
"sha": "example-sha",
|
||||
@@ -87,46 +88,46 @@ The following example OIDC token uses a subject (`sub`) that references a job en
|
||||
}
|
||||
```
|
||||
|
||||
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 https://token.actions.githubusercontent.com/.well-known/openid-configuration.
|
||||
|
||||
The token includes the standard audience, issuer, and subject claims:
|
||||
|
||||
| Claim | Descripción |
|
||||
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `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` |
|
||||
| `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. |
|
||||
| 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` |
|
||||
| `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:
|
||||
|
||||
| Claim | Descripción |
|
||||
| ----- | --------------------------------------------------------------------- |
|
||||
| `alg` | _(Algorithm)_ The algorithm used by the OIDC provider. |
|
||||
| `exp` | _(Expires at)_ Identifies the expiry time of the JWT. |
|
||||
| `iat` | _(Issued at)_ The time when the JWT was issued. |
|
||||
| `jti` | _(JWT token identifier)_ Unique identifier for the OIDC token. |
|
||||
| `kid` | _(Key identifier)_ Unique key for the OIDC token. |
|
||||
| `nbf` | _(Not before)_ JWT is not valid for use before this time. |
|
||||
| `typ` | _(Type)_ Describes the type of token. This is a JSON Web Token (JWT). |
|
||||
| Claim | Description |
|
||||
| ----------- | ---------------------- |
|
||||
| `alg`| _(Algorithm)_ The algorithm used by the OIDC provider. |
|
||||
| `exp`| _(Expires at)_ Identifies the expiry time of the JWT. |
|
||||
| `iat`| _(Issued at)_ The time when the JWT was issued. |
|
||||
| `jti`| _(JWT token identifier)_ Unique identifier for the OIDC token. |
|
||||
| `kid`| _(Key identifier)_ Unique key for the OIDC token. |
|
||||
| `nbf`| _(Not before)_ JWT is not valid for use before this time. |
|
||||
| `typ`| _(Type)_ Describes the type of token. This is a JSON Web Token (JWT). |
|
||||
|
||||
The token also includes custom claims provided by {% data variables.product.prodname_dotcom %}:
|
||||
|
||||
| Claim | Descripción |
|
||||
| ------------------ | ------------------------------------------------------------------ |
|
||||
| `actor (actor)` | The user 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` | El nombre del evento que activó la ejecución del flujo de trabajo. |
|
||||
| `head_ref` | The source branch of the pull request in a workflow run. |
|
||||
| `job_workflow_ref` | This is the ref path to the reusable workflow used by this job. |
|
||||
| `ref` | _(Reference)_ The git ref that triggered the workflow run. |
|
||||
| `ref_type` | The type of `ref`, for example: "branch". |
|
||||
| `repositorio` | The repository from where the workflow is running. |
|
||||
| `repository_owner` | The name 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 time this workflow run was been retried. |
|
||||
| `flujo de trabajo` | El nombre del flujo de trabajo. |
|
||||
| Claim | Description |
|
||||
| ----------- | ---------------------- |
|
||||
| `actor`| The user 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. |
|
||||
| `head_ref`| The source branch of the pull request in a workflow run. |
|
||||
| `job_workflow_ref`| This is the ref path to the reusable workflow used by this job. For more information, see "["Using OpenID Connect with reusable workflows"](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)." |
|
||||
| `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_owner`| The name 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 time this workflow run was been retried. |
|
||||
| `workflow`| The name of the workflow. |
|
||||
|
||||
### Defining trust conditions on cloud roles using OIDC claims
|
||||
|
||||
@@ -134,7 +135,8 @@ With OIDC, a {% data variables.product.prodname_actions %} workflow requires a t
|
||||
|
||||
Audience and Subject claims are typically used in combination while setting conditions on the cloud role/resources to scope its access to the GitHub workflows.
|
||||
- **Audience**: By default, this value uses the URL of the organization or repository owner. This can be used to set a condition that only the workflows in the specific organization can access the cloud role.
|
||||
- **Subject**: Has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. There are also many additional claims supported in the OIDC token that can also be used for setting these conditions.
|
||||
- **Subject**: Has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment.
|
||||
There are also many additional claims supported in the OIDC token that can also be used for setting these conditions.
|
||||
|
||||
In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions.
|
||||
|
||||
@@ -144,7 +146,7 @@ In addition, your cloud provider could allow you to assign a role to the access
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Ejemplos
|
||||
### Examples
|
||||
|
||||
The following examples demonstrate how to use "Subject" as a condition. The [subject](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) uses information from the workflow run's [`job` context](/actions/learn-github-actions/contexts#job-context), and instructs your cloud provider that access token requests may only be granted for requests from workflows running in specific branches, environments. The following sections describe some common subjects you can use.
|
||||
|
||||
@@ -152,49 +154,49 @@ The following examples demonstrate how to use "Subject" as a condition. The [sub
|
||||
|
||||
You can configure a subject that filters for a specific [environment](/actions/deployment/using-environments-for-deployment) name. In this example, the workflow run must have originated from a job that has an environment named `Production`, in a repository named `octo-repo` that is owned by the `octo-org` organization:
|
||||
|
||||
| | |
|
||||
| -------- | --------------------------------------------------- |
|
||||
| Syntax: | `repo:orgName/repoName:environment:environmentName` |
|
||||
| Ejemplo: | `repo:octo-org/octo-repo:environment:Production` |
|
||||
| | |
|
||||
| ------ | ----------- |
|
||||
| Syntax: | `repo:orgName/repoName:environment:environmentName` |
|
||||
| Example:| `repo:octo-org/octo-repo:environment:Production` |
|
||||
|
||||
#### Filtering for `pull_request` events
|
||||
|
||||
You can configure a subject that filters for the [`pull_request`](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags) event. In this example, the workflow run must have been triggered by a `pull_request` event in a repository named `octo-repo` that is owned by the `octo-org` organization:
|
||||
|
||||
|
||||
| | |
|
||||
| -------- | -------------------------------------- |
|
||||
| Syntax: | `repo:orgName/repoName:pull_request` |
|
||||
| Ejemplo: | `repo:octo-org/octo-repo:pull_request` |
|
||||
| | |
|
||||
| ------ | ----------- |
|
||||
| Syntax: | `repo:orgName/repoName:pull_request` |
|
||||
| Example:| `repo:octo-org/octo-repo:pull_request` |
|
||||
|
||||
#### Filtering for a specific branch
|
||||
|
||||
You can configure a subject that filters for a specific branch name. In this example, the workflow run must have originated from a branch named `demo-branch`, in a repository named `octo-repo` that is owned by the `octo-org` organization:
|
||||
|
||||
| | |
|
||||
| -------- | ---------------------------------------------------- |
|
||||
| Syntax: | `repo:orgName/repoName:ref:refs/heads/branchName` |
|
||||
| Ejemplo: | `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` |
|
||||
| | |
|
||||
| ------ | ----------- |
|
||||
| Syntax: | `repo:orgName/repoName:ref:refs/heads/branchName` |
|
||||
| Example:| `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` |
|
||||
|
||||
#### Filtering for a specific tag
|
||||
|
||||
You can create a subject that filters for specific tag. In this example, the workflow run must have originated with a tag named `demo-tag`, in a repository named `octo-repo` that is owned by the `octo-org` organization:
|
||||
|
||||
| | |
|
||||
| -------- | ------------------------------------------------ |
|
||||
| Syntax: | `repo:orgName/repoName:ref:refs/tags/tagName` |
|
||||
| Ejemplo: | `repo:octo-org/octo-repo:ref:refs/tags/demo-tag` |
|
||||
| | |
|
||||
| ------ | ----------- |
|
||||
| Syntax: | `repo:orgName/repoName:ref:refs/tags/tagName` |
|
||||
| Example:| `repo:octo-org/octo-repo:ref:refs/tags/demo-tag` |
|
||||
|
||||
### Configuring the subject in your cloud provider
|
||||
|
||||
To configure the subject in your cloud provider's trust relationship, you must add the subject string to its trust configuration. The following examples demonstrate how various cloud providers can accept the same `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` subject in different ways:
|
||||
|
||||
| | |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| Amazon Web Services | `"token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/demo-branch"` |
|
||||
| Azure | `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` |
|
||||
| Plataforma de Google Cloud | `(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"` |
|
||||
| | |
|
||||
| ------ | ----------- |
|
||||
| Amazon Web Services | `"token.actions.githubusercontent.com: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" ` |
|
||||
|
||||
For more information, see the guides listed in "[Enabling OpenID Connect for your cloud provider](#enabling-openid-connect-for-your-cloud-provider)."
|
||||
|
||||
@@ -204,13 +206,13 @@ To update your custom actions to authenticate using OIDC, you can use `getIDToke
|
||||
|
||||
You could also use a `curl` command to request the JWT, using the following environment variables:
|
||||
|
||||
| | |
|
||||
| -------------------------------- | ------------------------------------------------------------------------- |
|
||||
| `ACTIONS_ID_TOKEN_REQUEST_URL` | The URL for {% data variables.product.prodname_dotcom %}'s OIDC provider. |
|
||||
| `ACTIONS_ID_TOKEN_REQUEST_TOKEN` | Bearer token for the request to the OIDC provider. |
|
||||
| | |
|
||||
| ------ | ----------- |
|
||||
| `ACTIONS_ID_TOKEN_REQUEST_URL` | The URL for {% data variables.product.prodname_dotcom %}'s OIDC provider. |
|
||||
| `ACTIONS_ID_TOKEN_REQUEST_TOKEN` | Bearer token for the request to the OIDC provider. |
|
||||
|
||||
|
||||
Por ejemplo:
|
||||
For example:
|
||||
|
||||
```shell{:copy}
|
||||
curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=api://AzureADTokenExchange"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: Configuring OpenID Connect in Amazon Web Services
|
||||
shortTitle: Configuring OpenID Connect in Amazon Web Services
|
||||
intro: Use OpenID Connect within your workflows to authenticate with Amazon Web Services.
|
||||
intro: 'Use OpenID Connect within your workflows to authenticate with Amazon Web Services.'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghae: issue-4856
|
||||
ghae: 'issue-4856'
|
||||
ghec: '*'
|
||||
type: tutorial
|
||||
topics:
|
||||
@@ -15,13 +15,13 @@ topics:
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
## Resumen
|
||||
## Overview
|
||||
|
||||
OpenID Connect (OIDC) allows your {% data variables.product.prodname_actions %} workflows to access resources in Amazon Web Services (AWS), without needing to store the AWS credentials as long-lived {% data variables.product.prodname_dotcom %} secrets.
|
||||
OpenID Connect (OIDC) allows your {% data variables.product.prodname_actions %} workflows to access resources in Amazon Web Services (AWS), without needing to store the AWS credentials as long-lived {% data variables.product.prodname_dotcom %} secrets.
|
||||
|
||||
This guide explains how to configure AWS to trust {% data variables.product.prodname_dotcom %}'s OIDC as a federated identity, and includes a workflow example for the [`aws-actions/configure-aws-credentials`](https://github.com/aws-actions/configure-aws-credentials) that uses tokens to authenticate to AWS and access resources.
|
||||
|
||||
## Prerrequisitos
|
||||
## Prerequisites
|
||||
|
||||
{% data reusables.actions.oidc-link-to-intro %}
|
||||
|
||||
@@ -38,16 +38,18 @@ To add the {% data variables.product.prodname_dotcom %} OIDC provider to IAM, se
|
||||
|
||||
To configure the role and trust in IAM, see the AWS documentation for ["Assuming a Role"](https://github.com/aws-actions/configure-aws-credentials#assuming-a-role) and ["Creating a role for web identity or OpenID connect federation"](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html).
|
||||
|
||||
By default, the validation only includes the audience (`aud`) condition, so you must manually add a subject (`sub`) condition. Edit the trust relationship to add the `sub` field to the validation conditions. Por ejemplo:
|
||||
By default, the validation only includes the audience (`aud`) condition, so you must manually add a subject (`sub`) condition. Edit the trust relationship to add the `sub` field to the validation conditions. For example:
|
||||
|
||||
```yaml{:copy}
|
||||
```json{:copy}
|
||||
"Condition": {
|
||||
"StringEquals": {
|
||||
"token.actions.githubusercontent.com:aud": "https://github.com/octo-org",
|
||||
"token.actions.githubusercontent.com:sub": "token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch"
|
||||
"token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Actualizar tu flujo de trabajo de {% data variables.product.prodname_actions %}
|
||||
## Updating your {% data variables.product.prodname_actions %} workflow
|
||||
|
||||
To update your workflows for OIDC, you will need to make two changes to your YAML:
|
||||
1. Add permissions settings for the token.
|
||||
@@ -55,14 +57,14 @@ To update your workflows for OIDC, you will need to make two changes to your YAM
|
||||
|
||||
### Adding permissions settings
|
||||
|
||||
The workflow will require a `permissions` setting with a defined [`id-token`](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) value. If you only need to fetch an OIDC token for a single job, then this permission can be set within that job. Por ejemplo:
|
||||
The workflow will require a `permissions` setting with a defined [`id-token`](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) value. If you only need to fetch an OIDC token for a single job, then this permission can be set within that job. For example:
|
||||
|
||||
```yaml{:copy}
|
||||
permissions:
|
||||
id-token: write
|
||||
```
|
||||
|
||||
You may need to specify additional permissions here, depending on your workflow's requirements.
|
||||
You may need to specify additional permissions here, depending on your workflow's requirements.
|
||||
|
||||
### Requesting the access token
|
||||
|
||||
@@ -70,7 +72,7 @@ The `aws-actions/configure-aws-credentials` action receives a JWT from the {% da
|
||||
|
||||
- `<example-bucket-name>`: Add the name of your S3 bucket here.
|
||||
- `<role-to-assume>`: Replace the example with your AWS role.
|
||||
- `<example-aws-region>`: Add the name of your AWs region here.
|
||||
- `<example-aws-region>`: Add the name of your AWS region here.
|
||||
|
||||
```yaml{:copy}
|
||||
# Sample workflow to access AWS resources when workflow is tied to branch
|
||||
@@ -96,9 +98,9 @@ jobs:
|
||||
with:
|
||||
role-to-assume: arn:aws:iam::1234567890:role/example-role
|
||||
role-session-name: samplerolesession
|
||||
aws-region: ${{ env.AWS_REGION }}
|
||||
aws-region: {% raw %}${{ env.AWS_REGION }}{% endraw %}
|
||||
# Upload a file to AWS s3
|
||||
- name: Copy index.html to s3
|
||||
run: |
|
||||
aws s3 cp ./index.html s3://${{ env.BUCKET_NAME }}/
|
||||
aws s3 cp ./index.html s3://{% raw %}${{ env.BUCKET_NAME }}{% endraw %}/
|
||||
```
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
title: Configuring OpenID Connect in Azure
|
||||
shortTitle: Configuring OpenID Connect in Azure
|
||||
intro: Use OpenID Connect within your workflows to authenticate with Azure.
|
||||
intro: 'Use OpenID Connect within your workflows to authenticate with Azure.'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghae: issue-4856
|
||||
ghae: 'issue-4856'
|
||||
ghec: '*'
|
||||
type: tutorial
|
||||
topics:
|
||||
@@ -15,13 +15,13 @@ topics:
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
## Resumen
|
||||
## Overview
|
||||
|
||||
OpenID Connect (OIDC) allows your {% data variables.product.prodname_actions %} workflows to access resources in Azure, without needing to store the Azure credentials as long-lived {% data variables.product.prodname_dotcom %} secrets.
|
||||
OpenID Connect (OIDC) allows your {% data variables.product.prodname_actions %} workflows to access resources in Azure, without needing to store the Azure credentials as long-lived {% data variables.product.prodname_dotcom %} secrets.
|
||||
|
||||
This guide gives an overview of how to configure Azure to trust {% data variables.product.prodname_dotcom %}'s OIDC as a federated identity, and includes a workflow example for the [`azure/login`](https://github.com/Azure/login) action that uses tokens to authenticate to Azure and access resources.
|
||||
|
||||
## Prerrequisitos
|
||||
## Prerequisites
|
||||
|
||||
{% data reusables.actions.oidc-link-to-intro %}
|
||||
|
||||
@@ -33,8 +33,8 @@ This guide gives an overview of how to configure Azure to trust {% data variable
|
||||
|
||||
To configure the OIDC identity provider in Azure, you will need to perform the following configuration. For instructions on making these changes, refer to [the Azure documentation](https://docs.microsoft.com/en-us/azure/developer/github/connect-from-azure).
|
||||
|
||||
1. Create an Active Directory application and a service principal.
|
||||
2. Add federated credentials for the Active Directory application.
|
||||
1. Create an Azure Active Directory application and a service principal.
|
||||
2. Add federated credentials for the Azure Active Directory application.
|
||||
3. Create {% data variables.product.prodname_dotcom %} secrets for storing Azure configuration.
|
||||
|
||||
Additional guidance for configuring the identity provider:
|
||||
@@ -42,7 +42,7 @@ Additional guidance for configuring the identity provider:
|
||||
- For security hardening, make sure you've reviewed ["Configuring the OIDC trust with the cloud"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud). For an example, see ["Configuring the subject in your cloud provider"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-subject-in-your-cloud-provider).
|
||||
- For the `audience` setting, `api://AzureADTokenExchange` is the recommended value, but you can also specify other values here.
|
||||
|
||||
## Actualizar tu flujo de trabajo de {% data variables.product.prodname_actions %}
|
||||
## Updating your {% data variables.product.prodname_actions %} workflow
|
||||
|
||||
To update your workflows for OIDC, you will need to make two changes to your YAML:
|
||||
1. Add permissions settings for the token.
|
||||
@@ -50,14 +50,14 @@ To update your workflows for OIDC, you will need to make two changes to your YAM
|
||||
|
||||
### Adding permissions settings
|
||||
|
||||
The workflow will require a `permissions` setting with a defined [`id-token`](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) value. If you only need to fetch an OIDC token for a single job, then this permission can be set within that job. Por ejemplo:
|
||||
The workflow will require a `permissions` setting with a defined [`id-token`](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) value. If you only need to fetch an OIDC token for a single job, then this permission can be set within that job. For example:
|
||||
|
||||
```yaml{:copy}
|
||||
permissions:
|
||||
id-token: write
|
||||
```
|
||||
|
||||
You may need to specify additional permissions here, depending on your workflow's requirements.
|
||||
You may need to specify additional permissions here, depending on your workflow's requirements.
|
||||
|
||||
### Requesting the access token
|
||||
|
||||
@@ -65,36 +65,28 @@ The [`azure/login`](https://github.com/Azure/login) action receives a JWT from t
|
||||
|
||||
The following example exchanges an OIDC ID token with Azure to receive an access token, which can then be used to access cloud resources.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: Run Azure Login with OpenID Connect
|
||||
name: Run Azure Login with OIDC
|
||||
on: [push]
|
||||
|
||||
permissions:
|
||||
id-token: write
|
||||
|
||||
contents: read
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Installing CLI-beta for OpenID Connect
|
||||
run: |
|
||||
cd ../..
|
||||
CWD="$(pwd)"
|
||||
python3 -m venv oidc-venv
|
||||
. oidc-venv/bin/activate
|
||||
echo "activated environment"
|
||||
python3 -m pip install -q --upgrade pip
|
||||
echo "started installing cli beta"
|
||||
pip install -q --extra-index-url https://azcliprod.blob.core.windows.net/beta/simple/ azure-cli
|
||||
echo "***************installed cli beta*******************"
|
||||
echo "$CWD/oidc-venv/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: 'Az CLI login'
|
||||
uses: azure/login@v1.4.0
|
||||
with:
|
||||
client-id: {% raw %}${{ secrets.AZURE_CLIENTID }}{% endraw %}
|
||||
tenant-id: {% raw %}${{ secrets.AZURE_TENANTID }}{% endraw %}
|
||||
subscription-id: {% raw %}${{ secrets.AZURE_SUBSCRIPTIONID }}{% endraw %}
|
||||
- name: 'Az CLI login'
|
||||
uses: azure/login@v1
|
||||
with:
|
||||
client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
||||
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
||||
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
||||
|
||||
- name: 'Run az commands'
|
||||
run: |
|
||||
az account show
|
||||
az group list
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
@@ -13,5 +13,5 @@ children:
|
||||
- /configuring-openid-connect-in-google-cloud-platform
|
||||
- /configuring-openid-connect-in-hashicorp-vault
|
||||
- /configuring-openid-connect-in-cloud-providers
|
||||
- /using-openid-connect-with-reusable-workflows
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Guides for GitHub Actions
|
||||
intro: 'Estas guías para {% data variables.product.prodname_actions %} incluyen casos de uso y ejemplos específicos que te ayudarán a configurar los flujos de trabajo.'
|
||||
intro: 'These guides for {% data variables.product.prodname_actions %} include specific use cases and examples to help you configure workflows.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
layout: product-sublanding
|
||||
versions:
|
||||
@@ -13,6 +13,7 @@ learningTracks:
|
||||
- continuous_integration
|
||||
- continuous_deployment
|
||||
- deploy_to_the_cloud
|
||||
- '{% ifversion ghec or ghes or ghae %}adopting_github_actions_for_your_enterprise{% endif %}'
|
||||
- hosting_your_own_runners
|
||||
- create_actions
|
||||
includeGuides:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de los ejecutores autoalojados
|
||||
intro: 'Puedes alojar tus propios ejecutores y personalizar el entorno utilizado para ejecutar trabajos en tus flujos de trabajo de {% data variables.product.prodname_actions %}.'
|
||||
title: About self-hosted runners
|
||||
intro: 'You can host your own runners and customize the environment used to run jobs in your {% data variables.product.prodname_actions %} workflows.'
|
||||
redirect_from:
|
||||
- /github/automating-your-workflow-with-github-actions/about-self-hosted-runners
|
||||
- /actions/automating-your-workflow-with-github-actions/about-self-hosted-runners
|
||||
@@ -17,83 +17,83 @@ type: overview
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca de los ejecutores autoalojados
|
||||
## About self-hosted runners
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-description %} Los ejecutores auto-hospedados pueden ser físicos, virtuales, estar en un contenedor, en los servidores del usuario, o en la nube.
|
||||
{% data reusables.github-actions.self-hosted-runner-description %} Self-hosted runners can be physical, virtual, in a container, on-premises, or in a cloud.
|
||||
|
||||
Puedes agregar ejecutores auto-hospedados en varios niveles dentro de la jerarquía de administración:
|
||||
- Los ejecutores a nivel de repositorio están dedicados a un solo repositorio.
|
||||
- Los ejecutores a nivel de organización pueden procesar jobs para varios repositorios dentro de una organización.
|
||||
- Los ejecutores a nivel de empresa puede asignarse a varias organizaciones en una cuenta empresarial.
|
||||
You can add self-hosted runners at various levels in the management hierarchy:
|
||||
- Repository-level runners are dedicated to a single repository.
|
||||
- Organization-level runners can process jobs for multiple repositories in an organization.
|
||||
- Enterprise-level runners can be assigned to multiple organizations in an enterprise account.
|
||||
|
||||
La máquina de tu ejecutor se conecta a{% data variables.product.product_name %} utilizando la aplicación para ejecutores auto-hospedados de {% data variables.product.prodname_actions %}. {% data reusables.github-actions.runner-app-open-source %} Cuando se lanza una nueva versión, la aplicación del ejecutor se actualiza automáticamente cuando se asigna un job al ejecutor, o dentro de una semana de lanzamiento si dicho ejecutor no se ha asignado a ningún job.
|
||||
Your runner machine connects to {% data variables.product.product_name %} using the {% data variables.product.prodname_actions %} self-hosted runner application. {% data reusables.github-actions.runner-app-open-source %} When a new version is released, the runner application automatically updates itself when a job is assigned to the runner, or within a week of release if the runner hasn't been assigned any jobs.
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-auto-removal %}
|
||||
|
||||
Para obtener más información acerca de la instalación y el uso de los ejecutores autoalojados, consulta "[Agregar ejecutores autoalojados](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)" y "[Usar ejecutores autoalojados en un flujo de trabajo](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)."
|
||||
For more information about installing and using self-hosted runners, see "[Adding self-hosted runners](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)" and "[Using self-hosted runners in a workflow](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)."
|
||||
|
||||
## Diferencias entre ejecutores alojados en {% data variables.product.prodname_dotcom %} y autoalojados
|
||||
## Differences between {% data variables.product.prodname_dotcom %}-hosted and self-hosted runners
|
||||
|
||||
Los ejecutores alojados en {% data variables.product.prodname_dotcom %} ofrecen una manera más rápida y sencilla de ejecutar tus flujos de trabajo, mientras que los ejecutores autoalojados son una manera altamente configurable de ejecutar flujos de trabajo en tu propio entorno personalizado.
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners offer a quicker, simpler way to run your workflows, while self-hosted runners are a highly configurable way to run workflows in your own custom environment.
|
||||
|
||||
**Ejecutores alojados en {% data variables.product.prodname_dotcom %}:**
|
||||
- Reciben actualizaciones automáticas para el sistema operativo, paquetes y herramientas pre-instalados, y la aplicación del ejecutor auto-hospedado.
|
||||
- Son administrados y mantenidos por {% data variables.product.prodname_dotcom %}.
|
||||
- Proporcionan una instancia limpia para cada ejecución de trabajo.
|
||||
- Usan minutos libres en tu plan de {% data variables.product.prodname_dotcom %}, con tarifas por minuto aplicadas después de superar los minutos libres.
|
||||
**{% data variables.product.prodname_dotcom %}-hosted runners:**
|
||||
- Receive automatic updates for the operating system, preinstalled packages and tools, and the self-hosted runner application.
|
||||
- Are managed and maintained by {% data variables.product.prodname_dotcom %}.
|
||||
- Provide a clean instance for every job execution.
|
||||
- Use free minutes on your {% data variables.product.prodname_dotcom %} plan, with per-minute rates applied after surpassing the free minutes.
|
||||
|
||||
**Ejecutores autoalojados:**
|
||||
- Reciben actualizaciones automáticas únicamente para la aplicación del ejecutor auto-hospedado. Eres responsable de actualizar el sistema operativo y el resto del software.
|
||||
- Puedes usar los servicios en la nube o las máquinas locales que ya pagas.
|
||||
- Son personalizables para tu hardware, sistema operativo, software y requisitos de seguridad.
|
||||
- No es necesario tener una instancia limpia para cada ejecución de trabajo.
|
||||
- Son de uso gratuito con las {% data variables.product.prodname_actions %}, pero eres responsable del costo de mantener tus máquinas de ejecutores.
|
||||
**Self-hosted runners:**
|
||||
- Receive automatic updates for the self-hosted runner application only. You are responsible for updating the operating system and all other software.
|
||||
- Can use cloud services or local machines that you already pay for.
|
||||
- Are customizable to your hardware, operating system, software, and security requirements.
|
||||
- Don't need to have a clean instance for every job execution.
|
||||
- Are free to use with {% data variables.product.prodname_actions %}, but you are responsible for the cost of maintaining your runner machines.
|
||||
|
||||
## Requisitos para máquinas de ejecutores autoalojados
|
||||
## Requirements for self-hosted runner machines
|
||||
|
||||
Puedes usar cualquier máquina como ejecutor autoalojado, siempre que cumpla con estos requisitos:
|
||||
You can use any machine as a self-hosted runner as long at it meets these requirements:
|
||||
|
||||
* Puedes instalar y ejecutar la aplicación del ejecutor autoalojado en la máquina. Para obtener más información, consulta la sección "[Arquitecturas y sistemas operativos compatibles para ejecutores auto-hospedados](#supported-architectures-and-operating-systems-for-self-hosted-runners)".
|
||||
* La máquina puede comunicarse con {% data variables.product.prodname_actions %}. Para obtener más información, consulta "[La comunicación entre ejecutores autoalojados y {% data variables.product.prodname_dotcom %}](#communication-between-self-hosted-runners-and-github)."
|
||||
* La máquina tiene suficientes recursos de hardware para el tipo de flujos de trabajo que planeas ejecutar. La propia aplicación del ejecutor autoalojado solo requiere unos recursos mínimos.
|
||||
* Si quieres ejecutar flujos de trabajo que usan acciones del contenedor Docker o contenedores de servicio, debes usar una máquina Linux y Docker debe estar instalado.
|
||||
* You can install and run the self-hosted runner application on the machine. For more information, see "[Supported architectures and operating systems for self-hosted runners](#supported-architectures-and-operating-systems-for-self-hosted-runners)."
|
||||
* The machine can communicate with {% data variables.product.prodname_actions %}. For more information, see "[Communication between self-hosted runners and {% data variables.product.prodname_dotcom %}](#communication-between-self-hosted-runners-and-github)."
|
||||
* The machine has enough hardware resources for the type of workflows you plan to run. The self-hosted runner application itself only requires minimal resources.
|
||||
* If you want to run workflows that use Docker container actions or service containers, you must use a Linux machine and Docker must be installed.
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghec %}
|
||||
## Autoescalar tus ejecutores auto-hospedados
|
||||
## Autoscaling your self-hosted runners
|
||||
|
||||
Puedes aumentar o disminuir la cantidad de ejecutores auto-hospedados automáticamente en tu ambiente como respuesta a los eventos de webhook que recibes. Para obtener más información, consulta la sección "[Autoescalar con ejecutores auto-hospedados](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)".
|
||||
You can automatically increase or decrease the number of self-hosted runners in your environment in response to the webhook events you receive. For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Límites de uso
|
||||
## Usage limits
|
||||
|
||||
Hay algunos límites para el uso de las {% data variables.product.prodname_actions %} cuando se utilizan ejecutores auto-hospedados. Estos límites están sujetos a cambios.
|
||||
There are some limits on {% data variables.product.prodname_actions %} usage when using self-hosted runners. These limits are subject to change.
|
||||
|
||||
{% data reusables.github-actions.usage-workflow-run-time %}
|
||||
- **Tiempo de cola de espera para el job** - Cada job para ejecutores auto-hospedados puede ponerse en cola de espera por un máximo de 24 horas. Si un ejecutor auto-hospedado no comienza a ejecutar el job dentro de este límite de tiempo, dicho job se terminará y no se podrá completar.
|
||||
- **Job queue time** - Each job for self-hosted runners can be queued for a maximum of 24 hours. If a self-hosted runner does not start executing the job within this limit, the job is terminated and fails to complete.
|
||||
{% data reusables.github-actions.usage-api-requests %}
|
||||
- **Matiz de jobs** - {% data reusables.github-actions.usage-matrix-limits %}
|
||||
- **Job matrix** - {% data reusables.github-actions.usage-matrix-limits %}
|
||||
{% data reusables.github-actions.usage-workflow-queue-limits %}
|
||||
|
||||
## Continuidad de los flujos de trabajo para los ejecutores auto-hospedados
|
||||
## Workflow continuity for self-hosted runners
|
||||
|
||||
{% data reusables.github-actions.runner-workflow-continuity %}
|
||||
|
||||
## Sistemas operativos y arquitecturas compatibles para los ejecutores auto-hospedados
|
||||
## Supported architectures and operating systems for self-hosted runners
|
||||
|
||||
Los siguientes sistemas operativos son compatibles con la aplicación del ejecutor auto-hospedado.
|
||||
The following operating systems are supported for the self-hosted runner application.
|
||||
|
||||
### Linux
|
||||
|
||||
- Red Hat Enterprise Linux 7 o superior
|
||||
- CentOS 7 o superior
|
||||
- Red Hat Enterprise Linux 7 or later
|
||||
- CentOS 7 or later
|
||||
- Oracle Linux 7
|
||||
- Fedora 29 o posterior
|
||||
- Debian 9 o posterior
|
||||
- Ubuntu 16.04 o posterior
|
||||
- Linux Mint 18 o posterior
|
||||
- openSUSE 15 o posterior
|
||||
- SUSE Enterprise Linux (SLES) 12 SP2 o posterior
|
||||
- Fedora 29 or later
|
||||
- Debian 9 or later
|
||||
- Ubuntu 16.04 or later
|
||||
- Linux Mint 18 or later
|
||||
- openSUSE 15 or later
|
||||
- SUSE Enterprise Linux (SLES) 12 SP2 or later
|
||||
|
||||
### Windows
|
||||
|
||||
@@ -106,82 +106,130 @@ Los siguientes sistemas operativos son compatibles con la aplicación del ejecut
|
||||
|
||||
### macOS
|
||||
|
||||
- macOS 10.13 (High Sierra) o posterior
|
||||
- macOS 10.13 (High Sierra) or later
|
||||
|
||||
### Arquitecturas
|
||||
### Architectures
|
||||
|
||||
Las siguientes arquitecturas de procesamiento son compatibles para la aplicación del ejecutor auto-hospedado.
|
||||
The following processor architectures are supported for the self-hosted runner application.
|
||||
|
||||
- `x64` - Linux, macOS, Windows.
|
||||
- `ARM64` - Solo Linux.
|
||||
- `ARM32` - Solo Linux.
|
||||
- `ARM64` - Linux only.
|
||||
- `ARM32` - Linux only.
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
## La comunicación entre ejecutores autoalojados y {{ site.data.variables.product.prodname_dotcom }}
|
||||
## Supported actions on self-hosted runners
|
||||
|
||||
Podría requerirse algo de configuración adicional para utilizar acciones de {% data variables.product.prodname_dotcom_the_website %} con {% data variables.product.prodname_ghe_server %} o para utilizar las acciones de `actions/setup-LANGUAGE` con ejecutores auto-hospedados que no tengan acceso a internet. Para obtener más información, consulta "[La comunicación entre ejecutores autoalojados y {% data variables.product.prodname_dotcom %}](#communication-between-self-hosted-runners-and-github)."
|
||||
Some extra configuration might be required to use actions from {% data variables.product.prodname_dotcom_the_website %} with {% data variables.product.prodname_ghe_server %}, or to use the `actions/setup-LANGUAGE` actions with self-hosted runners that do not have internet access. For more information, see "[Managing access to actions from {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/github-actions/managing-access-to-actions-from-githubcom)" and contact your {% data variables.product.prodname_enterprise %} site administrator.
|
||||
|
||||
{% endif %}
|
||||
|
||||
## La comunicación entre ejecutores autoalojados y {% data variables.product.product_name %}
|
||||
## Communication between self-hosted runners and {% data variables.product.product_name %}
|
||||
|
||||
El ejecutor auto-hospedado sondea a {% data variables.product.product_name %} para solicitar actualizaciones de aplicaciones y para revisar si hay jobs en cola para su procesamiento. El ejecutor auto-hospedado utiliza un _sondeo largo_ de HTTPS que abre una conexión a {% data variables.product.product_name %} por 50 segundos, y si no recibe respuesta alguna, expira y crea un nuevo sondeo largo. La aplicación debe estar ejecutándose en la máquina para aceptar y ejecutar trabajos de {% data variables.product.prodname_actions %}.
|
||||
The self-hosted runner polls {% data variables.product.product_name %} to retrieve application updates and to check if any jobs are queued for processing. The self-hosted runner uses a HTTPS _long poll_ that opens a connection to {% data variables.product.product_name %} for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run {% data variables.product.prodname_actions %} jobs.
|
||||
|
||||
{% data reusables.actions.self-hosted-runner-ports-protocols %}
|
||||
|
||||
{% ifversion ghae %}
|
||||
Debes asegurarte de que el ejecutor auto-hospedado tenga un acceso adecuado a la red para comunicarse con la
|
||||
URL de {% data variables.product.prodname_ghe_managed %}.
|
||||
Por ejemplo, si el nombre de tu instancia es `octoghae`, entonces necesitarás permitir que el ejecutor auto-hospedado acceda a `octoghae.github.com`.
|
||||
Si utilizas una lista blanca para las direcciones IP para tu
|
||||
You must ensure that the self-hosted runner has appropriate network access to communicate with the {% data variables.product.prodname_ghe_managed %} URL and its subdomains.
|
||||
For example, if your instance name is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.githubenterprise.com`, `api.octoghae.githubenterprise.com`, and `codeload.octoghae.githubenterprise.com`.
|
||||
|
||||
cuenta empresarial u organizacional de {% data variables.product.prodname_dotcom %}, debes agregar la dirección IP de tu ejecutor auto-.hospedado a dicha lista. Para obtener más información, consulta "[Administrar las direcciones IP permitidas en tu organización](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)".
|
||||
If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
Debes asegurarte de que la máquina tiene el acceso a la red adecuado para comunicarte con las URL de {% data variables.product.prodname_dotcom %} listadas a continuación.
|
||||
Since the self-hosted runner opens a connection to {% data variables.product.prodname_dotcom %}, you do not need to allow {% data variables.product.prodname_dotcom %} to make inbound connections to your self-hosted runner.
|
||||
|
||||
You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} hosts listed below. Some hosts are required for essential runner operations, while other hosts are only required for certain functionality.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Algunos de los dominios que se listan a continuación se configuraron utilizando registros de `CNAME`. Algunos cortafuegos podrían requerir que agregues reglas recursivamente apra todos los registros de `CNAME`. Nota que los registros de `CNAME` podrían cambiar en el futuro y que solo los dominios que se listan a continuación seguirán siendo constantes.
|
||||
**Note:** Some of the domains listed below are configured using `CNAME` records. Some firewalls might require you to add rules recursively for all `CNAME` records. Note that the `CNAME` records might change in the future, and that only the domains listed below will remain constant.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
**Needed for essential operations:**
|
||||
|
||||
```
|
||||
github.com
|
||||
api.github.com
|
||||
```
|
||||
|
||||
**Needed for downloading actions:**
|
||||
|
||||
```
|
||||
codeload.github.com
|
||||
```
|
||||
|
||||
**Needed for runner version updates:**
|
||||
|
||||
```
|
||||
objects.githubusercontent.com
|
||||
objects-origin.githubusercontent.com
|
||||
github-releases.githubusercontent.com
|
||||
github-registry-files.githubusercontent.com
|
||||
```
|
||||
|
||||
**Needed for uploading/downloading caches and workflow artifacts:**
|
||||
|
||||
```
|
||||
*.blob.core.windows.net
|
||||
```
|
||||
|
||||
**Needed for retrieving OIDC tokens:**
|
||||
|
||||
```
|
||||
*.actions.githubusercontent.com
|
||||
```
|
||||
|
||||
In addition, your workflow may require access to other network resources. For example, if your workflow installs packages or publishes containers to {% data variables.product.prodname_dotcom %} Packages, then the runner will also require access to those network endpoints.
|
||||
|
||||
If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)" or "[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise)".
|
||||
|
||||
{% else %}
|
||||
|
||||
You must ensure that the machine has the appropriate network access to communicate with {% data variables.product.product_location %}.{% ifversion ghes %} Self-hosted runners connect directly to {% data variables.product.product_location %} and do not require any external internet access in order to function. As a result, you can use network routing to direct communication between the self-hosted runner and {% data variables.product.product_location %}. For example, you can assign a private IP address to your self-hosted runner and configure routing to send traffic to {% data variables.product.product_location %}, with no need for traffic to traverse a public network.{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
You can also use self-hosted runners with a proxy server. For more information, see "[Using a proxy server with self-hosted runners](/actions/automating-your-workflow-with-github-actions/using-a-proxy-server-with-self-hosted-runners)."
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
## Communication between self-hosted runners and {% data variables.product.prodname_dotcom_the_website %}
|
||||
|
||||
Self-hosted runners do not need to connect to {% data variables.product.prodname_dotcom_the_website %} unless you have [enabled 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 you have enabled automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}, then the self-hosted runner will connect directly to {% data variables.product.prodname_dotcom_the_website %} to download actions. You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} URLs listed below.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** Some of the domains listed below are configured using `CNAME` records. Some firewalls might require you to add rules recursively for all `CNAME` records. Note that the `CNAME` records might change in the future, and that only the domains listed below will remain constant.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
```
|
||||
github.com
|
||||
api.github.com
|
||||
*.actions.githubusercontent.com
|
||||
github-releases.githubusercontent.com
|
||||
github-registry-files.githubusercontent.com
|
||||
codeload.github.com
|
||||
*.pkg.github.com
|
||||
pkg-cache.githubusercontent.com
|
||||
pkg-containers.githubusercontent.com
|
||||
pkg-containers-az.githubusercontent.com
|
||||
*.blob.core.windows.net
|
||||
```
|
||||
|
||||
Si utilizas un listado de direcciones IP permitidas para tu cuenta organizacional o empresarial de {% data variables.product.prodname_dotcom %}, debes agregar la dirección IP de tu ejecutor auto-hospedado a dicha lista. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)" or "[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise)".
|
||||
|
||||
{% else %}
|
||||
|
||||
Debes asegurarte de que la máquina tenga el acceso a la red adecuado para comunicarse con {% data variables.product.product_location %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
También puedes usar ejecutores autoalojados con un servidor proxy. Para obtener más información, consulta "[Usar un servidor proxy con ejecutores autoalojados](/actions/automating-your-workflow-with-github-actions/using-a-proxy-server-with-self-hosted-runners)."
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
## Seguridad de ejecutores autoalojdados con repositorios públicos
|
||||
## Self-hosted runner security with public repositories
|
||||
|
||||
{% ifversion not ghae %}
|
||||
{% data reusables.github-actions.self-hosted-runner-security %}
|
||||
|
||||
This is not an issue with {% data variables.product.prodname_dotcom %}-hosted runners because each {% data variables.product.prodname_dotcom %}-hosted runner is always a clean isolated virtual machine, and it is destroyed at the end of the job execution.
|
||||
|
||||
Untrusted workflows running on your self-hosted runner pose significant security risks for your machine and network environment, especially if your machine persists its environment between jobs. Some of the risks include:
|
||||
|
||||
* Malicious programs running on the machine.
|
||||
* Escaping the machine's runner sandbox.
|
||||
* Exposing access to the machine's network environment.
|
||||
* Persisting unwanted or dangerous data on the machine.
|
||||
|
||||
{% endif %}
|
||||
|
||||
Este no es un problema con los ejecutores hospedados en {% data variables.product.prodname_dotcom %}, ya que cada uno de estos ejecutores hospedados en {% data variables.product.prodname_dotcom %} siempre constituye una máquina virtual limpia y aislada, la cual se destruya al final de la ejecución del job.
|
||||
|
||||
Los flujos de trabajo que no son de confianza y se ejecutan en tu ejecutor autoalojado plantean riesgos de seguridad considerables para tu máquina y entorno de red, en especial si tu máquina se mantiene en su entorno entre trabajos. Algunos de los riesgos incluyen:
|
||||
|
||||
* Programas maliciosos que se ejecutan en la máquina.
|
||||
* Escapar del entorno Sandbox del ejecutor de la máquina.
|
||||
* Exponer el acceso al entorno de red de la máquina.
|
||||
* Mantener datos peligrosos o no deseados en la máquina.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Agrega ejecutores auto-hospedados
|
||||
intro: 'Puedes agregar un ejecutor auto-hospedado a {{ site.data.variables.product.prodname_actions }}.'
|
||||
title: Adding self-hosted runners
|
||||
intro: 'You can add a self-hosted runner to a repository, an organization, or an enterprise.'
|
||||
redirect_from:
|
||||
- /github/automating-your-workflow-with-github-actions/adding-self-hosted-runners
|
||||
- /actions/automating-your-workflow-with-github-actions/adding-self-hosted-runners
|
||||
@@ -10,69 +10,68 @@ versions:
|
||||
ghae: '*'
|
||||
ghec: '*'
|
||||
type: tutorial
|
||||
shortTitle: Agregar ejecutores auto-hospedados
|
||||
shortTitle: Add self-hosted runners
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Puedes agregar un ejecutor auto-hospedado a {{ site.data.variables.product.prodname_actions }}.
|
||||
You can add a self-hosted runner to a repository, an organization, or an enterprise.
|
||||
|
||||
So eres un administrador de alguna organización o empresa, podría que quisieras agregar tus ejecutores auto-hospedados a nivel organizacional o empresarial. Este acercamiento hace que el ejecutor esté disponible para múltiples repositorios en tu organización o empresa y también te permite administrar tus ejecutores en un solo lugar.
|
||||
If you are an organization or enterprise administrator, you might want to add your self-hosted runners at the organization or enterprise level. This approach makes the runner available to multiple repositories in your organization or enterprise, and also lets you to manage your runners in one place.
|
||||
|
||||
Para obtener información sobre los sistemas operativos compatibles para los ejecutores autoalojados o el uso de ejecutores autoalojados con un servidor proxy, consulta "[Acerca de los ejecutores autoalojados](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)."
|
||||
For information on supported operating systems for self-hosted runners, or using self-hosted runners with a proxy server, see "[About self-hosted runners](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)."
|
||||
|
||||
{% ifversion not ghae %}
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** {% data reusables.github-actions.self-hosted-runner-security %}
|
||||
**Warning:** {% data reusables.github-actions.self-hosted-runner-security %}
|
||||
|
||||
Para obtener más información, consulta la sección "[Acerca de los ejecutores auto-hospedados](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)".
|
||||
For more information, see "[About self-hosted runners](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)."
|
||||
|
||||
{% endwarning %}
|
||||
{% endif %}
|
||||
|
||||
## Agregar un ejecutor auto-hospedado a un repositorio
|
||||
## Adding a self-hosted runner to a repository
|
||||
|
||||
Puedes agregar ejecutores auto-hospedados a un solo repositorio. Para agregar un ejecutor autoalojado a un repositorio de usuario, debes ser el propietario del repositorio. Para los repositorios organizacionales, debes ser el propietario de la organización o tener acceso de administrador a éste.
|
||||
You can add self-hosted runners to a single repository. To add a self-hosted runner to a user repository, you must be the repository owner. For an organization repository, you must be an organization owner or have admin access to the repository. For information about how to add a self-hosted runner with the REST API, see "[Self-hosted runners](/rest/reference/actions#self-hosted-runners)."
|
||||
|
||||
{% ifversion fpt %}
|
||||
{% ifversion fpt or ghec %}
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.github-actions.settings-sidebar-actions %}
|
||||
{% data reusables.github-actions.settings-sidebar-actions-runners-updated %}
|
||||
1. Haz clic en **Ejecutor auto-hospedado nuevo**.
|
||||
1. Click **New self-hosted runner**.
|
||||
{% data reusables.github-actions.self-hosted-runner-configure %}
|
||||
{% endif %}
|
||||
{% ifversion ghae or ghes %}
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.github-actions.settings-sidebar-actions-runners %}
|
||||
1. Debajo de
|
||||
{% ifversion fpt or ghes > 3.1 or ghae %}"Ejecutores"{% else %}"Ejecutores auto-hospedados"{% endif %}, haz clic en **Agregar ejecutor**.
|
||||
1. Under {% ifversion fpt or ghes > 3.1 or ghae or ghec %}"Runners"{% else %}"Self-hosted runners"{% endif %}, click **Add runner**.
|
||||
{% data reusables.github-actions.self-hosted-runner-configure %}
|
||||
{% endif %}
|
||||
{% data reusables.github-actions.self-hosted-runner-check-installation-success %}
|
||||
|
||||
## Agregar un ejecutor auto-hospedado a una organización
|
||||
## Adding a self-hosted runner to an organization
|
||||
|
||||
Puedes agregar ejecutores auto-hospedados a nivel organizacional, en donde se podrán utilizar para procesar jobs para varios repositorios en una organización. Para agregar un ejecutor auto-hospedado a una organización, debes ser el dueño de la misma.
|
||||
You can add self-hosted runners at the organization level, where they can be used to process jobs for multiple repositories in an organization. To add a self-hosted runner to an organization, you must be an organization owner. For information about how to add a self-hosted runner with the REST API, see "[Self-hosted runners](/rest/reference/actions#self-hosted-runners)."
|
||||
|
||||
{% ifversion fpt %}
|
||||
{% ifversion fpt or ghec %}
|
||||
{% data reusables.organizations.navigate-to-org %}
|
||||
{% data reusables.organizations.org_settings %}
|
||||
{% data reusables.github-actions.settings-sidebar-actions %}
|
||||
{% data reusables.github-actions.settings-sidebar-actions-runners-updated %}
|
||||
1. Haz clic en **Ejecutor nuevo**.
|
||||
1. Click **New runner**.
|
||||
{% data reusables.github-actions.self-hosted-runner-configure %}
|
||||
{% endif %}
|
||||
{% ifversion ghae or ghes %}
|
||||
{% data reusables.organizations.navigate-to-org %}
|
||||
{% data reusables.organizations.org_settings %}
|
||||
{% data reusables.github-actions.settings-sidebar-actions-runners %}
|
||||
1. Debajo de
|
||||
{% ifversion fpt or ghes > 3.1 or ghae %}"Ejecutores"{% else %}"Ejecutores auto-hospedados"{% endif %}, haz clic en **Agregar ejecutor**.
|
||||
1. Under {% ifversion fpt or ghes > 3.1 or ghae or ghec %}"Runners"{% else %}"Self-hosted runners"{% endif %}, click **Add runner**.
|
||||
{% data reusables.github-actions.self-hosted-runner-configure %}
|
||||
{% endif %}
|
||||
|
||||
@@ -80,40 +79,39 @@ Puedes agregar ejecutores auto-hospedados a nivel organizacional, en donde se po
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-public-repo-access %}
|
||||
|
||||
## Agregar un ejecutor auto-hospedado a una empresa
|
||||
## Adding a self-hosted runner to an enterprise
|
||||
|
||||
Puedes agregar ejecutores auto-hospedados a una empresa, en donde pueden asignarse a organizaciones múltiples. Los administradores de la organización podrán controlar entonces qué repositorios pueden utilizarlo.
|
||||
You can add self-hosted runners to an enterprise, where they can be assigned to multiple organizations. The organization admins are then able to control which repositories can use it.
|
||||
|
||||
Los ejecutores nuevos se asignan al grupo predeterminado. Puedes modificar el grupo del ejecutor después de que lo hayas registrado. Para obtener más información, consulta la sección "[Administrar el acceso a los ejecutores auto-hospedados](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group)".
|
||||
New runners are assigned to the default group. You can modify the runner's group after you've registered the runner. For more information, see "[Managing access to self-hosted runners](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group)."
|
||||
|
||||
{% ifversion fpt %}
|
||||
Para agregar un ejecutor auto-hospedado a una cuenta empresarial, debes ser un propietario de la empresa.
|
||||
{% ifversion fpt or ghec %}
|
||||
To add a self-hosted runner to an enterprise account, you must be an enterprise owner. For information about how to add a self-hosted runner with the REST API, see the [Enterprise Administration GitHub Actions APIs](/rest/reference/enterprise-admin#github-actions).
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.actions-tab %}
|
||||
{% data reusables.enterprise-accounts.actions-runners-tab %}
|
||||
1. Haz clic en **Ejecutor nuevo**.
|
||||
1. Click **New runner**.
|
||||
{% data reusables.github-actions.self-hosted-runner-configure %}
|
||||
{% endif %}
|
||||
{% ifversion ghae or ghes %}
|
||||
Para agregar un ejecutor auto-hospedado a nivel empresarial de
|
||||
{% data variables.product.product_location %}, debes ser un administrador de sitio.
|
||||
To add a self-hosted runner at the enterprise level of {% data variables.product.product_location %}, you must be a site administrator.
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.actions-tab %}
|
||||
{% data reusables.enterprise-accounts.actions-runners-tab %}
|
||||
1. Da clic en **Agregar nuevo** y luego en **Ejecutor nuevo**.
|
||||
1. Click **Add new**, then click **New runner**.
|
||||
{% data reusables.github-actions.self-hosted-runner-configure %}
|
||||
{% endif %}
|
||||
{% data reusables.github-actions.self-hosted-runner-check-installation-success %}
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-public-repo-access %}
|
||||
|
||||
### Hacer que los ejecutores empresariales estén disponibles para los repositorios
|
||||
### Making enterprise runners available to repositories
|
||||
|
||||
Predeterminadamente, los ejecutores en un grupo de ejecutores auto hospedados "Predeterminado" de una empresa se encontrarán disponibles para todas las organizaciones de ésta, pero no así para todos los repositorios en cada una de las organizaciones.
|
||||
By default, runners in an enterprise's "Default" self-hosted runner group are available to all organizations in the enterprise, but are not available to all repositories in each organization.
|
||||
|
||||
Para que un grupo de ejecutores auto-hospedados a nivel empresarial se encuentre disponible para el repositorio de una organización, podría que necesites cambiar la configuración heredada de dicha organización para que el grupo de ejecutores pueda poner el ejecutor disponible para sus repositorios.
|
||||
To make an enterprise-level self-hosted runner group available to an organization repository, you might need to change the organization's inherited settings for the runner group to make the runner available to repositories in the organization.
|
||||
|
||||
Para obtener más información acerca de cómo cambiar la configuración de acceso en un grupo de ejecutores, consulta la sección "[Administrar el acceso a los ejecutores auto-hospedados utilizando grupos](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)".
|
||||
For more information on changing runner group access settings, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Autoescalar con ejecutores auto-hospedados
|
||||
intro: Puedes escalar tus ejecutores auto-hospedados automáticamente en respuesta a eventos de webhook.
|
||||
title: Autoscaling with self-hosted runners
|
||||
intro: You can automatically scale your self-hosted runners in response to webhook events.
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
@@ -13,68 +13,68 @@ type: overview
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca del autoescalamiento
|
||||
## About autoscaling
|
||||
|
||||
Puedes incrementar o decrementar la cantidad de ejecutores auto-hospedados en tu ambiente automáticamente como respuesta a los eventos de webhook que recibes con una etiqueta particular. Por ejemplo, puedes crear una automatización que agregue un ejecutor auto-hospedado cada vez que recibes un [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) evento de webhook con la actividad de [`queued`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job), el cual te notifica que hay un job nuevo listo para procesarse. La carga útil de un webhook incluye datos de etiqueta, así que puedes identificar el tipo de ejecutor que está solicitando el job. Una vez que haya terminado un job, puedes crear una automatización que elimine el ejecutor en respuesta a la actividad [`completed`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) del `workflow_job`.
|
||||
You can automatically increase or decrease the number of self-hosted runners in your environment in response to the webhook events you receive with a particular label. For example, you can create automation that adds a new self-hosted runner each time you receive a [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) webhook event with the [`queued`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) activity, which notifies you that a new job is ready for processing. The webhook payload includes label data, so you can identify the type of runner the job is requesting. Once the job has finished, you can then create automation that removes the runner in response to the `workflow_job` [`completed`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) activity.
|
||||
|
||||
## Recommended autoscaling solutions
|
||||
|
||||
{% data variables.product.prodname_dotcom %} recommends and partners closely with two open source projects that you can use for autoscaling your runners. One or both solutions may be suitable, based on your needs.
|
||||
{% data variables.product.prodname_dotcom %} recommends and partners closely with two open source projects that you can use for autoscaling your runners. One or both solutions may be suitable, based on your needs.
|
||||
|
||||
The following repositories have detailed instructions for setting up these autoscalers:
|
||||
The following repositories have detailed instructions for setting up these autoscalers:
|
||||
|
||||
- [actions-runner-controller/actions-runner-controller](https://github.com/actions-runner-controller/actions-runner-controller) - A Kubernetes controller for {% data variables.product.prodname_actions %} self-hosted runnners.
|
||||
- [actions-runner-controller/actions-runner-controller](https://github.com/actions-runner-controller/actions-runner-controller) - A Kubernetes controller for {% data variables.product.prodname_actions %} self-hosted runners.
|
||||
- [philips-labs/terraform-aws-github-runner](https://github.com/philips-labs/terraform-aws-github-runner) - A Terraform module for scalable {% data variables.product.prodname_actions %} runners on Amazon Web Services.
|
||||
|
||||
Each solution has certain specifics that may be important to consider:
|
||||
|
||||
| **Características** | **actions-runner-controller** | **terraform-aws-github-runner** |
|
||||
|:------------------------------ |:---------------------------------------------------------------------------------- |:--------------------------------------------------------------------- |
|
||||
| Tiempo de ejecución | Kubernetes | Linux and Windows VMs |
|
||||
| Supported Clouds | Azure, Amazon Web Services, Google Cloud Platform, on-premises | Amazon Web Services |
|
||||
| Where runners can be scaled | Enterprise, organization, and repository levels. By runner label and runner group. | Organization and repository levels. By runner label and runner group. |
|
||||
| Pull-based autoscaling support | Sí | No |
|
||||
| **Features** | **actions-runner-controller** | **terraform-aws-github-runner** |
|
||||
| :--- | :--- | :--- |
|
||||
| Runtime | Kubernetes | Linux and Windows VMs |
|
||||
| Supported Clouds | Azure, Amazon Web Services, Google Cloud Platform, on-premises | Amazon Web Services |
|
||||
| Where runners can be scaled | Enterprise, organization, and repository levels. By runner label and runner group. | Organization and repository levels. By runner label and runner group. |
|
||||
| Pull-based autoscaling support | Yes | No |
|
||||
|
||||
## Utilizar ejecutores efímeros para autoescalar
|
||||
## Using ephemeral runners for autoscaling
|
||||
|
||||
{% data variables.product.prodname_dotcom %} recomienda implementar el autoescalamiento con ejecutores auto-hospedados efímeros; no se recomienda autoescalar con ejecutores auto-hospedados persistentes. En casos específicos, {% data variables.product.prodname_dotcom %} no puede garantizar que los jobs no se asignen a los ejecutores persistentes mientras están cerrados. Con los ejecutores efímeros, esto puede garantizarse, ya que {% data variables.product.prodname_dotcom %} solo asigna un job a un ejecutor.
|
||||
{% data variables.product.prodname_dotcom %} recommends implementing autoscaling with ephemeral self-hosted runners; autoscaling with persistent self-hosted runners is not recommended. In certain cases, {% data variables.product.prodname_dotcom %} cannot guarantee that jobs are not assigned to persistent runners while they are shut down. With ephemeral runners, this can be guaranteed because {% data variables.product.prodname_dotcom %} only assigns one job to a runner.
|
||||
|
||||
Este acercamiento te permite administrar tus ejecutores como sistemas efímeros, ya que puedes utilizar la automatización para proporcionar un ambiente limpio para cada job. Esto ayuda a limitar la exposición de cualquier recurso sensible de los jobs anteriores y también ayuda a mitigar el riesgo de un ejecutor puesto en riesgo que esté recibiendo jobs nuevos.
|
||||
This approach allows you to manage your runners as ephemeral systems, since you can use automation to provide a clean environment for each job. This helps limit the exposure of any sensitive resources from previous jobs, and also helps mitigate the risk of a compromised runner receiving new jobs.
|
||||
|
||||
Para agregar un ejecutor efímero a tu ambiente, incluye el parámetro `--ephemeral` cuando registres tu ejecutor utilizando `config.sh`. Por ejemplo:
|
||||
To add an ephemeral runner to your environment, include the `--ephemeral` parameter when registering your runner using `config.sh`. For example:
|
||||
|
||||
```
|
||||
$ ./config.sh --url https://github.com/octo-org --token example-token --ephemeral
|
||||
```
|
||||
|
||||
El servicio de {% data variables.product.prodname_actions %} entonces quitará el registro del ejecutor automáticamente después de que haya procesado un job. Entonces podrás crear tu propia automatización que elimine el ejecutor después de que se desregistró.
|
||||
The {% data variables.product.prodname_actions %} service will then automatically de-register the runner after it has processed one job. You can then create your own automation that wipes the runner after it has been de-registered.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si un job se etiqueta por algún tipo de ejecutor, pero no hay ninguno disponible que empate con este tipo, dicho job no fallará inmediatamente en el momento de ponerse en cola. En vez de esto, el job permanecerá en cola hasta que venza el tiempo límite de 24 horas.
|
||||
**Note:** If a job is labeled for a certain type of runner, but none matching that type are available, the job does not immediately fail at the time of queueing. Instead, the job will remain queued until the 24 hour timeout period expires.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Utilizar webhooks para autoescalar
|
||||
## Using webhooks for autoscaling
|
||||
|
||||
Puedes crear tu propio ambiente de autoescalamiento utilizando cargas útiles que recibas del webhook de [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job). Este webhook está disponible en los niveles de repositorio, organización y empresa y la carga útil de este evento contiene una clave de `action` que corresponde a las etapas del ciclo de vida de un job de un flujo de trabajo; por ejemplo, cuando los jobs se ponen como `queued`, `in_progress`, y `completed`. Entonces debes crear tu propia automatización de escalamiento en respuesta a estas cargas útiles de webhook.
|
||||
You can create your own autoscaling environment by using payloads received from the [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) webhook. This webhook is available at the repository, organization, and enterprise levels, and the payload for this event contains an `action` key that corresponds to the stages of a workflow job's life-cycle; for example when jobs are `queued`, `in_progress`, and `completed`. You must then create your own scaling automation in response to these webhook payloads.
|
||||
|
||||
- Para obtener más información sobre el webhook de `workflow_job`, consulta la sección de "[Eventos y cargas útiles de los webhooks](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job)".
|
||||
- Para aprender cómo trabajar con los webhooks, consulta la sección "[Crear webhooks](/developers/webhooks-and-events/webhooks/creating-webhooks)".
|
||||
- For more information about the `workflow_job` webhook, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job)."
|
||||
- To learn how to work with webhooks, see "[Creating webhooks](/developers/webhooks-and-events/webhooks/creating-webhooks)."
|
||||
|
||||
## Requisitos de autenticación
|
||||
## Authentication requirements
|
||||
|
||||
You can register and delete repository and organization self-hosted runners using [the API](/rest/reference/actions#self-hosted-runners). Para autenticarte en la API, tu implementación de auto-escalamiento puede utilizar un token de acceso o una app de {% data variables.product.prodname_dotcom %}.
|
||||
You can register and delete repository and organization self-hosted runners using [the API](/rest/reference/actions#self-hosted-runners). To authenticate to the API, your autoscaling implementation can use an access token or a {% data variables.product.prodname_dotcom %} app.
|
||||
|
||||
Tu token de acceso necesitará el siguiente alcance:
|
||||
Your access token will require the following scope:
|
||||
|
||||
- Para los repositorios privados, utiliza un token de acceso con el [alcance de `repo`](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes).
|
||||
- Para los repositorios públicos, utiliza un token de acceso con el [alcance de `public_repo`](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes).
|
||||
- For private repositories, use an access token with the [`repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes).
|
||||
- For public repositories, use an access token with the [`public_repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes).
|
||||
|
||||
Para autenticarte utilizando una App de {% data variables.product.prodname_dotcom %}, se le debe asignar los siguientes permisos:
|
||||
- Para los repositorios, asigna el permiso de `administration`.
|
||||
- Para las organizaciones, asigna el permiso de `organization_self_hosted_runners`.
|
||||
To authenticate using a {% data variables.product.prodname_dotcom %} App, it must be assigned the following permissions:
|
||||
- For repositories, assign the `administration` permission.
|
||||
- For organizations, assign the `organization_self_hosted_runners` permission.
|
||||
|
||||
You can register and delete enterprise self-hosted runners using [the API](/rest/reference/enterprise-admin#github-actions). To authenticate to the API, your autoscaling implementation can use an access token.
|
||||
|
||||
Your access token will requite the `manage_runners:enterprise` scope.
|
||||
Your access token will require the `manage_runners:enterprise` scope.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Monitorear y solucionar problemas para los ejecutores auto-hospedados
|
||||
intro: Puedes monitorear tus ejecutores auto-hospedados para ver su actividad y diagnosticar problemas comunes.
|
||||
title: Monitoring and troubleshooting self-hosted runners
|
||||
intro: You can monitor your self-hosted runners to view their activity and diagnose common issues.
|
||||
redirect_from:
|
||||
- /actions/hosting-your-own-runners/checking-the-status-of-self-hosted-runners
|
||||
- /github/automating-your-workflow-with-github-actions/checking-the-status-of-self-hosted-runners
|
||||
@@ -12,7 +12,7 @@ versions:
|
||||
ghec: '*'
|
||||
type: tutorial
|
||||
defaultPlatform: linux
|
||||
shortTitle: Monitorear & solucionar problemas
|
||||
shortTitle: Monitor & troubleshoot
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-self-hosted-runners-notice %}
|
||||
@@ -20,7 +20,7 @@ shortTitle: Monitorear & solucionar problemas
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Comprobar el estado de un ejecutor autoalojado utilizando {{ site.data.variables.product.prodname_dotcom }}
|
||||
## Checking the status of a self-hosted runner
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-management-permissions-required %}
|
||||
|
||||
@@ -28,41 +28,41 @@ shortTitle: Monitorear & solucionar problemas
|
||||
{% data reusables.github-actions.settings-sidebar-actions-runners %}
|
||||
1. Under {% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}"Runners"{% else %}"Self-hosted runners"{% endif %}, you can view a list of registered runners, including the runner's name, labels, and status.
|
||||
|
||||
El estado puede ser uno de los siguientes:
|
||||
The status can be one of the following:
|
||||
|
||||
* **Idle (Inactivo)**: El ejecutor está conectado a {% data variables.product.product_name %} y está listo para ejecutar puestos de trabajo.
|
||||
* **Active (Activo)**: Actualmente, el ejecutor está ejecutando un puesto de trabajo.
|
||||
* **Offline (Sin conexión)**: El ejecutor no está conectado a {% data variables.product.product_name %}. Esto puede deberse a que la máquina está fuera de línea, la aplicación del ejecutor autoalojado no se está ejecutando en la máquina o la aplicación del ejecutor autoalojado no se puede comunicar con {% data variables.product.product_name %}.
|
||||
* **Idle**: The runner is connected to {% data variables.product.product_name %} and is ready to execute jobs.
|
||||
* **Active**: The runner is currently executing a job.
|
||||
* **Offline**: The runner is not connected to {% data variables.product.product_name %}. This could be because the machine is offline, the self-hosted runner application is not running on the machine, or the self-hosted runner application cannot communicate with {% data variables.product.product_name %}.
|
||||
|
||||
|
||||
## Revisar los archivos de bitácora de la aplicación del ejecutor auto-hospedado
|
||||
## Reviewing the self-hosted runner application log files
|
||||
|
||||
Puedes monitorear el estado de la aplicación del ejecutor auto-hospedado y de sus actividades. Los archivos de bitácora se mantienen en el directorio `_diag`, y se genera uno nuevo cada que se inicia la aplicación. El nombre de archivo comienza con *Runner_*, y le sige una marca de tiempo UTC de cuando se inició la aplicación.
|
||||
You can monitor the status of the self-hosted runner application and its activities. Log files are kept in the `_diag` directory, and a new one is generated each time the application is started. The filename begins with *Runner_*, and is followed by a UTC timestamp of when the application was started.
|
||||
|
||||
Para obtener registros detallados sobre las ejecuciones de jobs en el flujo de trabajo, consulta la siguiente sección que describe los archivos *Worker_*.
|
||||
For detailed logs on workflow job executions, see the next section describing the *Worker_* files.
|
||||
|
||||
## Revisar el archivo de bitácora de un job
|
||||
## Reviewing a job's log file
|
||||
|
||||
La aplicación del ejecutor auto-hospedado crea un archivo de bitácora detallado para cada job que procesa. Estos archivos se guardan en el directorio `_diag`, y el nombre de archivo comienza con el prefijo *Worker_*.
|
||||
The self-hosted runner application creates a detailed log file for each job that it processes. These files are stored in the `_diag` directory, and the filename begins with *Worker_*.
|
||||
|
||||
{% linux %}
|
||||
|
||||
## Utilizar journalctl para revisar el servicio de la aplicación del ejecutor auto-hospedado
|
||||
## Using journalctl to check the self-hosted runner application service
|
||||
|
||||
Para los ejecutores auto-hospedados basados en Linux que se ejecutan en la aplicación utilizando un servicio, puedes utilizar `journalctl` para monitorear su actividad en tiempo real. El servicio predeterminado basado en systemd utiliza la siguiente convención de nomenclatura: `actions.runner.<org>-<repo>.<runnerName>.service`. Este nombre se trunca si excede los 80 caracteres, así que la manera preferente de encontrar el nombre de un servicio es revisando el archivo _.service_. Por ejemplo:
|
||||
For Linux-based self-hosted runners running the application using a service, you can use `journalctl` to monitor their real-time activity. The default systemd-based service uses the following naming convention: `actions.runner.<org>-<repo>.<runnerName>.service`. This name is truncated if it exceeds 80 characters, so the preferred way of finding the service's name is by checking the _.service_ file. For example:
|
||||
|
||||
```shell
|
||||
$ cat ~/actions-runner/.service
|
||||
actions.runner.octo-org-octo-repo.runner01.service
|
||||
```
|
||||
|
||||
Puedes utilizar `journalctl` para monitorear la actividad del ejecutor auto-hospedado en tiempo real:
|
||||
You can use `journalctl` to monitor the real-time activity of the self-hosted runner:
|
||||
|
||||
```shell
|
||||
$ sudo journalctl -u actions.runner.octo-org-octo-repo.runner01.service -f
|
||||
```
|
||||
|
||||
En este ejemplo de salida, puedes ver como inicia `runner01`, recibe un job llamado `testAction`, y luego muestra el estado resultante:
|
||||
In this example output, you can see `runner01` start, receive a job named `testAction`, and then display the resulting status:
|
||||
|
||||
```shell
|
||||
Feb 11 14:57:07 runner01 runsvc.sh[962]: Starting Runner listener with startup type: service
|
||||
@@ -74,22 +74,23 @@ Feb 11 16:06:54 runner01 runsvc.sh[962]: 2020-02-11 16:06:54Z: Running job: test
|
||||
Feb 11 16:07:10 runner01 runsvc.sh[962]: 2020-02-11 16:07:10Z: Job testAction completed with result: Succeeded
|
||||
```
|
||||
|
||||
Para ver la configuración de systemd, puedes ubicar archivo de servicio aquí: `/etc/systemd/system/actions.runner.<org>-<repo>.<runnerName>.service`. Si quieres personalizar el servicio de la aplicación del ejecutor auto-hospedado, no modifiques directamente este archivo. Sigue las instrucciones descritas en la sección "[Configurar la aplicación del ejecutor auto-hospedado como un servicio](/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service#customizing-the-self-hosted-runner-service)".
|
||||
To view the systemd configuration, you can locate the service file here: `/etc/systemd/system/actions.runner.<org>-<repo>.<runnerName>.service`.
|
||||
If you want to customize the self-hosted runner application service, do not directly modify this file. Follow the instructions described in "[Configuring the self-hosted runner application as a service](/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service#customizing-the-self-hosted-runner-service)."
|
||||
|
||||
{% endlinux %}
|
||||
|
||||
{% mac %}
|
||||
|
||||
## Utilizar launchd para revisar el servicio de la aplicación del ejecutor auto-hospedado
|
||||
## Using launchd to check the self-hosted runner application service
|
||||
|
||||
Para los ejecutores auto-hospedados basados en macOS que se ejecutan en la aplicación como un servicio, puedes utilizar `launchctl` para monitorear su actividad en tiempo real. El servicio predeterminado basado en launchd utiliza la siguiente convención de nomenclatura: `actions.runner.<org>-<repo>.<runnerName>`. Este nombre se trunca si excede los 80 caracteres, así que la manera preferente de encontrar el nombre del servicio es revisando el archivo _.service_ en el directorio del ejecutor:
|
||||
For macOS-based self-hosted runners running the application as a service, you can use `launchctl` to monitor their real-time activity. The default launchd-based service uses the following naming convention: `actions.runner.<org>-<repo>.<runnerName>`. This name is truncated if it exceeds 80 characters, so the preferred way of finding the service's name is by checking the _.service_ file in the runner directory:
|
||||
|
||||
```shell
|
||||
% cat ~/actions-runner/.service
|
||||
/Users/exampleUsername/Library/LaunchAgents/actions.runner.octo-org-octo-repo.runner01.plist
|
||||
```
|
||||
|
||||
El script `svc.sh` utiliza `launchctl` para revisar si la aplicación se está ejecutando. Por ejemplo:
|
||||
The `svc.sh` script uses `launchctl` to check whether the application is running. For example:
|
||||
|
||||
```shell
|
||||
$ ./svc.sh status
|
||||
@@ -99,25 +100,26 @@ Started:
|
||||
379 0 actions.runner.example.runner01
|
||||
```
|
||||
|
||||
La salida generada incluye la ID del proceso y el nombre del servicio launchd de la aplicación.
|
||||
The resulting output includes the process ID and the name of the application’s launchd service.
|
||||
|
||||
Para ver la configuración de launchd, puedes ubicar el archivo del servicio aquí: `/Users/exampleUsername/Library/LaunchAgents/actions.runner.<repoName>.<runnerName>.service`. Si quieres personalizar el servicio de la aplicación del ejecutor auto-hospedado, no modifiques directamente este archivo. Sigue las instrucciones descritas en la sección "[Configurar la aplicación del ejecutor auto-hospedado como un servicio](/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service#customizing-the-self-hosted-runner-service-1)".
|
||||
To view the launchd configuration, you can locate the service file here: `/Users/exampleUsername/Library/LaunchAgents/actions.runner.<repoName>.<runnerName>.service`.
|
||||
If you want to customize the self-hosted runner application service, do not directly modify this file. Follow the instructions described in "[Configuring the self-hosted runner application as a service](/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service#customizing-the-self-hosted-runner-service-1)."
|
||||
|
||||
{% endmac %}
|
||||
|
||||
|
||||
{% windows %}
|
||||
|
||||
## Utilizar PowerShell para revisar el servicio de la aplicación del ejecutor auto-hospedado
|
||||
## Using PowerShell to check the self-hosted runner application service
|
||||
|
||||
Para los ejecutores auto-hospedados basados en Windows que se ejecuten en la aplicación como servicio, puedes utilizar PowerShell para monitorear su actividad en tiempo real. El servicio utiliza la convención de nomenclatura `GitHub Actions Runner (<org>-<repo>.<runnerName>)`. También puedes encontrar el nombre del servicio si revisas el archivo _.service_ en el directorio del ejecutor:
|
||||
For Windows-based self-hosted runners running the application as a service, you can use PowerShell to monitor their real-time activity. The service uses the naming convention `GitHub Actions Runner (<org>-<repo>.<runnerName>)`. You can also find the service's name by checking the _.service_ file in the runner directory:
|
||||
|
||||
```shell
|
||||
PS C:\actions-runner> Get-Content .service
|
||||
actions.runner.octo-org-octo-repo.runner01.service
|
||||
```
|
||||
|
||||
Puedes ver el estado del ejecutor en la aplicación _Services_ de Windows (`services.msc`). También puedes utilizar PowerShell para revisar si el servicio se está ejecutando:
|
||||
You can view the status of the runner in the Windows _Services_ application (`services.msc`). You can also use PowerShell to check whether the service is running:
|
||||
|
||||
```shell
|
||||
PS C:\actions-runner> Get-Service "actions.runner.octo-org-octo-repo.runner01.service" | Select-Object Name, Status
|
||||
@@ -126,7 +128,7 @@ Name Status
|
||||
actions.runner.octo-org-octo-repo.runner01.service Running
|
||||
```
|
||||
|
||||
Puedes utilizar PowerShell para revisar la actividad reciente del ejecutor auto-hospedado. En este ejemplo de salida, puedes ver que la aplicación comienza, recibe un job llamado `testAction`, y después muestra el estado resultante:
|
||||
You can use PowerShell to check the recent activity of the self-hosted runner. In this example output, you can see the application start, receive a job named `testAction`, and then display the resulting status:
|
||||
|
||||
```shell
|
||||
PS C:\actions-runner> Get-EventLog -LogName Application -Source ActionsRunnerService
|
||||
@@ -145,34 +147,34 @@ PS C:\actions-runner> Get-EventLog -LogName Application -Source ActionsRunnerSer
|
||||
|
||||
{% endwindows %}
|
||||
|
||||
## Monitorear el proceso de actualización automática
|
||||
## Monitoring the automatic update process
|
||||
|
||||
Te recomendamos que revises el proceso de actualización automático a menudo, ya que el ejecutor auto-hospedado no podrá procesar jobs si cae debajo de cierto umbral de versiones. La aplicación del ejecutor auto-hospedado se actualiza automáticamente, pero nota que este proceso no incluye ninguna actualización al sistema operativo ni a otro tipo de software; necesitarás administrar estas actualizaciones por separado.
|
||||
We recommend that you regularly check the automatic update process, as the self-hosted runner will not be able to process jobs if it falls below a certain version threshold. The self-hosted runner application automatically updates itself, but note that this process does not include any updates to the operating system or other software; you will need to separately manage these updates.
|
||||
|
||||
Puedes ver las actividades de actualización en los archivos de bitácora *Runner_*. Por ejemplo:
|
||||
You can view the update activities in the *Runner_* log files. For example:
|
||||
|
||||
```shell
|
||||
[Feb 12 12:37:07 INFO SelfUpdater] An update is available.
|
||||
```
|
||||
|
||||
Adicionalmente, puedes encontrar más información en los archivos de bitácora _SelfUpdate_ ubicados en el directorio `_diag`.
|
||||
In addition, you can find more information in the _SelfUpdate_ log files located in the `_diag` directory.
|
||||
|
||||
{% linux %}
|
||||
|
||||
## Solucionar problemas en los contenedores de los ejecutores auto-hospedados
|
||||
## Troubleshooting containers in self-hosted runners
|
||||
|
||||
### Revisar que se haya instalado Docker
|
||||
### Checking that Docker is installed
|
||||
|
||||
Si tus jobs necesitan contenedores, entonces el ejecutor auto-hospedado debe estar basado en Linux y necesita contar con Docker instalado. Revisa que tu ejecutor auto-hospedado tenga Docker instalado y que el servicio se esté ejecutando.
|
||||
If your jobs require containers, then the self-hosted runner must be Linux-based and needs to have Docker installed. Check that your self-hosted runner has Docker installed and that the service is running.
|
||||
|
||||
Puedes utilizar `systemctl` para revisar el estado del servicio:
|
||||
You can use `systemctl` to check the service status:
|
||||
|
||||
```shell
|
||||
$ sudo systemctl is-active docker.service
|
||||
active
|
||||
```
|
||||
|
||||
Si no se ha instalado Docker, entonces las acciones dependientes fallarán con los siguientes errores:
|
||||
If Docker is not installed, then dependent actions will fail with the following errors:
|
||||
|
||||
```shell
|
||||
[2020-02-13 16:56:10Z INFO DockerCommandManager] Which: 'docker'
|
||||
@@ -180,15 +182,15 @@ Si no se ha instalado Docker, entonces las acciones dependientes fallarán con l
|
||||
[2020-02-13 16:56:10Z ERR StepsRunner] Caught exception from step: System.IO.FileNotFoundException: File not found: 'docker'
|
||||
```
|
||||
|
||||
### Revisar los permisos de Docker
|
||||
### Checking the Docker permissions
|
||||
|
||||
Si tu job falla con el siguiente error:
|
||||
If your job fails with the following error:
|
||||
|
||||
```shell
|
||||
dial unix /var/run/docker.sock: connect: permission denied
|
||||
```
|
||||
|
||||
Revisa que la cuenta de servicio del ejecutor auto-hospedado tenga permiso de utilizar el servicio de Docker. Puedes identificar esta cuenta revisando la configuración del ejecutor auto-hospedado en systemd. Por ejemplo:
|
||||
Check that the self-hosted runner's service account has permission to use the Docker service. You can identify this account by checking the configuration of the self-hosted runner in systemd. For example:
|
||||
|
||||
```shell
|
||||
$ sudo systemctl show -p User actions.runner.octo-org-octo-repo.runner01.service
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Documentación de GitHub Actions
|
||||
title: GitHub Actions Documentation
|
||||
shortTitle: GitHub Actions
|
||||
intro: 'Automatiza, personaliza y ejecuta tus flujos de trabajo de desarrollo de software directamente en tu repositorio con {% data variables.product.prodname_actions %}. Puedes descubrir, crear y compartir acciones para realizar cualquier trabajo que quieras, incluido CI/CD, y combinar acciones en un flujo de trabajo completamente personalizado.'
|
||||
intro: 'Automate, customize, and execute your software development workflows right in your repository with {% data variables.product.prodname_actions %}. You can discover, create, and share actions to perform any job you''d like, including CI/CD, and combine actions in a completely customized workflow.'
|
||||
introLinks:
|
||||
overview: /actions/learn-github-actions/understanding-github-actions
|
||||
quickstart: /actions/quickstart
|
||||
@@ -47,19 +47,19 @@ versions:
|
||||
children:
|
||||
- /quickstart
|
||||
- /learn-github-actions
|
||||
- /creating-actions
|
||||
- /security-guides
|
||||
- /managing-workflow-runs
|
||||
- /automating-builds-and-tests
|
||||
- /deployment
|
||||
- /managing-issues-and-pull-requests
|
||||
- /publishing-packages
|
||||
- /using-containerized-services
|
||||
- /advanced-guides
|
||||
- /managing-workflow-runs
|
||||
- /publishing-packages
|
||||
- /managing-issues-and-pull-requests
|
||||
- /migrating-to-github-actions
|
||||
- /monitoring-and-troubleshooting-workflows
|
||||
- /using-github-hosted-runners
|
||||
- /hosting-your-own-runners
|
||||
- /migrating-to-github-actions
|
||||
- /security-guides
|
||||
- /advanced-guides
|
||||
- /creating-actions
|
||||
- /guides
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Contextos
|
||||
shortTitle: Contextos
|
||||
intro: Puedes acceder a información de contexto en los flujos de trabajo y acciones.
|
||||
title: Contexts
|
||||
shortTitle: Contexts
|
||||
intro: You can access context information in workflows and actions.
|
||||
redirect_from:
|
||||
- /articles/contexts-and-expression-syntax-for-github-actions
|
||||
- /github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions
|
||||
@@ -20,137 +20,156 @@ miniTocMaxHeadingLevel: 3
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca de los contextos
|
||||
## About contexts
|
||||
|
||||
{% data reusables.github-actions.context-injection-warning %}
|
||||
|
||||
Los contextos son una manera de acceder a información acerca de las ejecuciones de flujo de trabajo, los entornos del ejecutor, los trabajos y los pasos. Los contextos usan la sintaxis de expresión. Para obtener más información, consulta la sección "[Expresiones](/actions/learn-github-actions/expressions)".
|
||||
Contexts are a way to access information about workflow runs, runner environments, jobs, and steps. Contexts use the expression syntax. For more information, see "[Expressions](/actions/learn-github-actions/expressions)."
|
||||
|
||||
{% raw %}
|
||||
`${{ <context> }}`
|
||||
{% endraw %}
|
||||
|
||||
| Nombre del contexto | Type | Descripción |
|
||||
| ------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `github` | `objeto` | Información sobre la ejecución del flujo de trabajo. Para obtener más información, consulta [github</code> context](#github-context). |
|
||||
| `env` | `objeto` | Contiene variables de entorno establecidas en un flujo de trabajo, trabajo o paso. Para obtener más información, consulta el [contexto `env`](#env-context). |
|
||||
| `job` | `objeto` | Información sobre el trabajo actualmente en ejecución. Para obtener más información, consulta contexto de [`job`](#job-context). |
|
||||
| `pasos` | `objeto` | Información sobre los pasos que se han ejecutado en este trabajo. Para obtener más información, consulta contexto de [`steps`](#steps-context). |
|
||||
| `runner` | `objeto` | Incluye información sobre el ejecutor que está realizando el trabajo actual. Para más información, consulta [Contexto del `ejecutador (runner)`](#runner-context). |
|
||||
| `secrets` | `objeto` | Habilita el acceso a los secretos. Para más información sobre secretos, consulta "[Creando y usando secretos encriptados](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." |
|
||||
| `strategy` | `objeto` | Brinda acceso a los parámetros de estrategia configurados y a la información sobre el puesto actual. Los parámetros de estrategia incluyen `fail-fast`, `job-index`, `job-total` y `max-parallel`. |
|
||||
| `matrix` | `objeto` | Brinda acceso a los parámetros de la matriz que configuraste para el puesto actual. Por ejemplo, si configuraste una matriz de construcción con las versiones `os` y `node`, el objeto de contexto `matrix` incluye las versiones `os` y `node` del puesto actual. |
|
||||
| `needs` | `objeto` | Habilita el acceso de las salidas de todos los jobs que se definen como una dependencia para el job actual. Para obtener más información, consulta [`needs` context](#needs-context). |
|
||||
| Context name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `github` | `object` | Information about the workflow run. For more information, see [`github` context](#github-context). |
|
||||
| `env` | `object` | Contains environment variables set in a workflow, job, or step. For more information, see [`env` context](#env-context). |
|
||||
| `job` | `object` | Information about the currently executing job. For more information, see [`job` context](#job-context). |
|
||||
| `steps` | `object` | Information about the steps that have been run in this job. For more information, see [`steps` context](#steps-context). |
|
||||
| `runner` | `object` | Information about the runner that is running the current job. For more information, see [`runner` context](#runner-context). |
|
||||
| `secrets` | `object` | Enables access to secrets. For more information about secrets, see "[Creating and using encrypted secrets](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." |
|
||||
| `strategy` | `object` | Enables access to the configured strategy parameters and information about the current job. Strategy parameters include `fail-fast`, `job-index`, `job-total`, and `max-parallel`. |
|
||||
| `matrix` | `object` | Enables access to the matrix parameters you configured for the current job. For example, if you configure a matrix build with the `os` and `node` versions, the `matrix` context object includes the `os` and `node` versions of the current job. |
|
||||
| `needs` | `object` | Enables access to the outputs of all jobs that are defined as a dependency of the current job. For more information, see [`needs` context](#needs-context). |
|
||||
{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %}| `inputs` | `object` | Enables access to the inputs of reusable workflow. For more information, see [`inputs` context](#inputs-context). |{% endif %}
|
||||
|
||||
Como parte de una expresión, puedes acceder a la información del contexto usando una de las siguientes dos sintaxis.
|
||||
- Sintaxis de índice: `github['sha']`
|
||||
- Sintaxis de desreferencia de propiedad: `github.sha`
|
||||
As part of an expression, you may access context information using one of two syntaxes.
|
||||
- Index syntax: `github['sha']`
|
||||
- Property dereference syntax: `github.sha`
|
||||
|
||||
Para usar la sintaxis de desreferencia de propiedad, el nombre de la propiedad debe cumplir con lo siguiente:
|
||||
- comenzar con `a-Z` o `_`.
|
||||
- estar seguida por `a-Z` `0-9` `-` o `_`.
|
||||
In order to use property dereference syntax, the property name must:
|
||||
- start with `a-Z` or `_`.
|
||||
- be followed by `a-Z` `0-9` `-` or `_`.
|
||||
|
||||
### Determinar cuándo utilizar contextos
|
||||
### Determining when to use contexts
|
||||
|
||||
{% data reusables.github-actions.using-context-or-environment-variables %}
|
||||
|
||||
### contexto de `github`
|
||||
### `github` context
|
||||
|
||||
El contexto de `github` contiene información sobre la ejecución del flujo de trabajo y el evento que desencadenó la ejecución. Puedes leer la mayoría de los datos de contexto de `github` en las variables del entorno. Para más información sobre las variables de entorno, consulta "[Utilizando variables de entorno](/actions/automating-your-workflow-with-github-actions/using-environment-variables)."
|
||||
The `github` context contains information about the workflow run and the event that triggered the run. You can read most of the `github` context data in environment variables. For more information about environment variables, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)."
|
||||
|
||||
{% data reusables.github-actions.github-context-warning %}
|
||||
{% data reusables.github-actions.context-injection-warning %}
|
||||
|
||||
| Nombre de la propiedad | Type | Descripción |
|
||||
| ------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `github` | `objeto` | El contexto de nivel superior disponible durante cualquier trabajo o paso en un flujo de trabajo. |
|
||||
| `github.action` | `secuencia` | El nombre de la acción que se está ejecutando actualmente. {% data variables.product.prodname_dotcom %} elimina caracteres especiales o usa el nombre `__run` cuando el paso actual ejecuta un script. Si utilizas la misma acción más de una vez en el mismo job, el nombre incluirá un sufijo con el número de secuencia con un guion bajo antes de este. Por ejemplo, el primer script que ejecutes tendrá el nombre `__run`, y el segundo script será nombrado `__run_2`. Del mismo modo, la segunda invocación de `actions/checkout` será `actionscheckout2`. |
|
||||
| `github.action_path` | `secuencia` | La ruta en donde se ubica tu acción. Puedes utilizar esta ruta para acceder fácilmente a los archivos ubicados en el mismo repositorio que tu acción. Este atributo solo es compatible en las acciones compuestas. |
|
||||
| `github.actor` | `secuencia` | El inicio de sesión del usuario que inició la ejecución del flujo de trabajo. |
|
||||
| `github.base_ref` | `secuencia` | La rama `head_ref` o fuente de la solicitud de extracción en una ejecución de flujo de trabajo. Esta propiedad solo está disponible cuando el evento que activa una ejecución de flujo de trabajo es ya sea `pull_request` o `pull_request_target`. |
|
||||
| `github.event` | `objeto` | La carga de webhook del evento completo. Para obtener más información, consulta "[Eventos que activan los flujos de trabajo](/articles/events-that-trigger-workflows/)". "Puedes acceder a propiedades individuales del evento que utiliza este contexto. |
|
||||
| `github.event_name` | `secuencia` | El nombre del evento que activó la ejecución del flujo de trabajo. |
|
||||
| `github.event_path` | `secuencia` | La ruta a la carga del webhook del evento completo en el ejecutor. |
|
||||
| `github.head_ref` | `secuencia` | La rama `head_ref` o fuente de la solicitud de extracción en una ejecución de flujo de trabajo. Esta propiedad solo está disponible cuando el evento que activa una ejecución de flujo de trabajo es ya sea `pull_request` o `pull_request_target`. |
|
||||
| `github.job` | `secuencia` | El [`job_id`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) del job actual. |
|
||||
| `github.ref` | `secuencia` | La rama o ref de etiqueta que activó la ejecución del flujo de trabajo. Para las ramas, este es el formato `refs/heads/<branch_name>` y, para las etiquetas, es `refs/tags/<tag_name>`. |
|
||||
| `github.repository` | `secuencia` | El nombre del repositorio y del propietario. Por ejemplo, `Codertocat/Hello-World`. |
|
||||
| `github.repository_owner` | `secuencia` | El nombre del propietario del repositorio. Por ejemplo, `Codertocat`. |
|
||||
| `github. run_id` | `secuencia` | {% data reusables.github-actions.run_id_description %}
|
||||
| `github. run_number` | `secuencia` | {% data reusables.github-actions.run_number_description %}
|
||||
| `github.run_attempt` | `secuencia` | Un número único para cada intento de ejecución de un flujo de trabajo particular en un repositorio. Este número comienza en 1 para el primer intento de ejecución del flujo de trabajo e incrementa con cada re-ejecución. |
|
||||
| `github.server_url` | `secuencia` | Devuelve la URL al servidor de GitHub. Por ejemplo: `https://github.com`. |
|
||||
| `github.sha` | `secuencia` | El SHA de confirmación que activó la ejecución del flujo de trabajo. |
|
||||
| `github.token` | `secuencia` | Un token para autenticar en nombre de la aplicación de GitHub instalada en tu repositorio. Esto es funcionalmente equivalente al secreto de `GITHUB_TOKEN`. Para más información, consulta "[Autenticando con el GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." |
|
||||
| `github.workflow` | `secuencia` | El nombre del flujo de trabajo. Si el archivo de flujo de trabajo no especifica un `nombre`, el valor de esta propiedad es la ruta completa del archivo del flujo de trabajo en el repositorio. |
|
||||
| `github.workspace` | `secuencia` | El directorio de trabajo predeterminado para los pasos y la ubicación predeterminada de tu repositorio cuando usas la acción [`checkout`](https://github.com/actions/checkout). |
|
||||
| Property name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `github` | `object` | The top-level context available during any job or step in a workflow. |
|
||||
| `github.action` | `string` | The name of the action currently running. {% data variables.product.prodname_dotcom %} removes special characters or uses the name `__run` when the current step runs a script. If you use the same action more than once in the same job, the name will include a suffix with the sequence number with underscore before it. For example, the first script you run will have the name `__run`, and the second script will be named `__run_2`. Similarly, the second invocation of `actions/checkout` will be `actionscheckout2`. |
|
||||
| `github.action_path` | `string` | The path where your action is located. You can use this path to easily access files located in the same repository as your action. This attribute is only supported in composite actions. |
|
||||
| `github.actor` | `string` | The login of the user that initiated the workflow run. |
|
||||
| `github.base_ref` | `string` | The `base_ref` or target branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. |
|
||||
| `github.event` | `object` | The full event webhook payload. For more information, see "[Events that trigger workflows](/articles/events-that-trigger-workflows/)." You can access individual properties of the event using this context. |
|
||||
| `github.event_name` | `string` | The name of the event that triggered the workflow run. |
|
||||
| `github.event_path` | `string` | The path to the full event webhook payload on the runner. |
|
||||
| `github.head_ref` | `string` | The `head_ref` or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. |
|
||||
| `github.job` | `string` | The [`job_id`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) of the current job. |
|
||||
| `github.ref` | `string` | The branch or tag ref that triggered the workflow run. For branches this is the format `refs/heads/<branch_name>`, and for tags it is `refs/tags/<tag_name>`. |
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5338 %}
|
||||
| `github.ref_name` | `string` | {% data reusables.actions.ref_name-description %} |
|
||||
| `github.ref_protected` | `string` | {% data reusables.actions.ref_protected-description %} |
|
||||
| `github.ref_type` | `string` | {% data reusables.actions.ref_type-description %} |
|
||||
{%- endif %}
|
||||
| `github.repository` | `string` | The owner and repository name. For example, `Codertocat/Hello-World`. |
|
||||
| `github.repository_owner` | `string` | The repository owner's name. For example, `Codertocat`. |
|
||||
| `github.run_id` | `string` | {% data reusables.github-actions.run_id_description %} |
|
||||
| `github.run_number` | `string` | {% data reusables.github-actions.run_number_description %} |
|
||||
| `github.run_attempt` | `string` | A unique number for each attempt of a particular workflow run in a repository. This number begins at 1 for the workflow run's first attempt, and increments with each re-run. |
|
||||
| `github.server_url` | `string` | Returns the URL of the GitHub server. For example: `https://github.com`. |
|
||||
| `github.sha` | `string` | The commit SHA that triggered the workflow run. |
|
||||
| `github.token` | `string` | A token to authenticate on behalf of the GitHub App installed on your repository. This is functionally equivalent to the `GITHUB_TOKEN` secret. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." |
|
||||
| `github.workflow` | `string` | The name of the workflow. If the workflow file doesn't specify a `name`, the value of this property is the full path of the workflow file in the repository. |
|
||||
| `github.workspace` | `string` | The default working directory for steps and the default location of your repository when using the [`checkout`](https://github.com/actions/checkout) action. |
|
||||
|
||||
### contexto de `env`
|
||||
### `env` context
|
||||
|
||||
El contexto de `Env` contiene las variables de entorno que se han establecido en un flujo de trabajo, puesto o paso. Para obtener más información acerca de la configuración de variables de entorno en tu flujo de trabajo, consulta "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)".
|
||||
The `env` context contains environment variables that have been set in a workflow, job, or step. For more information about setting environment variables in your workflow, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)."
|
||||
|
||||
La sintaxis de contexto `env` te permite usar el valor de una variable de entorno en tu archivo de flujo de trabajo. Puedes utilizar el contexto `env` en el valor de cualquier clave en un **paso**, con excepción de las claves `id` y `uses`. Para obtener más información sobre la sintaxis del paso, consulta "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps)".
|
||||
The `env` context syntax allows you to use the value of an environment variable in your workflow file. You can use the `env` context in the value of any key in a **step** except for the `id` and `uses` keys. For more information on the step syntax, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps)."
|
||||
|
||||
Si quieres usar el valor de una variable de entorno dentro de un ejecutor, usa el método normal del sistema operativo del ejecutor para leer las variables de entorno.
|
||||
If you want to use the value of an environment variable inside a runner, use the runner operating system's normal method for reading environment variables.
|
||||
|
||||
| Nombre de la propiedad | Type | Descripción |
|
||||
| ---------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||
| `env` | `objeto` | Este contexto cambia para cada paso de un trabajo. Puedes acceder a este contexto desde cualquier paso en un trabajo. |
|
||||
| `Env.<env_name>` | `secuencia` | El valor de una variable de entorno específica. |
|
||||
| Property name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `env` | `object` | This context changes for each step in a job. You can access this context from any step in a job. |
|
||||
| `env.<env_name>` | `string` | The value of a specific environment variable. |
|
||||
|
||||
### contexto de `job`
|
||||
### `job` context
|
||||
|
||||
El contexto de `job` contiene información sobre el trabajo de ejecución actual.
|
||||
The `job` context contains information about the currently running job.
|
||||
|
||||
| Nombre de la propiedad | Type | Descripción |
|
||||
| ----------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `job` | `objeto` | Este contexto cambia para cada trabajo de una ejecución de flujo de trabajo. Puedes acceder a este contexto desde cualquier paso en un trabajo. |
|
||||
| `job.container` | `objeto` | Información sobre el contenedor del trabajo. Para obtener más información sobre los contenedores, consulta "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer)". |
|
||||
| `job.container.id` | `secuencia` | La Id de la red del contenedor. |
|
||||
| `job.container.network` | `secuencia` | La Id. de la red del contenedor. El ejecutor crea la red usada por todos los contenedores en un trabajo. |
|
||||
| `job.services` | `objeto` | Los contenedores de servicio creados para un trabajo. Para obtener más información sobre los contenedores de servicios, consulta "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idservices)". |
|
||||
| `job.services.<service id>.id` | `secuencia` | La Id del contenedor de servicio. |
|
||||
| `job.services.<service id>.network` | `secuencia` | La Id. de la red del contenedor de servicios. El ejecutor crea la red usada por todos los contenedores en un trabajo. |
|
||||
| `job.services.<service id>.ports` | `objeto` | Los puertos expuestos del contenedor del servicio. |
|
||||
| `job.status` | `secuencia` | El estado actual del trabajo. Los valores posibles son `success`, `failure` o `cancelled`. |
|
||||
| Property name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `job` | `object` | This context changes for each job in a workflow run. You can access this context from any step in a job. |
|
||||
| `job.container` | `object` | Information about the job's container. For more information about containers, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer)." |
|
||||
| `job.container.id` | `string` | The id of the container. |
|
||||
| `job.container.network` | `string` | The id of the container network. The runner creates the network used by all containers in a job. |
|
||||
| `job.services` | `object` | The service containers created for a job. For more information about service containers, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idservices)." |
|
||||
| `job.services.<service id>.id` | `string` | The id of the service container. |
|
||||
| `job.services.<service id>.network` | `string` | The id of the service container network. The runner creates the network used by all containers in a job. |
|
||||
| `job.services.<service id>.ports` | `object` | The exposed ports of the service container. |
|
||||
| `job.status` | `string` | The current status of the job. Possible values are `success`, `failure`, or `cancelled`. |
|
||||
|
||||
### contexto de `steps`
|
||||
### `steps` context
|
||||
|
||||
El contexto de `steps` contiene información sobre los pasos del trabajo actual que ya se han ejecutado.
|
||||
The `steps` context contains information about the steps in the current job that have already run.
|
||||
|
||||
| Nombre de la propiedad | Type | Descripción |
|
||||
| --------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `pasos` | `objeto` | Este contexto cambia para cada paso de un trabajo. Puedes acceder a este contexto desde cualquier paso en un trabajo. |
|
||||
| `steps.<step id>.outputs` | `objeto` | El conjunto de salidas definido para el paso. Para obtener más información, consulta "[Sintaxis de metadatos para {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs)". |
|
||||
| `steps.<step id>.conclusion` | `secuencia` | El resultado de un paso completado después de que se aplica [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error). Los valores posibles son `success`, `failure`, `cancelled`, o `skipped`. Cuando falla un paso de `continue-on-error`, el `outcome` es `failure`, pero la `conclusion` final es `success`. |
|
||||
| `steps.<step id>.outcome` | `secuencia` | El resultado de un paso completado antes de que se aplique [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error). Los valores posibles son `success`, `failure`, `cancelled`, o `skipped`. Cuando falla un paso de `continue-on-error`, el `outcome` es `failure`, pero la `conclusion` final es `success`. |
|
||||
| `steps.<step id>.outputs.<output name>` | `secuencia` | El valor de un resultado específico. |
|
||||
| Property name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `steps` | `object` | This context changes for each step in a job. You can access this context from any step in a job. |
|
||||
| `steps.<step id>.outputs` | `object` | The set of outputs defined for the step. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs)." |
|
||||
| `steps.<step id>.conclusion` | `string` | The result of a completed step after [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error) is applied. Possible values are `success`, `failure`, `cancelled`, or `skipped`. When a `continue-on-error` step fails, the `outcome` is `failure`, but the final `conclusion` is `success`. |
|
||||
| `steps.<step id>.outcome` | `string` | The result of a completed step before [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error) is applied. Possible values are `success`, `failure`, `cancelled`, or `skipped`. When a `continue-on-error` step fails, the `outcome` is `failure`, but the final `conclusion` is `success`. |
|
||||
| `steps.<step id>.outputs.<output name>` | `string` | The value of a specific output. |
|
||||
|
||||
### Contexto de `runner`
|
||||
### `runner` context
|
||||
|
||||
El contexto de `runner` contiene información sobre el ejecutor que está ejecutando el trabajo actual.
|
||||
The `runner` context contains information about the runner that is executing the current job.
|
||||
|
||||
| Nombre de la propiedad | Type | Descripción |
|
||||
| ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `runner.name` | `secuencia` | {% data reusables.actions.runner-name-description %}
|
||||
| `runner.os` | `secuencia` | {% data reusables.actions.runner-os-description %}
|
||||
| `runner.temp` | `secuencia` | {% data reusables.actions.runner-temp-directory-description %}
|
||||
| `runner.tool_cache` | `secuencia` | {% ifversion ghae %}Para obtener instrucciones de cómo asegurarte de que tu {% data variables.actions.hosted_runner %} tiene instalado el software necesario, consulta la sección "[Crear imágenes personalizadas](/actions/using-github-hosted-runners/creating-custom-images)". {% else %} {% data reusables.actions.runner-tool-cache-description %} {% endif %}
|
||||
| Property name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `runner.name` | `string` | {% data reusables.actions.runner-name-description %} |
|
||||
| `runner.os` | `string` | {% data reusables.actions.runner-os-description %} |
|
||||
| `runner.temp` | `string` | {% data reusables.actions.runner-temp-directory-description %} |
|
||||
| `runner.tool_cache` | `string` | {% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data reusables.actions.runner-tool-cache-description %} {% endif %}|
|
||||
|
||||
### Contexto `needs`
|
||||
### `needs` context
|
||||
|
||||
El contexto `needs` contiene salidas de todos los jobs que se definen como dependencia del job actual. Para obtener más información sobre la definición de dependencias de jobs, consulta la sección "[Sintaxis de flujos de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds)".
|
||||
The `needs` context contains outputs from all jobs that are defined as a dependency of the current job. For more information on defining job dependencies, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds)."
|
||||
|
||||
| Nombre de la propiedad | Type | Descripción |
|
||||
| -------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `needs.<job id>` | `objeto` | Un solo job del cual depende el job actual. |
|
||||
| `needs.<job id>.outputs` | `objeto` | El conjunto de resultados de un job del cual depende el job actual. |
|
||||
| `needs.<job id>.outputs.<output name>` | `secuencia` | El valor de un resultado específico para un job del cual depende el job actual. |
|
||||
| `needs.<job id>.result` | `secuencia` | El resultado de un job del cual depende el job actual. Los valores posibles son `success`, `failure`, `cancelled`, o `skipped`. |
|
||||
| Property name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `needs.<job id>` | `object` | A single job that the current job depends on. |
|
||||
| `needs.<job id>.outputs` | `object` | The set of outputs of a job that the current job depends on. |
|
||||
| `needs.<job id>.outputs.<output name>` | `string` | The value of a specific output for a job that the current job depends on. |
|
||||
| `needs.<job id>.result` | `string` | The result of a job that the current job depends on. Possible values are `success`, `failure`, `cancelled`, or `skipped`. |
|
||||
|
||||
#### Ejemplo de impresión de información de contexto de un archivo de registro
|
||||
{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %}
|
||||
### `inputs` context
|
||||
|
||||
Para revisar la información accesible en cada contexto, puedes utilizar este ejemplo de archivo de flujo de trabajo.
|
||||
The `inputs` context contains information about the inputs of reusable workflow. The inputs are defined in [`workflow_call` event configuration](/actions/learn-github-actions/events-that-trigger-workflows#workflow-reuse-events). These inputs are passed from [`jobs.<job_id>.with`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idwith) in an external workflow.
|
||||
|
||||
For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)".
|
||||
|
||||
| Property name | Type | Description |
|
||||
|---------------|------|-------------|
|
||||
| `inputs` | `object` | This context is only available when it is [a reusable workflow](/actions/learn-github-actions/reusing-workflows). |
|
||||
| `inputs.<name>` | `string` or `number` or `boolean` | Each input value passed from an external workflow. |
|
||||
{% endif %}
|
||||
|
||||
#### Example printing context information to the log file
|
||||
|
||||
To inspect the information that is accessible in each context, you can use this workflow file example.
|
||||
|
||||
{% data reusables.github-actions.github-context-warning %}
|
||||
|
||||
@@ -190,41 +209,79 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Disponibilidad de contexto
|
||||
## Context availability
|
||||
|
||||
Hay diferentes contextos disponibles a lo largo de un ejecutor de flujo de trabajo. Por ejemplo, el contexto `secrets` solo puede utilizarse en algunos lugares dentro de un job.
|
||||
Different contexts are available throughout a workflow run. For example, the `secrets` context may only be used at certain places within a job.
|
||||
|
||||
Adicionalmente, algunas funcionalidades solo pueden utilizarse en algunos lugares. Por ejemplo, la función `hashFiles` no está disponible en todas partes.
|
||||
In addition, some functions may only be used in certain places. For example, the `hashFiles` function is not available everywhere.
|
||||
|
||||
La siguiente tabla indica si cada contexto y fución especial puede utilizarse dentro de un flujo de trabajo. A menos de que se liste a continuación, las funciones se pueden utilizar donde sea.
|
||||
The following table indicates where each context and special function can be used within a workflow. Unless listed below, a function can be used anywhere.
|
||||
|
||||
| Ruta | Contexto | Funciones especiales |
|
||||
| -------------------------- | -------------------------- | -------------------------- |
|
||||
| <code>concurrency</code> | <code>github</code> | |
|
||||
| <code>env</code> | <code>github, secretos</code> | |
|
||||
| <code>jobs.<job_id>.concurrency</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
| <code>jobs.<job_id>.container</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
| <code>jobs.<job_id>.container.credentials</code> | <code>github, necesidades, estrategia, matriz, env, secretos</code> | |
|
||||
| <code>jobs.<job_id>.container.env.<env_id></code> | <code>github, necesidades, estrategia, matriz, job, ejecutar, env, secretos</code> | |
|
||||
| <code>jobs.<job_id>.continue-on-error</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
| <code>jobs.<job_id>.defaults.run</code> | <code>github, necesidades, estrategia, matriz, env</code> | |
|
||||
| <code>jobs.<job_id>.env</code> | <code>github, necesidades, estrategia, matriz, secretos</code> | |
|
||||
| <code>jobs.<job_id>.environment</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
| <code>jobs.<job_id>.environment.url</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, pasos</code> | |
|
||||
| <code>jobs.<job_id>.if</code> | <code>github, necesidades</code> | <code>siempre, cancellado, éxito, fallo</code> |
|
||||
| <code>jobs.<job_id>.name</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
| <code>jobs.<job_id>.outputs.<output_id></code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | |
|
||||
| <code>jobs.<job_id>.runs-on</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
| <code>jobs.<job_id>.services</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
| <code>jobs.<job_id>.services.<service_id>.credentials</code> | <code>github, necesidades, estrategia, matriz, env, secretos</code> | |
|
||||
| <code>jobs.<job_id>.services.<service_id>.env.<env_id></code> | <code>github, necesidades, estrategia, matriz, job, ejecutar, env, secretos</code> | |
|
||||
| <code>jobs.<job_id>.steps.continue-on-error</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.env</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.if</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, pasos</code> | <code>siempre, cancelado, éxito, fallo, hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.name</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.run</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.timeout-minutes</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.with</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.working-directory</code> | <code>github, necesidades, estrategia, matriz, job, ejecutor, env, secretos, pasos</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.strategy</code> | <code>github, necesidades</code> | |
|
||||
| <code>jobs.<job_id>.timeout-minutes</code> | <code>github, necesidades, estrategia, matriz</code> | |
|
||||
{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %}
|
||||
|
||||
| Path | Context | Special functions |
|
||||
| ---- | ------- | ----------------- |
|
||||
| <code>concurrency</code> | <code>github</code> | |
|
||||
| <code>env</code> | <code>github, secrets, inputs</code> | |
|
||||
| <code>jobs.<job_id>.concurrency</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.container</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.container.credentials</code> | <code>github, needs, strategy, matrix, env, secrets, inputs</code> | |
|
||||
| <code>jobs.<job_id>.container.env.<env_id></code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, inputs</code> | |
|
||||
| <code>jobs.<job_id>.continue-on-error</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.defaults.run</code> | <code>github, needs, strategy, matrix, env, inputs</code> | |
|
||||
| <code>jobs.<job_id>.env</code> | <code>github, needs, strategy, matrix, secrets, inputs</code> | |
|
||||
| <code>jobs.<job_id>.environment</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.environment.url</code> | <code>github, needs, strategy, matrix, job, runner, env, steps, inputs</code> | |
|
||||
| <code>jobs.<job_id>.if</code> | <code>github, needs, inputs</code> | <code>always, cancelled, success, failure</code> |
|
||||
| <code>jobs.<job_id>.name</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.outputs.<output_id></code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs</code> | |
|
||||
| <code>jobs.<job_id>.runs-on</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.secrets.<secrets_id></code> | <code>github, needs, secrets</code> | |
|
||||
| <code>jobs.<job_id>.services</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.services.<service_id>.credentials</code> | <code>github, needs, strategy, matrix, env, secrets, inputs</code> | |
|
||||
| <code>jobs.<job_id>.services.<service_id>.env.<env_id></code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, inputs</code> | |
|
||||
| <code>jobs.<job_id>.steps.continue-on-error</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.env</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.if</code> | <code>github, needs, strategy, matrix, job, runner, env, steps, inputs</code> | <code>always, cancelled, success, failure, hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.name</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.run</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.timeout-minutes</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.with</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.working-directory</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.strategy</code> | <code>github, needs, inputs</code> | |
|
||||
| <code>jobs.<job_id>.timeout-minutes</code> | <code>github, needs, strategy, matrix, inputs</code> | |
|
||||
| <code>jobs.<job_id>.with.<with_id></code> | <code>github, needs</code> | |
|
||||
| <code>on.workflow_call.inputs.<inputs_id>.default</code> | <code>github</code> | |
|
||||
| <code>on.workflow_call.outputs.<output_id>.value</code> | <code>github, jobs, inputs</code> | |
|
||||
{% else %}
|
||||
| Path | Context | Special functions |
|
||||
| ---- | ------- | ----------------- |
|
||||
| <code>concurrency</code> | <code>github</code> | |
|
||||
| <code>env</code> | <code>github, secrets</code> | |
|
||||
| <code>jobs.<job_id>.concurrency</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
| <code>jobs.<job_id>.container</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
| <code>jobs.<job_id>.container.credentials</code> | <code>github, needs, strategy, matrix, env, secrets</code> | |
|
||||
| <code>jobs.<job_id>.container.env.<env_id></code> | <code>github, needs, strategy, matrix, job, runner, env, secrets</code> | |
|
||||
| <code>jobs.<job_id>.continue-on-error</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
| <code>jobs.<job_id>.defaults.run</code> | <code>github, needs, strategy, matrix, env</code> | |
|
||||
| <code>jobs.<job_id>.env</code> | <code>github, needs, strategy, matrix, secrets</code> | |
|
||||
| <code>jobs.<job_id>.environment</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
| <code>jobs.<job_id>.environment.url</code> | <code>github, needs, strategy, matrix, job, runner, env, steps</code> | |
|
||||
| <code>jobs.<job_id>.if</code> | <code>github, needs</code> | <code>always, cancelled, success, failure</code> |
|
||||
| <code>jobs.<job_id>.name</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
| <code>jobs.<job_id>.outputs.<output_id></code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | |
|
||||
| <code>jobs.<job_id>.runs-on</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
| <code>jobs.<job_id>.services</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
| <code>jobs.<job_id>.services.<service_id>.credentials</code> | <code>github, needs, strategy, matrix, env, secrets</code> | |
|
||||
| <code>jobs.<job_id>.services.<service_id>.env.<env_id></code> | <code>github, needs, strategy, matrix, job, runner, env, secrets</code> | |
|
||||
| <code>jobs.<job_id>.steps.continue-on-error</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.env</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.if</code> | <code>github, needs, strategy, matrix, job, runner, env, steps</code> | <code>always, cancelled, success, failure, hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.name</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.run</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.timeout-minutes</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.with</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.steps.working-directory</code> | <code>github, needs, strategy, matrix, job, runner, env, secrets, steps</code> | <code>hashFiles</code> |
|
||||
| <code>jobs.<job_id>.strategy</code> | <code>github, needs</code> | |
|
||||
| <code>jobs.<job_id>.timeout-minutes</code> | <code>github, needs, strategy, matrix</code> | |
|
||||
{% endif %}
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Variables del entorno
|
||||
intro: '{% data variables.product.prodname_dotcom %} establece variables de entorno predeterminadas para cada ejecución de flujo de trabajo de {% data variables.product.prodname_actions %}. También puedes establecer variables de entorno personalizadas en tu archivo de flujo de trabajo.'
|
||||
title: Environment variables
|
||||
intro: '{% data variables.product.prodname_dotcom %} sets default environment variables for each {% data variables.product.prodname_actions %} workflow run. You can also set custom environment variables in your workflow file.'
|
||||
redirect_from:
|
||||
- /github/automating-your-workflow-with-github-actions/using-environment-variables
|
||||
- /actions/automating-your-workflow-with-github-actions/using-environment-variables
|
||||
@@ -17,11 +17,11 @@ versions:
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca de las variables de entorno
|
||||
## About environment variables
|
||||
|
||||
{% data variables.product.prodname_dotcom %} establece las variables de entorno predeterminadas que están disponibles para cada paso en una ejecución de flujo de trabajo. Las variables de entorno distinguen mayúsculas de minúsculas. Los comandos que se ejecutan en acciones o pasos pueden crear, leer y modificar variables de entorno.
|
||||
{% data variables.product.prodname_dotcom %} sets default environment variables that are available to every step in a workflow run. Environment variables are case-sensitive. Commands run in actions or steps can create, read, and modify environment variables.
|
||||
|
||||
Para establecer variables de entorno personalizadas, debes especificar las variables en el archivo de flujo de trabajo. Puedes definir variables de ambiente para un paso, job o para todo el flujo de trabajo si utilizas las palabras clave [`jobs.<job_id>.steps[*].env`](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv), [`jobs.<job_id>.env`](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idenv), y [`env`](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env). Para obtener más información, consulta "[Sintaxis del flujo de trabajo para {% data variables.product.prodname_dotcom %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idstepsenv)".
|
||||
To set custom environment variables, you need to specify the variables in the workflow file. You can define environment variables for a step, job, or entire workflow using the [`jobs.<job_id>.steps[*].env`](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv), [`jobs.<job_id>.env`](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idenv), and [`env`](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env) keywords. For more information, see "[Workflow syntax for {% data variables.product.prodname_dotcom %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idstepsenv)."
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -41,55 +41,60 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Para utilizar el valor de una variable de ambiente en un archivo de flujo de trabajo, deberías utilizar el [contexto `env`](/actions/reference/context-and-expression-syntax-for-github-actions#env-context). Si quieres utilizar el valor de una variable de ambiente dentro de un ejecutor, puedes utilizar el método normal del sistema operativo ejecutor para leer las variables de ambiente.
|
||||
To use the value of an environment variable in a workflow file, you should use the [`env` context](/actions/reference/context-and-expression-syntax-for-github-actions#env-context). If you want to use the value of an environment variable inside a runner, you can use the runner operating system's normal method for reading environment variables.
|
||||
|
||||
Si utilizas la clave `run` de los archivos del flujo de trabajo para leer las variables de ambiente desde dentro del sistema operativo ejecutor (como se muestra en el ejemplo anterior), dicha variable se sustituirá en el sistema operativo ejecutor después de que se envíe el job al ejecutor. En el caso de otras partes de un archivo de flujo de trabajo, debes utilizar el contexto `env` para leer las variables de ambiente; esto es porque las claves de flujo de trabajo (tales como `if`) requieren que se sustituya la variable durante el procesamiento de dicho flujo de trabajo antes de que se envíe al ejecutor.
|
||||
If you use the workflow file's `run` key to read environment variables from within the runner operating system (as shown in the example above), the variable is substituted in the runner operating system after the job is sent to the runner. For other parts of a workflow file, you must use the `env` context to read environment variables; this is because workflow keys (such as `if`) require the variable to be substituted during workflow processing before it is sent to the runner.
|
||||
|
||||
You can also use the `GITHUB_ENV` environment file to set an environment variable that the following steps in a job can use. The environment file can be used directly by an action or as a shell command in a workflow file using the `run` keyword. Para obtener más información, consulta "[Comandos de flujo de trabajo para las {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)."
|
||||
You can also use the `GITHUB_ENV` environment file to set an environment variable that the following steps in a job can use. The environment file can be used directly by an action or as a shell command in a workflow file using the `run` keyword. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)."
|
||||
|
||||
## Variables de entorno predeterminadas
|
||||
## Default environment variables
|
||||
|
||||
Te recomendamos encarecidamente que las acciones usen variables de entorno para acceder al sistema de archivos en lugar de usar rutas de archivo codificadas de forma rígida. {% data variables.product.prodname_dotcom %} establece variables de entorno para que las acciones se utilicen en todos los entornos del ejecutador.
|
||||
We strongly recommend that actions use environment variables to access the filesystem rather than using hardcoded file paths. {% data variables.product.prodname_dotcom %} sets environment variables for actions to use in all runner environments.
|
||||
|
||||
| Variable de entorno | Descripción |
|
||||
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `CI` | Siempre configurar en `true`. |
|
||||
| `GITHUB_WORKFLOW` | El nombre del flujo de trabajo. |
|
||||
| `GITHUB_RUN_ID` | {% data reusables.github-actions.run_id_description %}
|
||||
| `GITHUB_RUN_NUMBER` | {% data reusables.github-actions.run_number_description %}
|
||||
| `GITHUB_JOB` | La [job_id](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) del job actual. |
|
||||
| `GITHUB_ACTION` | El único identificador (`id`) de la acción. |
|
||||
| `GITHUB_ACTION_PATH` | La ruta en donde se ubica tu acción. Puedes utilizar esta ruta para acceder a los archivos ubicados en el mismo repositorio que tu acción. Esta variable solo es compatible con las acciones compuestas. |
|
||||
| `GITHUB_ACTIONS` | Siempre establecido en `true` cuando {% data variables.product.prodname_actions %} está ejecutando el flujo de trabajo. Puedes usar esta variable para diferenciar cuando las pruebas se ejecutan de forma local o mediante {% data variables.product.prodname_actions %}. |
|
||||
| `GITHUB_ACTOR` | El nombre de la persona o de la aplicación que inició el flujo de trabajo. Por ejemplo, `octocat`. |
|
||||
| `GITHUB_REPOSITORY` | El nombre del repositorio y del propietario. Por ejemplo, `octocat/Hello-World`. |
|
||||
| `GITHUB_EVENT_NAME` | El nombre del evento webhook que activó el flujo de trabajo. |
|
||||
| `GITHUB_EVENT_PATH` | La ruta del archivo con la carga completa del evento webhook. Por ejemplo, `/github/workflow/event.json`. |
|
||||
| `GITHUB_WORKSPACE` | La ruta de directorio del espacio de trabajo de {% data variables.product.prodname_dotcom %}, inicialmente vacía. Por ejemplo, `/home/runner/work/my-repo-name/my-repo-name`. La acción [actions/checkout](https://github.com/actions/checkout) verificará los archivos, predeterminadamente una copia de tu repositorio, dentro de este directorio. |
|
||||
| `GITHUB_SHA` | El SHA de confirmación que activó el flujo de trabajo. Por ejemplo, `ffac537e6cbbf934b08745a378932722df287a53`. |
|
||||
| `GITHUB_REF` | La referencia de etiqueta o rama que activó el flujo de trabajo. Por ejemplo, `refs/heads/feature-branch-1`. Si no hay una rama o una etiqueta disponible para el tipo de evento, la variable no existirá. |
|
||||
| `GITHUB_HEAD_REF` | Solo se configura para eventos de solicitudes de cambio. El nombre de la rama principal. |
|
||||
| `GITHUB_BASE_REF` | Solo se configura para eventos de solicitudes de cambio. El nombre de la rama base. |
|
||||
| `GITHUB_SERVER_URL` | Devuelve la URL del servidor de {% data variables.product.product_name %}. Por ejemplo: `https://{% data variables.product.product_url %}`. |
|
||||
| `GITHUB_API_URL` | Devuelve la URL de la API. Por ejemplo: `{% data variables.product.api_url_code %}`. |
|
||||
| `GITHUB_GRAPHQL_URL` | Devuelve la URL de la API de GraphQL. Por ejemplo: `{% data variables.product.graphql_url_code %}`. |
|
||||
| `RUNNER_NAME` | {% data reusables.actions.runner-name-description %}
|
||||
| `RUNNER_OS` | {% data reusables.actions.runner-os-description %}
|
||||
| `RUNNER_TEMP` | {% data reusables.actions.runner-temp-directory-description %}
|
||||
| Environment variable | Description |
|
||||
| ---------------------|------------ |
|
||||
| `CI` | Always set to `true`. |
|
||||
| `GITHUB_WORKFLOW` | The name of the workflow. |
|
||||
| `GITHUB_RUN_ID` | {% data reusables.github-actions.run_id_description %} |
|
||||
| `GITHUB_RUN_NUMBER` | {% data reusables.github-actions.run_number_description %} |
|
||||
| `GITHUB_JOB` | The [job_id](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) of the current job. |
|
||||
| `GITHUB_ACTION` | The unique identifier (`id`) of the action. |
|
||||
| `GITHUB_ACTION_PATH` | The path where your action is located. You can use this path to access files located in the same repository as your action. This variable is only supported in composite actions. |
|
||||
| `GITHUB_ACTIONS` | Always set to `true` when {% data variables.product.prodname_actions %} is running the workflow. You can use this variable to differentiate when tests are being run locally or by {% data variables.product.prodname_actions %}.
|
||||
| `GITHUB_ACTOR` | The name of the person or app that initiated the workflow. For example, `octocat`. |
|
||||
| `GITHUB_REPOSITORY` | The owner and repository name. For example, `octocat/Hello-World`. |
|
||||
| `GITHUB_EVENT_NAME` | The name of the webhook event that triggered the workflow. |
|
||||
| `GITHUB_EVENT_PATH` | The path of the file with the complete webhook event payload. For example, `/github/workflow/event.json`. |
|
||||
| `GITHUB_WORKSPACE` | The {% data variables.product.prodname_dotcom %} workspace directory path, initially empty. For example, `/home/runner/work/my-repo-name/my-repo-name`. The [actions/checkout](https://github.com/actions/checkout) action will check out files, by default a copy of your repository, within this directory. |
|
||||
| `GITHUB_SHA` | The commit SHA that triggered the workflow. For example, `ffac537e6cbbf934b08745a378932722df287a53`. |
|
||||
| `GITHUB_REF` | The branch or tag ref that triggered the workflow. For example, `refs/heads/feature-branch-1`. If neither a branch or tag is available for the event type, the variable will not exist. |
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5338 %}
|
||||
| `GITHUB_REF_NAME` | {% data reusables.actions.ref_name-description %} |
|
||||
| `GITHUB_REF_PROTECTED` | {% data reusables.actions.ref_protected-description %} |
|
||||
| `GITHUB_REF_TYPE` | {% data reusables.actions.ref_type-description %} |
|
||||
{%- endif %}
|
||||
| `GITHUB_HEAD_REF` | Only set for pull request events. The name of the head branch.
|
||||
| `GITHUB_BASE_REF` | Only set for pull request events. The name of the base branch.
|
||||
| `GITHUB_SERVER_URL`| Returns the URL of the {% data variables.product.product_name %} server. For example: `https://{% data variables.product.product_url %}`.
|
||||
| `GITHUB_API_URL` | Returns the API URL. For example: `{% data variables.product.api_url_code %}`.
|
||||
| `GITHUB_GRAPHQL_URL` | Returns the GraphQL API URL. For example: `{% data variables.product.graphql_url_code %}`.
|
||||
| `RUNNER_NAME` | {% data reusables.actions.runner-name-description %}
|
||||
| `RUNNER_OS` | {% data reusables.actions.runner-os-description %}
|
||||
| `RUNNER_TEMP` | {% data reusables.actions.runner-temp-directory-description %}
|
||||
{% ifversion not ghae %}| `RUNNER_TOOL_CACHE` | {% data reusables.actions.runner-tool-cache-description %}{% endif %}
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Nota:** Si necesitas utilizar la URL de la ejecución de un flujo de trabajo desde dentro de un job, puedes combinar estas variables de ambiente: `$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID`
|
||||
**Note:** If you need to use a workflow run's URL from within a job, you can combine these environment variables: `$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID`
|
||||
|
||||
{% endtip %}
|
||||
|
||||
### Determinar cuándo utilizar las variables de ambiente o contextos predeterminados
|
||||
### Determining when to use default environment variables or contexts
|
||||
|
||||
{% data reusables.github-actions.using-context-or-environment-variables %}
|
||||
|
||||
## Convenciones de nomenclatura para las variables de entorno
|
||||
## Naming conventions for environment variables
|
||||
|
||||
Cuando configuras una variable de ambiente personalizada, no puedes utilizar ninguno de los nombres de variable de ambiente predeterminados que se listan anteriormente con el prefijo `GITHUB_`. Si intentas anular el valor de estas variables de ambiente predeterminadas, se ignorará la tarea.
|
||||
When you set a custom environment variable, you cannot use any of the default environment variable names listed above with the prefix `GITHUB_`. If you attempt to override the value of one of these default environment variables, the assignment is ignored.
|
||||
|
||||
Toda variable de entorno nueva que configures y que apunte a una ubicación en el sistema de archivos debe tener un sufijo `_PATH`. Las variables predeterminadas `HOME` y `GITHUB_WORKSPACE` son excepciones a esta convención, porque las palabras "inicio" (home) y "espacio de trabajo" (workspace) ya implican una ubicación.
|
||||
Any new environment variables you set that point to a location on the filesystem should have a `_PATH` suffix. The `HOME` and `GITHUB_WORKSPACE` default variables are exceptions to this convention because the words "home" and "workspace" already imply a location.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Eventos que desencadenan flujos de trabajo
|
||||
intro: 'Puedes configurar tus flujos de trabajo para que se ejecuten cuando ocurre una actividad específica en {% data variables.product.product_name %}, en un horario programado o cuando se produce un evento fuera de {% data variables.product.product_name %}.'
|
||||
title: Events that trigger workflows
|
||||
intro: 'You can configure your workflows to run when specific activity on {% data variables.product.product_name %} happens, at a scheduled time, or when an event outside of {% data variables.product.product_name %} occurs.'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
redirect_from:
|
||||
- /articles/events-that-trigger-workflows
|
||||
@@ -12,50 +12,50 @@ versions:
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
ghec: '*'
|
||||
shortTitle: Eventos que desencadenan flujos de trabajo
|
||||
shortTitle: Events that trigger workflows
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Configurar los eventos del flujo de trabajo
|
||||
## Configuring workflow events
|
||||
|
||||
Puedes configurar los flujos de trabajo para que se ejecuten una o más veces utilizando la sintaxis de flujo de trabajo `on`. Para obtener más información, consulta la sección "[Sintaxis del flujo de trabajo para las {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#on)".
|
||||
You can configure workflows to run for one or more events using the `on` workflow syntax. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#on)."
|
||||
|
||||
{% data reusables.github-actions.actions-on-examples %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** No puedes activar nuevas ejecuciones de flujo de trabajo usando el `GITHUB_TOKEN`. Para obtener más información, consulta "[Activar nuevos flujos de trabajo mediante un token de acceso personal](#triggering-new-workflows-using-a-personal-access-token)".
|
||||
**Note:** You cannot trigger new workflow runs using the `GITHUB_TOKEN`. For more information, see "[Triggering new workflows using a personal access token](#triggering-new-workflows-using-a-personal-access-token)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Los siguientes pasos se producen para activar una ejecución de flujo de trabajo:
|
||||
The following steps occur to trigger a workflow run:
|
||||
|
||||
1. Se produce un evento en tu repositorio, y el evento resultante tiene una confirmación de SHA y una referencia de Git asociadas.
|
||||
2. El directorio `.github/workflows` en tu repositorio se busca para los archivos de flujo de trabajo en la confirmación SHA o la referencia de Git asociadas. Los archivos de flujo de trabajo deben estar presentes en la confirmación SHA o la referencia de Git que se debe tener en cuenta.
|
||||
1. An event occurs on your repository, and the resulting event has an associated commit SHA and Git ref.
|
||||
2. The `.github/workflows` directory in your repository is searched for workflow files at the associated commit SHA or Git ref. The workflow files must be present in that commit SHA or Git ref to be considered.
|
||||
|
||||
Por ejemplo, si el evento se produjo en una rama particular del repositorio, los archivos de flujo de trabajo deben estar presentes en el repositorio en esa rama.
|
||||
1. Se inspeccionarán los archivos de flujo de trabajo para esa confirmación de SHA y referencia de Git, y se activará una nueva ejecución de flujo de trabajo para cualquier flujo de trabajo que tenga valores `on:` que coincidan con el evento desencadenante.
|
||||
For example, if the event occurred on a particular repository branch, then the workflow files must be present in the repository on that branch.
|
||||
1. The workflow files for that commit SHA and Git ref are inspected, and a new workflow run is triggered for any workflows that have `on:` values that match the triggering event.
|
||||
|
||||
El flujo de trabajo se ejecuta en el código de tu repositorio en la misma confirmación SHA y la referencia de Git que desencadenó el evento. Cuando se ejecuta un flujo de trabajo, {% data variables.product.product_name %} establece las variables de entorno `GITHUB_SHA` (confirmar SHA) y `GITHUB_REF` (referencia de Git) en el entorno del ejecutor. Para obtener más información, consulta "[Usar variables de entorno](/actions/automating-your-workflow-with-github-actions/using-environment-variables)".
|
||||
The workflow runs on your repository's code at the same commit SHA and Git ref that triggered the event. When a workflow runs, {% data variables.product.product_name %} sets the `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (Git ref) environment variables in the runner environment. For more information, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)."
|
||||
|
||||
## Eventos programados
|
||||
## Scheduled events
|
||||
|
||||
El evento `schedule` te permite activar un flujo de trabajo en una hora programada.
|
||||
The `schedule` event allows you to trigger a workflow at a scheduled time.
|
||||
|
||||
{% data reusables.actions.schedule-delay %}
|
||||
|
||||
### `programación`
|
||||
### `schedule`
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------ | ------------------ | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| n/a | n/a | Última confirmación en la rama predeterminada | Rama por defecto | Cuando se establece la ejecución del flujo de trabajo programado. Un flujo de trabajo programado usa[sintaxis cron POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07). Para obtener más información, consulta "[Desencadenar un flujo de trabajo con eventos](/articles/configuring-a-workflow/#triggering-a-workflow-with-events)". |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| n/a | n/a | Last commit on default branch | Default branch | When the scheduled workflow is set to run. A scheduled workflow uses [POSIX cron syntax](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07). For more information, see "[Triggering a workflow with events](/articles/configuring-a-workflow/#triggering-a-workflow-with-events)." |
|
||||
|
||||
{% data reusables.repositories.actions-scheduled-workflow-example %}
|
||||
|
||||
La sintaxis de cron tiene cinco campos separados por un espacio, y cada campo representa una unidad de tiempo.
|
||||
Cron syntax has five fields separated by a space, and each field represents a unit of time.
|
||||
|
||||
```
|
||||
┌───────────── minute (0 - 59)
|
||||
@@ -69,54 +69,54 @@ La sintaxis de cron tiene cinco campos separados por un espacio, y cada campo re
|
||||
* * * * *
|
||||
```
|
||||
|
||||
Puedes usar estos operadores en cualquiera de los cinco campos:
|
||||
You can use these operators in any of the five fields:
|
||||
|
||||
| Operador | Descripción | Ejemplo |
|
||||
| -------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| * | Cualquier valor | `* * * * *` se ejecuta todos los días a cada minuto. |
|
||||
| , | Separador de la lista de valores | `2,10 4,5 * * *` se ejecuta en el minuto 2 y 10 de la cuarta y quinta hora de cada día. |
|
||||
| - | Rango de valores | `0 4-6 * * *` se ejecuta en el minuto 0 de la cuarta, quinta y sexta hora. |
|
||||
| / | Valores del paso | `20/15 * * * *` se ejecuta cada 15 minutos a partir del minuto 20 hasta el minuto 59 (minutos 20, 35 y 50). |
|
||||
| Operator | Description | Example |
|
||||
| -------- | ----------- | ------- |
|
||||
| * | Any value | `* * * * *` runs every minute of every day. |
|
||||
| , | Value list separator | `2,10 4,5 * * *` runs at minute 2 and 10 of the 4th and 5th hour of every day. |
|
||||
| - | Range of values | `0 4-6 * * *` runs at minute 0 of the 4th, 5th, and 6th hour. |
|
||||
| / | Step values | `20/15 * * * *` runs every 15 minutes starting from minute 20 through 59 (minutes 20, 35, and 50). |
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** {% data variables.product.prodname_actions %} no es compatible con la sintaxis que no es estándar `@yearly`, `@monthly`, `@weekly`, `@daily`, `@hourly` y `@reboot`.
|
||||
**Note:** {% data variables.product.prodname_actions %} does not support the non-standard syntax `@yearly`, `@monthly`, `@weekly`, `@daily`, `@hourly`, and `@reboot`.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Puedes usar [contrab guru](https://crontab.guru/) para generar tu sintaxis de cron y confirmar a qué hora se ejecutará. Para que puedas comenzar, hay también una lista de [ejemplos de crontab guru](https://crontab.guru/examples.html).
|
||||
You can use [crontab guru](https://crontab.guru/) to help generate your cron syntax and confirm what time it will run. To help you get started, there is also a list of [crontab guru examples](https://crontab.guru/examples.html).
|
||||
|
||||
Las notificaciones para los flujos de trabajo programados se envían al usuario que modificó por última vez la sintaxis de cron en el archivo de flujo de trabajo. Para obtener más información, por favor consulta la sección "[Notificaciones para las ejecuciones de flujo de trabajo](/actions/guides/about-continuous-integration#notifications-for-workflow-runs)".
|
||||
Notifications for scheduled workflows are sent to the user who last modified the cron syntax in the workflow file. For more information, please see "[Notifications for workflow runs](/actions/guides/about-continuous-integration#notifications-for-workflow-runs)."
|
||||
|
||||
## Eventos manuales
|
||||
## Manual events
|
||||
|
||||
Puedes activar ejecuciones de flujo de trabajo manualmente. Para activar flujos de trabajo específicos en un repositorio, utiliza el evento `workflow_dispatch`. Para activar más de un flujo de trabajo en un repositorio y crear eventos personalizados y tipos de eventos, utiliza el evento `repository_dispatch`.
|
||||
You can manually trigger workflow runs. To trigger specific workflows in a repository, use the `workflow_dispatch` event. To trigger more than one workflow in a repository and create custom events and event types, use the `repository_dispatch` event.
|
||||
|
||||
### `workflow_dispatch`
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ---------------------------------------------------------------- | ------------------ | ---------------------------------------------- | ------------------------- |
|
||||
| [workflow_dispatch](/webhooks/event-payloads/#workflow_dispatch) | n/a | Última confirmacion en la rama de `GITHUB_REF` | Rama que recibió el envío |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------ | ------------ | ------------ | ------------------|
|
||||
| [workflow_dispatch](/webhooks/event-payloads/#workflow_dispatch) | n/a | Last commit on the `GITHUB_REF` branch | Branch that received dispatch |
|
||||
|
||||
Puedes configurar propiedades de entrada definidas personalmente, valores de entrada predeterminados y entradas requeridas para el evento directamente en tu flujo de trabajo. Cuando se ejecuta el flujod e trabajo, puedes acceder a los valores de entrada en el contexto de `github.event.inputs`. Para obtener más información, consulta "[Contextos](/actions/learn-github-actions/contexts)".
|
||||
You can configure custom-defined input properties, default input values, and required inputs for the event directly in your workflow. When the workflow runs, you can access the input values in the `github.event.inputs` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts)."
|
||||
|
||||
You can manually trigger a workflow run using the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API and from {% data variables.product.product_name %}. Para obtener más información, consulta la sección "[Ejecutar un flujo de trabajo manualmente](/actions/managing-workflow-runs/manually-running-a-workflow)".
|
||||
You can manually trigger a workflow run using the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API and from {% data variables.product.product_name %}. For more information, see "[Manually running a workflow](/actions/managing-workflow-runs/manually-running-a-workflow)."
|
||||
|
||||
Cuando activas el evento en {% data variables.product.prodname_dotcom %}, puedes proporcionar la `ref` y cualquier `input` directamente en {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la sección "[Utilizar entradas y salidas con una acción](/actions/learn-github-actions/finding-and-customizing-actions#using-inputs-and-outputs-with-an-action)".
|
||||
When you trigger the event on {% data variables.product.prodname_dotcom %}, you can provide the `ref` and any `inputs` directly on {% data variables.product.prodname_dotcom %}. For more information, see "[Using inputs and outputs with an action](/actions/learn-github-actions/finding-and-customizing-actions#using-inputs-and-outputs-with-an-action)."
|
||||
|
||||
To trigger the custom `workflow_dispatch` webhook event using the REST API, you must send a `POST` request to a {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API endpoint and provide the `ref` and any required `inputs`. Para obtener más información, consulta terminal "[Crear un evento de envío de flujo de trabajo](/rest/reference/actions/#create-a-workflow-dispatch-event)" de la API de REST.
|
||||
To trigger the custom `workflow_dispatch` webhook event using the REST API, you must send a `POST` request to a {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API endpoint and provide the `ref` and any required `inputs`. For more information, see the "[Create a workflow dispatch event](/rest/reference/actions/#create-a-workflow-dispatch-event)" REST API endpoint.
|
||||
|
||||
#### Ejemplo
|
||||
#### Example
|
||||
|
||||
Para utilizar el evento de `workflow_dispatch`, necesitas incluirlo como un activador en tu archivo de flujo de trabajo de GitHub Actions. El siguiente ejemplo ejecuta el flujo de trabajo únicamente cuando se activa manualmente:
|
||||
To use the `workflow_dispatch` event, you need to include it as a trigger in your GitHub Actions workflow file. The example below only runs the workflow when it's manually triggered:
|
||||
|
||||
```yaml
|
||||
on: workflow_dispatch
|
||||
```
|
||||
|
||||
#### Ejemplo de configuración de flujo de trabajo
|
||||
#### Example workflow configuration
|
||||
|
||||
Este ejemplo define las entradas `name` y `home` y las imprime utilizando los contextos `github.event.inputs.name` y `github.event.inputs.home`. Si no se proporciona un `home`, se imprime el valor predeterminado 'The Octoverse'.
|
||||
This example defines the `name` and `home` inputs and prints them using the `github.event.inputs.name` and `github.event.inputs.home` contexts. If a `home` isn't provided, the default value 'The Octoverse' is printed.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -145,19 +145,19 @@ jobs:
|
||||
|
||||
### `repository_dispatch`
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------------------- | ------------------ | --------------------------------------------- | ---------------- |
|
||||
| [repository_dispatch](/webhooks/event-payloads/#repository_dispatch) | n/a | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------ | ------------ | ------------ | ------------------|
|
||||
| [repository_dispatch](/webhooks/event-payloads/#repository_dispatch) | n/a | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
You can use the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API to trigger a webhook event called [`repository_dispatch`](/webhooks/event-payloads/#repository_dispatch) when you want to trigger a workflow for activity that happens outside of {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la sección "[Crear un evento de envío de repositorio](/rest/reference/repos#create-a-repository-dispatch-event)".
|
||||
You can use the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API to trigger a webhook event called [`repository_dispatch`](/webhooks/event-payloads/#repository_dispatch) when you want to trigger a workflow for activity that happens outside of {% data variables.product.prodname_dotcom %}. For more information, see "[Create a repository dispatch event](/rest/reference/repos#create-a-repository-dispatch-event)."
|
||||
|
||||
To trigger the custom `repository_dispatch` webhook event, you must send a `POST` request to a {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API endpoint and provide an `event_type` name to describe the activity type. Para desencadenar la ejecución de un flujo de trabajo, también debes configurar tu flujo de trabajo para usar el evento `repository_dispatch`.
|
||||
To trigger the custom `repository_dispatch` webhook event, you must send a `POST` request to a {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API endpoint and provide an `event_type` name to describe the activity type. To trigger a workflow run, you must also configure your workflow to use the `repository_dispatch` event.
|
||||
|
||||
#### Ejemplo
|
||||
#### Example
|
||||
|
||||
Predeterminadamente, todos los `event_types` desencadenan la ejecución de un flujo de trabajo. Puedes limitar tu flujo de trabajo para que se ejecute cuando un valor específico de `event_type` se envíe en la carga útil del webhook de `repository_dispatch`. Tú defines los tipos de evento enviados en la carga útil de `repository_dispatch` cuando creas el repositorio.
|
||||
By default, all `event_types` trigger a workflow to run. You can limit your workflow to run when a specific `event_type` value is sent in the `repository_dispatch` webhook payload. You define the event types sent in the `repository_dispatch` payload when you create the repository dispatch event.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -166,30 +166,30 @@ on:
|
||||
```
|
||||
|
||||
{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %}
|
||||
## Eventos de reutilización de flujos de trabajo
|
||||
## Workflow reuse events
|
||||
|
||||
`workflow_call` es una palabra clave que se utiliza como el valor de `on` en un flujo de trabajo de la misma forma que un evento. Esto indica que se puede llamar a un flujo de trabajo desde otro. Para obtener más información, consulta la sección "[Reutilizar los flujos de trabajo](/actions/learn-github-actions/reusing-workflows)".
|
||||
`workflow_call` is a keyword used as the value of `on` in a workflow, in the same way as an event. It indicates that a workflow can be called from another workflow. For more information see, "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)."
|
||||
|
||||
### `workflow_call`
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------ | ------------------ | ------------------------------------------ | ------------------------------------------ |
|
||||
| El mismo que el flujo de trabajo que llama | n/a | El mismo que el flujo de trabajo que llama | El mismo que el flujo de trabajo que llama |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------ | ------------ | ------------ | ------------------|
|
||||
| Same as the caller workflow | n/a | Same as the caller workflow | Same as the caller workflow |
|
||||
|
||||
#### Ejemplo
|
||||
#### Example
|
||||
|
||||
Para que un flujo de trabajo sea reutilizable, debe incluir `workflow_call` como uno de los valores de `on`. El siguiente ejemplo solo ejecuta el flujo de trabajo cuando se le llama desde otro flujo de trabajo:
|
||||
To make a workflow reusable it must include `workflow_call` as one of the values of `on`. The example below only runs the workflow when it's called from another workflow:
|
||||
|
||||
```yaml
|
||||
on: workflow_call
|
||||
```
|
||||
{% endif %}
|
||||
|
||||
## Eventos de webhook
|
||||
## Webhook events
|
||||
|
||||
Puedes configurar tu flujo de trabajo para que se ejecute cuando se generen los eventos de webhook en {% data variables.product.product_name %}. Algunos eventos tienen más de un tipo de actividad que activa el evento. Si más de un tipo de actividad activa el evento, puedes especificar qué tipos de actividad activarán el flujo de trabajo para que se ejecute. Para obtener más información, consulta la sección "[webhooks](/webhooks)".
|
||||
You can configure your workflow to run when webhook events are generated on {% data variables.product.product_name %}. Some events have more than one activity type that triggers the event. If more than one activity type triggers the event, you can specify which activity types will trigger the workflow to run. For more information, see "[Webhooks](/webhooks)."
|
||||
|
||||
No todos los eventos de webhook activan flujos de trabajo. Para encontrar una lista completa de eventos de webhook disponibles y sus cargas útiles, consulta la sección "[Eventos de webhook y cargas útiles](/developers/webhooks-and-events/webhook-events-and-payloads)".
|
||||
Not all webhook events trigger workflows. For the complete list of available webhook events and their payloads, see "[Webhook events and payloads](/developers/webhooks-and-events/webhook-events-and-payloads)."
|
||||
|
||||
{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4968 %}
|
||||
### `branch_protection_rule`
|
||||
@@ -198,9 +198,9 @@ Runs your workflow anytime the `branch_protection_rule` event occurs. {% data re
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ---------------------------------------------------------------------------- | ------------------------------------------------------ | --------------------------------------------- | ---------------- |
|
||||
| [`branch_protection_rule`](/webhooks/event-payloads/#branch_protection_rule) | - `created`<br/>- `edited`<br/>- `deleted` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`branch_protection_rule`](/webhooks/event-payloads/#branch_protection_rule) | - `created`<br/>- `edited`<br/>- `deleted` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
@@ -215,17 +215,17 @@ on:
|
||||
|
||||
### `check_run`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento que se produzca el evento `check_run`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información acerca de la API de REST, consulta la sección "[Ejecuciones de verificación](/rest/reference/checks#runs)".
|
||||
Runs your workflow anytime the `check_run` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Check runs](/rest/reference/checks#runs)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`check_run`](/webhooks/event-payloads/#check_run) | - `created`<br/>- `rerequested`<br/>- `completed` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`check_run`](/webhooks/event-payloads/#check_run) | - `created`<br/>- `rerequested`<br/>- `completed` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una ejecución de verificación esté como `rerequested` o `completed`.
|
||||
For example, you can run a workflow when a check run has been `rerequested` or `completed`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -235,23 +235,23 @@ on:
|
||||
|
||||
### `check_suite`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `check_suite`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información acerca de la API de REST, consulta la sección "[Suites de verificación](/rest/reference/checks#suites)".
|
||||
Runs your workflow anytime the `check_suite` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Check suites](/rest/reference/checks#suites)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Para evitar flujos de trabajo recurrentes, este evento no activa flujos de trabajo si la comprobación de suite fue creada por {% data variables.product.prodname_actions %}.
|
||||
**Note:** To prevent recursive workflows, this event does not trigger workflows if the check suite was created by {% data variables.product.prodname_actions %}.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------------ | -------------------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`check_suite`](/webhooks/event-payloads/#check_suite) | - `completed`<br/>- `requested`<br/>- `rerequested`<br/> | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`check_suite`](/webhooks/event-payloads/#check_suite) | - `completed`<br/>- `requested`<br/>- `rerequested`<br/> | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una comprobación de ejecución ha sido `resolicitada` o `completada`.
|
||||
For example, you can run a workflow when a check suite has been `rerequested` or `completed`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -259,15 +259,15 @@ on:
|
||||
types: [rerequested, completed]
|
||||
```
|
||||
|
||||
### `create (crear)`
|
||||
### `create`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree una rama o etiqueta, que activa el evento `crear`. Para obtener más información sobre la API de REST, consulta la sección "[Crear una referencia](/rest/reference/git#create-a-reference)".
|
||||
Runs your workflow anytime someone creates a branch or tag, which triggers the `create` event. For information about the REST API, see "[Create a reference](/rest/reference/git#create-a-reference)."
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ---------------------------------------------------- | ------------------ | ------------------------------------------------ | ---------------------- |
|
||||
| [`create (crear)`](/webhooks/event-payloads/#create) | n/a | Última confirmación en la rama o etiqueta creada | Rama o etiqueta creada |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`create`](/webhooks/event-payloads/#create) | n/a | Last commit on the created branch or tag | Branch or tag created |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `crear`.
|
||||
For example, you can run a workflow when the `create` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -276,15 +276,15 @@ on:
|
||||
|
||||
### `delete`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree una rama o etiqueta, que activa el evento `eliminar`. Para obtener más información sobre la API de REST, consulta la sección "[Borrar una referencia](/rest/reference/git#delete-a-reference)".
|
||||
Runs your workflow anytime someone deletes a branch or tag, which triggers the `delete` event. For information about the REST API, see "[Delete a reference](/rest/reference/git#delete-a-reference)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------- | ------------------ | --------------------------------------------- | ---------------- |
|
||||
| [`delete`](/webhooks/event-payloads/#delete) | n/a | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`delete`](/webhooks/event-payloads/#delete) | n/a | Last commit on default branch | Default branch |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `eliminar`.
|
||||
For example, you can run a workflow when the `delete` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -293,13 +293,13 @@ on:
|
||||
|
||||
### `deployment`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que alguien cree una implementación, que activa el evento `implementación`. Las implementaciones creadas con SHA de confirmación pueden no tener una referencia de Git. Para obtener más información acerca de la API de REST, consulta la sección "[Despliegues](/rest/reference/repos#deployments)".
|
||||
Runs your workflow anytime someone creates a deployment, which triggers the `deployment` event. Deployments created with a commit SHA may not have a Git ref. For information about the REST API, see "[Deployments](/rest/reference/repos#deployments)."
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ---------------------------------------------------- | ------------------ | ------------------------------ | ------------------------------------------------------------------ |
|
||||
| [`deployment`](/webhooks/event-payloads/#deployment) | n/a | Confirmación de implementación | Rama o etiqueta que se debe implementar (vacío si está confirmada) |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`deployment`](/webhooks/event-payloads/#deployment) | n/a | Commit to be deployed | Branch or tag to be deployed (empty if commit)|
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `implementación`.
|
||||
For example, you can run a workflow when the `deployment` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -308,13 +308,13 @@ on:
|
||||
|
||||
### `deployment_status`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que un tercero proporcione un estado de implementación, que activa un evento de `deployment_status`. Las implementaciones creadas con SHA de confirmación pueden no tener una referencia de Git. Para obtener más información acerca de la API de REST, consulta la sección "[Crear un estado de despliegue](/rest/reference/repos#create-a-deployment-status)".
|
||||
Runs your workflow anytime a third party provides a deployment status, which triggers the `deployment_status` event. Deployments created with a commit SHA may not have a Git ref. For information about the REST API, see "[Create a deployment status](/rest/reference/repos#create-a-deployment-status)."
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------------------------ | ------------------ | ------------------------------ | ------------------------------------------------------------------ |
|
||||
| [`deployment_status`](/webhooks/event-payloads/#deployment_status) | n/a | Confirmación de implementación | Rama o etiqueta que se debe implementar (vacío si está confirmada) |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`deployment_status`](/webhooks/event-payloads/#deployment_status) | n/a | Commit to be deployed | Branch or tag to be deployed (empty if commit)|
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `implementación`.
|
||||
For example, you can run a workflow when the `deployment_status` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -323,24 +323,24 @@ on:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Cuando el estado de un estatus de despliegue se configure como `inactive`, no se creará un evento de webhook.
|
||||
**Note:** When a deployment status's state is set to `inactive`, a webhook event will not be created.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
### `debate`
|
||||
### `discussion`
|
||||
|
||||
Ejecuta tu flujo de trabajo cada que ocurra el evento `discussion`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de GraphQL, consulta la sección "[Debates]({% ifversion ghec %}/free-pro-team@latest{% endif %}/graphql/guides/using-the-graphql-api-for-discussions)".
|
||||
Runs your workflow anytime the `discussion` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the GraphQL API, see "[Discussions]({% ifversion ghec %}/free-pro-team@latest{% endif %}/graphql/guides/using-the-graphql-api-for-discussions)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`debate`](/webhooks/event-payloads/#discussion) | - `created`<br/>- `edited`<br/>- `deleted`<br/>- `transferred`<br/>- `pinned`<br/>- `unpinned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `locked`<br/>- `unlocked`<br/>- `category_changed`<br/> - `answered`<br/> - `unanswered` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`discussion`](/webhooks/event-payloads/#discussion) | - `created`<br/>- `edited`<br/>- `deleted`<br/>- `transferred`<br/>- `pinned`<br/>- `unpinned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `locked`<br/>- `unlocked`<br/>- `category_changed`<br/> - `answered`<br/> - `unanswered` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un debate está como `created`, `edited`, o `answered`.
|
||||
For example, you can run a workflow when a discussion has been `created`, `edited`, or `answered`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -350,17 +350,17 @@ on:
|
||||
|
||||
### `discussion_comment`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento que se produzca el evento `discussion_comment`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de GraphQL, consulta la sección "[Debates]({% ifversion ghec %}/free-pro-team@latest{% endif %}/graphql/guides/using-the-graphql-api-for-discussions)".
|
||||
Runs your workflow anytime the `discussion_comment` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the GraphQL API, see "[Discussions]({% ifversion ghec %}/free-pro-team@latest{% endif %}/graphql/guides/using-the-graphql-api-for-discussions)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`discussion_comment`](/developers/webhooks-and-events/webhook-events-and-payloads#discussion_comment) | - `created`<br/>- `edited`<br/>- `deleted`<br/> | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`discussion_comment`](/developers/webhooks-and-events/webhook-events-and-payloads#discussion_comment) | - `created`<br/>- `edited`<br/>- `deleted`<br/> | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una propuesta ha sido `created` (creada) o `deleted` (eliminada).
|
||||
For example, you can run a workflow when an issue comment has been `created` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -369,17 +369,17 @@ on:
|
||||
```
|
||||
{% endif %}
|
||||
|
||||
### `bifurcación`
|
||||
### `fork`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que alguien bifurque un repositorio, lo que activa el evento de `fork`. Para obtener más información sobre la API de REST, consulta la sección "[Crear una bifurcación](/rest/reference/repos#create-a-fork)".
|
||||
Runs your workflow anytime when someone forks a repository, which triggers the `fork` event. For information about the REST API, see "[Create a fork](/rest/reference/repos#create-a-fork)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ----------------------------------------------- | ------------------ | --------------------------------------------- | ---------------- |
|
||||
| [`bifurcación`](/webhooks/event-payloads/#fork) | n/a | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`fork`](/webhooks/event-payloads/#fork) | n/a | Last commit on default branch | Default branch |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `fork`.
|
||||
For example, you can run a workflow when the `fork` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -388,34 +388,34 @@ on:
|
||||
|
||||
### `gollum`
|
||||
|
||||
Ejecuta tu flujo de trabajo cuando alguien crea o actualiza una página Wiki, lo que activa el evento `gollum`.
|
||||
Runs your workflow when someone creates or updates a Wiki page, which triggers the `gollum` event.
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------- | ------------------ | --------------------------------------------- | ---------------- |
|
||||
| [`gollum`](/webhooks/event-payloads/#gollum) | n/a | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`gollum`](/webhooks/event-payloads/#gollum) | n/a | Last commit on default branch | Default branch |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `gollum`.
|
||||
For example, you can run a workflow when the `gollum` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
gollum
|
||||
```
|
||||
|
||||
### `comentario_propuesta`
|
||||
### `issue_comment`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `issue_comment`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información acerca de la API de REST, consulta la sección "[comentarios de una propuesta](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment)".
|
||||
Runs your workflow anytime the `issue_comment` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Issue comments](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`comentario_propuesta`](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment) | - `created`<br/>- `edited`<br/>- `deleted`<br/> | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`issue_comment`](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment) | - `created`<br/>- `edited`<br/>- `deleted`<br/> | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una propuesta ha sido `created` (creada) o `deleted` (eliminada).
|
||||
For example, you can run a workflow when an issue comment has been `created` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -423,9 +423,9 @@ on:
|
||||
types: [created, deleted]
|
||||
```
|
||||
|
||||
El evento `issue_comment` ocurre para los comentarios tanto en propuestas como en solicitudes de cambios. Para determinar si el evento `issue_comment` se activó desde una propuesta o solicitud de cambios, puedes verificar la carga útil del evento para la propiedad `issue.pull_request` y utilizarla como condición para saltarse un job.
|
||||
The `issue_comment` event occurs for comments on both issues and pull requests. To determine whether the `issue_comment` event was triggered from an issue or pull request, you can check the event payload for the `issue.pull_request` property and use it as a condition to skip a job.
|
||||
|
||||
Por ejemplo, puedes elegir ejecutar el job `pr_commented` cuando ocurren los comentarios de evento en una solicitud de cambios, y el job `issue_commented` cuando ocurran eventos de comentarios en una propuesta.
|
||||
For example, you can choose to run the `pr_commented` job when comment events occur in a pull request, and the `issue_commented` job when comment events occur in an issue.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -452,19 +452,19 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `propuestas`
|
||||
### `issues`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `issues`. {% data reusables.developer-site.multiple_activity_types %} Para obtener información acerca de la API de REST, consulta la sección "[propuestas](/rest/reference/issues)".
|
||||
Runs your workflow anytime the `issues` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Issues](/rest/reference/issues)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`propuestas`](/webhooks/event-payloads/#issues) | - `opened`<br/>- `edited`<br/>- `deleted`<br/>- `transferred`<br/>- `pinned`<br/>- `unpinned`<br/>- `closed`<br/>- `reopened`<br/>- `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `locked`<br/>- `unlocked`<br/>- `milestoned`<br/> - `demilestoned` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`issues`](/webhooks/event-payloads/#issues) | - `opened`<br/>- `edited`<br/>- `deleted`<br/>- `transferred`<br/>- `pinned`<br/>- `unpinned`<br/>- `closed`<br/>- `reopened`<br/>- `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `locked`<br/>- `unlocked`<br/>- `milestoned`<br/> - `demilestoned` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una propuesta ha sido `opened` (abierta), `edited` (editada), o `milestoned` (marcada como hito).
|
||||
For example, you can run a workflow when an issue has been `opened`, `edited`, or `milestoned`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -472,19 +472,19 @@ on:
|
||||
types: [opened, edited, milestoned]
|
||||
```
|
||||
|
||||
### `etiqueta`
|
||||
### `label`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento de `etiquetado`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Etiquetas](/rest/reference/issues#labels)".
|
||||
Runs your workflow anytime the `label` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Labels](/rest/reference/issues#labels)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------------------------------- | ----------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`etiqueta`](/webhooks/event-payloads/#label) | - `created`<br/>- `edited`<br/>- `deleted`<br/> | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`label`](/webhooks/event-payloads/#label) | - `created`<br/>- `edited`<br/>- `deleted`<br/> | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un miembro ha sido `creado` o `eliminado`.
|
||||
For example, you can run a workflow when a label has been `created` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -492,19 +492,19 @@ on:
|
||||
types: [created, deleted]
|
||||
```
|
||||
|
||||
### `hito`
|
||||
### `milestone`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `milestone`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Hitos](/rest/reference/issues#milestones)".
|
||||
Runs your workflow anytime the `milestone` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Milestones](/rest/reference/issues#milestones)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`hito`](/webhooks/event-payloads/#milestone) | - `created`<br/>- `closed`<br/>- `opened`<br/>- `edited`<br/>- `deleted`<br/> | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`milestone`](/webhooks/event-payloads/#milestone) | - `created`<br/>- `closed`<br/>- `opened`<br/>- `edited`<br/>- `deleted`<br/> | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un hito ha sido `abierto` o `eliminado`.
|
||||
For example, you can run a workflow when a milestone has been `opened` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -514,15 +514,15 @@ on:
|
||||
|
||||
### `page_build`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que alguien suba a una {% data variables.product.product_name %} Rama habilitada para páginas, que activa el evento `page_build`. Para obtener información acerca de la API de REST, consulta la sección "[Páginas](/rest/reference/repos#pages)".
|
||||
Runs your workflow anytime someone pushes to a {% data variables.product.product_name %} Pages-enabled branch, which triggers the `page_build` event. For information about the REST API, see "[Pages](/rest/reference/repos#pages)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ---------------------------------------------------- | ------------------ | --------------------------------------------- | ------------ |
|
||||
| [`page_build`](/webhooks/event-payloads/#page_build) | n/a | Última confirmación en la rama predeterminada | n/a |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`page_build`](/webhooks/event-payloads/#page_build) | n/a | Last commit on default branch | n/a |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `page_build`.
|
||||
For example, you can run a workflow when the `page_build` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -531,17 +531,17 @@ on:
|
||||
|
||||
### `project`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `project`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Proyectos](/rest/reference/projects)".
|
||||
Runs your workflow anytime the `project` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Projects](/rest/reference/projects)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`project`](/webhooks/event-payloads/#project) | - `created`<br/>- `updated`<br/>- `closed`<br/>- `reopened`<br/>- `edited`<br/>- `deleted`<br/> | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`project`](/webhooks/event-payloads/#project) | - `created`<br/>- `updated`<br/>- `closed`<br/>- `reopened`<br/>- `edited`<br/>- `deleted`<br/> | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un proyecto ha sido `creado` o `eliminado`.
|
||||
For example, you can run a workflow when a project has been `created` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -551,17 +551,17 @@ on:
|
||||
|
||||
### `project_card`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `project_card`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Tarjetas de proyecto](/rest/reference/projects#cards)".
|
||||
Runs your workflow anytime the `project_card` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Project cards](/rest/reference/projects#cards)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`project_card`](/webhooks/event-payloads/#project_card) | - `created`<br/>- `moved`<br/>- `converted` to an issue<br/>- `edited`<br/>- `deleted` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`project_card`](/webhooks/event-payloads/#project_card) | - `created`<br/>- `moved`<br/>- `converted` to an issue<br/>- `edited`<br/>- `deleted` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un proyecto ha sido `abierto` o `eliminado`.
|
||||
For example, you can run a workflow when a project card has been `opened` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -571,17 +571,17 @@ on:
|
||||
|
||||
### `project_column`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `project_column`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Columnas de proyecto](/rest/reference/projects#columns)".
|
||||
Runs your workflow anytime the `project_column` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Project columns](/rest/reference/projects#columns)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------------------ | --------------------------------------------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`project_column`](/webhooks/event-payloads/#project_column) | - `created`<br/>- `updated`<br/>- `moved`<br/>- `deleted` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`project_column`](/webhooks/event-payloads/#project_column) | - `created`<br/>- `updated`<br/>- `moved`<br/>- `deleted` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una columna de proyecto ha sido `created` o `deleted`.
|
||||
For example, you can run a workflow when a project column has been `created` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -591,40 +591,40 @@ on:
|
||||
|
||||
### `public`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que alguien haga público un repositorio privado, lo que activa el evento `public`. Para obtener más información acerca de la API de REST, consulta la sección "[Editar repositorios](/rest/reference/repos#edit)".
|
||||
Runs your workflow anytime someone makes a private repository public, which triggers the `public` event. For information about the REST API, see "[Edit repositories](/rest/reference/repos#edit)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------- | ------------------ | --------------------------------------------- | ---------------- |
|
||||
| [`public`](/webhooks/event-payloads/#public) | n/a | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`public`](/webhooks/event-payloads/#public) | n/a | Last commit on default branch | Default branch |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `public`.
|
||||
For example, you can run a workflow when the `public` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
public
|
||||
```
|
||||
|
||||
### `solicitud_extracción`
|
||||
### `pull_request`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento de `pull_request`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Solicitudes de cambios](/rest/reference/pulls)".
|
||||
Runs your workflow anytime the `pull_request` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Pull requests](/rest/reference/pulls)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Notas:**
|
||||
- Predeterminadamente, un flujo de trabajo solo se ejecuta cuando el tipo de actividad de una `pull_request` es `opened`, `synchronize`, o `reopened`. Para activar los flujos de trabajo para más tipos de actividades, usa la palabra clave `tipos`.
|
||||
- Los flujos de trabajo no se ejecutarán en la actividad de la `pull_request` si esta tiene un conflicto de fusión. El conflicto de fusión se debe resolver primero.
|
||||
**Notes:**
|
||||
- By default, a workflow only runs when a `pull_request`'s activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows for more activity types, use the `types` keyword.
|
||||
- Workflows will not run on `pull_request` activity if the pull request has a merge conflict. The merge conflict must be resolved first.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------ |
|
||||
| [`solicitud_extracción`](/webhooks/event-payloads/#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `converted_to_draft`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>- `review_requested` <br/>- `review_request_removed`{% ifversion fpt or ghes > 3.0 or ghae or ghec %} <br/>- `auto_merge_enabled` <br/>- `auto_merge_disabled`{% endif %} | Última confirmación de fusión en la rama `GITHUB_REF` | Rama de fusión de PR `refs/pull/:prNumber/merge` |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`pull_request`](/webhooks/event-payloads/#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `converted_to_draft`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>- `review_requested` <br/>- `review_request_removed`{% ifversion fpt or ghes > 3.0 or ghae or ghec %} <br/>- `auto_merge_enabled` <br/>- `auto_merge_disabled`{% endif %} | Last merge commit on the `GITHUB_REF` branch | PR merge branch `refs/pull/:prNumber/merge` |
|
||||
|
||||
Puedes extender o limitar los tipos de actividad por defecto usando la palabra clave `types`. Para obtener más información, consulta "[Sintaxis del flujo de trabajo para {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes)".
|
||||
You extend or limit the default activity types using the `types` keyword. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes)."
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una solicitud de extracción ha sido `assigned` (asignada), `opened`, `syncronize` o `reopened`.
|
||||
For example, you can run a workflow when a pull request has been `assigned`, `opened`, `synchronize`, or `reopened`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -634,17 +634,17 @@ on:
|
||||
|
||||
{% data reusables.developer-site.pull_request_forked_repos_link %}
|
||||
|
||||
### `revisión_solicitud de extracción`
|
||||
### `pull_request_review`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `pull_request_review`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Revisiones de solicitudes de extracción](/rest/reference/pulls#reviews)".
|
||||
Runs your workflow anytime the `pull_request_review` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Pull request reviews](/rest/reference/pulls#reviews)."
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ----------------------------------------------------------------------------------- | ---------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------ |
|
||||
| [`revisión_solicitud de extracción`](/webhooks/event-payloads/#pull_request_review) | - `submitted`<br/>- `edited`<br/>- `dismissed` | Última confirmación de fusión en la rama `GITHUB_REF` | Rama de fusión de PR `refs/pull/:prNumber/merge` |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`pull_request_review`](/webhooks/event-payloads/#pull_request_review) | - `submitted`<br/>- `edited`<br/>- `dismissed` | Last merge commit on the `GITHUB_REF` branch | PR merge branch `refs/pull/:prNumber/merge` |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una revisión de solicitud de extracción ha sido `edited` (editada) o `dismissed` (descartada).
|
||||
For example, you can run a workflow when a pull request review has been `edited` or `dismissed`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -654,17 +654,17 @@ on:
|
||||
|
||||
{% data reusables.developer-site.pull_request_forked_repos_link %}
|
||||
|
||||
### `comentarios _revisiones_solicitudes de extracción`
|
||||
### `pull_request_review_comment`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se modifique una diferencia unificada de solicitud de extracción, que activa el evento `pull_request_review_comment`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección [Revisar comentarios](/rest/reference/pulls#comments).
|
||||
Runs your workflow anytime a comment on a pull request's unified diff is modified, which triggers the `pull_request_review_comment` event. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see [Review comments](/rest/reference/pulls#comments).
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | ----------------------------------------------------- | ------------------------------------------------ |
|
||||
| [`comentarios _revisiones_solicitudes de extracción`](/webhooks/event-payloads/#pull_request_review_comment) | - `created`<br/>- `edited`<br/>- `deleted` | Última confirmación de fusión en la rama `GITHUB_REF` | Rama de fusión de PR `refs/pull/:prNumber/merge` |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`pull_request_review_comment`](/webhooks/event-payloads/#pull_request_review_comment) | - `created`<br/>- `edited`<br/>- `deleted`| Last merge commit on the `GITHUB_REF` branch | PR merge branch `refs/pull/:prNumber/merge` |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un comentario de revisión de solicitud de extracción ha sido `created` o `deleted`.
|
||||
For example, you can run a workflow when a pull request review comment has been `created` or `deleted`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -676,21 +676,21 @@ on:
|
||||
|
||||
### `pull_request_target`
|
||||
|
||||
Este evento se ejecuta en el contexto de la base de la solicitud de cambios en vez de en la confirmación fusionada como lo hace el evento `pull_request`. Esto previene que se ejecute el código inseguro del flujo de trabajo desde el encabezado de la solicitud de cambios, el cual pudiera alterar a tu repositorio, o borrar cualquier secreto que utilices en tu flujo de trabajo. Este evento te permite hacer cosas como crear flujos de trabajo que etiquetan y comentan las solicitudes de cambios, con base en el contenido de la carga útil del evento.
|
||||
This event runs in the context of the base of the pull request, rather than in the merge commit as the `pull_request` event does. This prevents executing unsafe workflow code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow. This event allows you to do things like create workflows that label and comment on pull requests based on the contents of the event payload.
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** Se otorga un token de repositorio con permisos de lectura/escritura al evento `pull_request_target` y éste puede acceder a los secretos, aún cuando se activa desde una bifurcación. Aunque las ejecuciones de flujo de trabajo se ejecutan en el contexto de la base de la solicitud de cambios, debes asegurarte de que no revisas, compilas o ejecutas código no confiable desde ella con este evento. Adicionalmente, cualquier caché comparte el mismo alcance que la rama base y, para ayudar a prevenir que se vicie el caché, no deberías guardarlo si existe una posibilidad de que su contenido se haya alterado. Para obtener más información, consulta la sección "[Mantener seguros tus GitHub Actions y flujos de trabajo: Prevenir solicitudes de pwn](https://securitylab.github.com/research/github-actions-preventing-pwn-requests)" en el sitio web de GitHub Security Lab.
|
||||
**Warning:** The `pull_request_target` event is granted a read/write repository token and can access secrets, even when it is triggered from a fork. Although the workflow runs in the context of the base of the pull request, you should make sure that you do not check out, build, or run untrusted code from the pull request with this event. Additionally, any caches share the same scope as the base branch, and to help prevent cache poisoning, you should not save the cache if there is a possibility that the cache contents were altered. For more information, see "[Keeping your GitHub Actions and workflows secure: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests)" on the GitHub Security Lab website.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | --------------------------------------- |
|
||||
| [`pull_request_target`](/webhooks/event-payloads/#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `converted_to_draft`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>- `review_requested` <br/>- `review_request_removed`{% ifversion fpt or ghes > 3.0 or ghae or ghec %} <br/>- `auto_merge_enabled` <br/>- `auto_merge_disabled`{% endif %} | Última confirmación en la rama base de la solicitud de extracción | Rama base de la solicitud de extracción |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`pull_request_target`](/webhooks/event-payloads/#pull_request) | - `assigned`<br/>- `unassigned`<br/>- `labeled`<br/>- `unlabeled`<br/>- `opened`<br/>- `edited`<br/>- `closed`<br/>- `reopened`<br/>- `synchronize`<br/>- `converted_to_draft`<br/>- `ready_for_review`<br/>- `locked`<br/>- `unlocked` <br/>- `review_requested` <br/>- `review_request_removed`{% ifversion fpt or ghes > 3.0 or ghae or ghec %} <br/>- `auto_merge_enabled` <br/>- `auto_merge_disabled`{% endif %} | Last commit on the PR base branch | PR base branch |
|
||||
|
||||
Predeterminadamente, un flujo de trabajo se ejecuta únicamente cuando el tipo de actividad de un `pull_request_target` se encuentra como `opened`, `synchronize`, o `reopened`. Para activar los flujos de trabajo para más tipos de actividades, usa la palabra clave `tipos`. Para obtener más información, consulta "[Sintaxis del flujo de trabajo para {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes)".
|
||||
By default, a workflow only runs when a `pull_request_target`'s activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows for more activity types, use the `types` keyword. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes)."
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando una solicitud de extracción ha sido `assigned` (asignada), `opened`, `syncronize` o `reopened`.
|
||||
For example, you can run a workflow when a pull request has been `assigned`, `opened`, `synchronize`, or `reopened`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -698,21 +698,21 @@ on:
|
||||
types: [assigned, opened, synchronize, reopened]
|
||||
```
|
||||
|
||||
### `subir`
|
||||
### `push`
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** La carga disponible del webhook para las acciones de GitHub no incluye los atributos `added`, `removed` y `modified` en el objeto `commit`. Puedes recuperar el objeto de confirmación completo usando la API REST. Para obtener más información, consulta la sección "[Obtener una confirmación](/rest/reference/repos#get-a-commit)".
|
||||
**Note:** The webhook payload available to GitHub Actions does not include the `added`, `removed`, and `modified` attributes in the `commit` object. You can retrieve the full commit object using the REST API. For more information, see "[Get a commit](/rest/reference/repos#get-a-commit)".
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Ejecuta tu flujo de trabajo cuando alguien sube a una rama de repositorio, lo que activa el evento `push`.
|
||||
Runs your workflow when someone pushes to a repository branch, which triggers the `push` event.
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ----------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------- | ---------------------- |
|
||||
| [`subir`](/webhooks/event-payloads/#push) | n/a | Confirmación subida, a menos que se elimine una rama (cuando se trata de la rama por defecto) | Referencia actualizada |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`push`](/webhooks/event-payloads/#push) | n/a | Commit pushed, unless deleting a branch (when it's the default branch) | Updated ref |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `push`.
|
||||
For example, you can run a workflow when the `push` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -721,15 +721,15 @@ on:
|
||||
|
||||
### `registry_package`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que un paquete `publicado` o `actualizado`. Para obtener más información, consulta "[Administrar paquetes con {% data variables.product.prodname_registry %}](/github/managing-packages-with-github-packages)."
|
||||
Runs your workflow anytime a package is `published` or `updated`. For more information, see "[Managing packages with {% data variables.product.prodname_registry %}](/github/managing-packages-with-github-packages)."
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| ------------------------------------------------------- | --------------------------------------- | ---------------------------------- | ------------------------------------- |
|
||||
| [`registry_package`](/webhooks/event-payloads/#package) | - `publicado`<br/>- `actualizado` | Confirmación del paquete publicado | Rama o etiqueta del paquete publicado |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`registry_package`](/webhooks/event-payloads/#package) | - `published`<br/>- `updated` | Commit of the published package | Branch or tag of the published package |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un paquete ha sido `publicado`.
|
||||
For example, you can run a workflow when a package has been `published`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -737,23 +737,23 @@ on:
|
||||
types: [published]
|
||||
```
|
||||
|
||||
### `lanzamiento`
|
||||
### `release`
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** El evento `release` no se activará para los lanzamientos en borrador.
|
||||
**Note:** The `release` event is not triggered for draft releases.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `release`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información sobre la API de REST, consulta la sección "[Lanzamientos](/rest/reference/repos#releases)".
|
||||
Runs your workflow anytime the `release` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Releases](/rest/reference/repos#releases)."
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ----------------------- |
|
||||
| [`lanzamiento`](/webhooks/event-payloads/#release) | - `published` <br/>- `unpublished` <br/>- `created` <br/>- `edited` <br/>- `deleted` <br/>- `prereleased`<br/> - `released` | Última confirmación en el lanzamiento etiquetado | Etiqueta de lanzamiento |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`release`](/webhooks/event-payloads/#release) | - `published` <br/>- `unpublished` <br/>- `created` <br/>- `edited` <br/>- `deleted` <br/>- `prereleased`<br/> - `released` | Last commit in the tagged release | Tag of release |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando un lanzamiento ha sido `publish`.
|
||||
For example, you can run a workflow when a release has been `published`.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -763,40 +763,40 @@ on:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** El tipo `prereleased` no se activará para los pre-lanzamientos publicados desde los borradores de lanzamientos, pero el tipo `published` sí lo hará. Si quieres que se ejecute un flujo de trabajo cuando se publiquen los lanzamientos estables *y* los pre-lanzamientos, mejor suscríbete a `published` en vez de a `released` y `prereleased`.
|
||||
**Note:** The `prereleased` type will not trigger for pre-releases published from draft releases, but the `published` type will trigger. If you want a workflow to run when stable *and* pre-releases publish, subscribe to `published` instead of `released` and `prereleased`.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### `estado`
|
||||
### `status`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que cambia el estado de una confirmación de Git, lo que activa el evento `status`. Para obtener más información acerca de la API de REST, consulta la sección "[Estados](/rest/reference/repos#statuses)".
|
||||
Runs your workflow anytime the status of a Git commit changes, which triggers the `status` event. For information about the REST API, see [Statuses](/rest/reference/repos#statuses).
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------- | ------------------ | --------------------------------------------- | ------------ |
|
||||
| [`estado`](/webhooks/event-payloads/#status) | n/a | Última confirmación en la rama predeterminada | n/a |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`status`](/webhooks/event-payloads/#status) | n/a | Last commit on default branch | n/a |
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando se produzca el evento `status`.
|
||||
For example, you can run a workflow when the `status` event occurs.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
status
|
||||
```
|
||||
|
||||
### `observar`
|
||||
### `watch`
|
||||
|
||||
Ejecuta tu flujo de trabajo en cualquier momento en que se produzca el evento `watch`. {% data reusables.developer-site.multiple_activity_types %} Para obtener más información acerca de la API de REST, consulta la sección "[Marcar con una estrella](/rest/reference/activity#starring)".
|
||||
Runs your workflow anytime the `watch` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Starring](/rest/reference/activity#starring)."
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------------------------------- | ------------------ | --------------------------------------------- | ---------------- |
|
||||
| [`observar`](/webhooks/event-payloads/#watch) | - `comenzado` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`watch`](/webhooks/event-payloads/#watch) | - `started` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Por ejemplo, puedes ejecutar un flujo de trabajo cuando alguien coloca una estrella en un repositorio, que es el tipo de actividad `started` que activa el evento Ver.
|
||||
For example, you can run a workflow when someone stars a repository, which is the `started` activity type that triggers the watch event.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -808,17 +808,25 @@ on:
|
||||
|
||||
{% data reusables.webhooks.workflow_run_desc %}
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
{% note %}
|
||||
|
||||
| Carga del evento Webhook | Tipos de actividad | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------- | ------------------------------------- | --------------------------------------------- | ---------------- |
|
||||
| [`workflow_run`](/webhooks/event-payloads/#workflow_run) | - `completed`<br/>- `requested` | Última confirmación en la rama predeterminada | Rama por defecto |
|
||||
**Notes:**
|
||||
|
||||
* This event will only trigger a workflow run if the workflow file is on the default branch.
|
||||
|
||||
* You can't use `workflow_run` to chain together more than three levels of workflows. For example, if you attempt to trigger five workflows (named `B` to `F`) to run sequentially after an initial workflow `A` has run (that is: `A` → `B` → `C` → `D` → `E` → `F`), workflows `E` and `F` will not be run.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| --------------------- | -------------- | ------------ | -------------|
|
||||
| [`workflow_run`](/webhooks/event-payloads/#workflow_run) | - `completed`<br/>- `requested` | Last commit on default branch | Default branch |
|
||||
|
||||
{% data reusables.developer-site.limit_workflow_to_activity_types %}
|
||||
|
||||
Si necesitas filtrar las ramas de este evento, puedes utilizar `branches` o `branches-ignore`.
|
||||
If you need to filter branches from this event, you can use `branches` or `branches-ignore`.
|
||||
|
||||
En este ejemplo, se configura un flujo de trabajo para que se ejecute después de que se complete el flujo de trabajo separado de "Run Tests".
|
||||
In this example, a workflow is configured to run after the separate "Run Tests" workflow completes.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -830,7 +838,7 @@ on:
|
||||
- requested
|
||||
```
|
||||
|
||||
Para ejecutar un job de un flujo de trabajo condicionalmente con base en el resultado de la ejecución de flujo de trabajo anterior, puedes utilizar los condicionales [`jobs.<job_id>.if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif) o [`jobs.<job_id>.steps[*].if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif) con la `conclusion` de la ejecución previa. Por ejemplo:
|
||||
To run a workflow job conditionally based on the result of the previous workflow run, you can use the [`jobs.<job_id>.if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif) or [`jobs.<job_id>.steps[*].if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif) conditional combined with the `conclusion` of the previous run. For example:
|
||||
|
||||
```yaml
|
||||
on:
|
||||
@@ -851,8 +859,8 @@ jobs:
|
||||
...
|
||||
```
|
||||
|
||||
## Activar nuevos flujos de trabajo mediante un token de acceso personal
|
||||
## Triggering new workflows using a personal access token
|
||||
|
||||
{% data reusables.github-actions.actions-do-not-trigger-workflows %} Para obtener más información, consulta "[Autenticar con el GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)".
|
||||
{% data reusables.github-actions.actions-do-not-trigger-workflows %} For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)."
|
||||
|
||||
Si deseas activar un flujo de trabajo desde una ejecución de flujo de trabajo, puedes desencadenar el evento mediante un token de acceso personal. Necesitaras crear un token de acceso personal y almacenarlo como un secreto. Para minimizar tus costos de uso de {% data variables.product.prodname_actions %}, asegúrate de no crear ejecuciones de flujo de trabajo recurrentes o involuntarias. Para obtener más información sobre almacenr un token de acceso personal como secreto, consulta la sección "[Crear y almacenar secretos cifrados](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)".
|
||||
If you would like to trigger a workflow from a workflow run, you can trigger the event using a personal access token. You'll need to create a personal access token and store it as a secret. To minimize your {% data variables.product.prodname_actions %} usage costs, ensure that you don't create recursive or unintended workflow runs. For more information on storing a personal access token as a secret, see "[Creating and storing encrypted secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Comandos de flujo de trabajo para Acciones de GitHub
|
||||
shortTitle: Comandos de flujo de trabajo
|
||||
intro: Puedes usar comandos de flujo de trabajo cuando ejecutas comandos de Shell en un flujo de trabajo o en el código de una acción.
|
||||
title: Workflow commands for GitHub Actions
|
||||
shortTitle: Workflow commands
|
||||
intro: You can use workflow commands when running shell commands in a workflow or in an action's code.
|
||||
redirect_from:
|
||||
- /articles/development-tools-for-github-actions
|
||||
- /github/automating-your-workflow-with-github-actions/development-tools-for-github-actions
|
||||
@@ -20,37 +20,37 @@ versions:
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca de los comandos de flujo
|
||||
## About workflow commands
|
||||
|
||||
Las acciones pueden comunicarse con la máquina del ejecutor para establecer variables de entorno, valores de salida utilizados por otras acciones, agregar mensajes de depuración a los registros de salida y otras tareas.
|
||||
Actions can communicate with the runner machine to set environment variables, output values used by other actions, add debug messages to the output logs, and other tasks.
|
||||
|
||||
La mayoría de los comandos de los flujos de trabajo utilizan el comando `echo` en un formato específico, mientras que otras se invocan si escribes a un archivo. Para obtener más información, consulta la sección ["Archivos de ambiente".](#environment-files)
|
||||
Most workflow commands use the `echo` command in a specific format, while others are invoked by writing to a file. For more information, see ["Environment files".](#environment-files)
|
||||
|
||||
``` bash
|
||||
echo ":: Workflow-Command Parameter1 ={data}, parameter2 ={data}::{command value}"
|
||||
echo "::workflow-command parameter1={data},parameter2={data}::{command value}"
|
||||
```
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** los nombres de comandos y parámetros de flujo de trabajo no distinguen mayúsculas de minúsculas.
|
||||
**Note:** Workflow command and parameter names are not case-sensitive.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** si estás usando el símbolo del sistema, omite los caracteres de comillas dobles (`"`) cuando uses comandos de flujo de trabajo.
|
||||
**Warning:** If you are using Command Prompt, omit double quote characters (`"`) when using workflow commands.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
## Utilizar comandos de flujo de trabajo para acceder a las funciones de toolkit
|
||||
## Using workflow commands to access toolkit functions
|
||||
|
||||
El [actions/toolkit](https://github.com/actions/toolkit) incluye varias funciones que se pueden ejecutar como comandos de flujo de trabajo. Utiliza la sintaxis `::` para ejecutar los comandos de flujo de trabajo dentro de tu archivo YAML; estos comandos se envían entonces a través de `stdout`. Por ejemplo, en vez de utilizar código para configurar una salida, como se muestra aquí:
|
||||
The [actions/toolkit](https://github.com/actions/toolkit) includes a number of functions that can be executed as workflow commands. Use the `::` syntax to run the workflow commands within your YAML file; these commands are then sent to the runner over `stdout`. For example, instead of using code to set an output, as below:
|
||||
|
||||
```javascript
|
||||
core.setOutput('SELECTED_COLOR', 'green');
|
||||
```
|
||||
|
||||
Puedes utilizar el comando `set-output` en tu flujo de trabajo para configurar el mismo valor:
|
||||
You can use the `set-output` command in your workflow to set the same value:
|
||||
|
||||
{% raw %}
|
||||
``` yaml
|
||||
@@ -62,52 +62,52 @@ Puedes utilizar el comando `set-output` en tu flujo de trabajo para configurar e
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
La siguiente tabla muestra qué funciones del toolkit se encuentran disponibles dentro de un flujo de trabajo:
|
||||
The following table shows which toolkit functions are available within a workflow:
|
||||
|
||||
| Funcion del Toolkit | Comando equivalente del flujo de trabajo |
|
||||
| --------------------- | --------------------------------------------------------------------- |
|
||||
| `core.addPath` | Accessible using environment file `GITHUB_PATH` |
|
||||
| `core.debug` | `debug` |{% ifversion fpt or ghes > 3.2 or ghae-issue-4929 or ghec %}
|
||||
| `core.notice` | `notice`
|
||||
{% endif %}
|
||||
| `core.error` | `error` |
|
||||
| `core.endGroup` | `endgroup` |
|
||||
| `core.exportVariable` | Accessible using environment file `GITHUB_ENV` |
|
||||
| `core.getInput` | Accesible utilizando la variable de ambiente `INPUT_{NAME}` |
|
||||
| `core.getState` | Accesible utilizando la variable de ambiente`STATE_{NAME}` |
|
||||
| `core.isDebug` | Accesible utilizando la variable de ambiente `RUNNER_DEBUG` |
|
||||
| `core.saveState` | `save-state` |
|
||||
| `core.setFailed` | Utilizada como un atajo para `::error` y `exit 1` |
|
||||
| `core.setOutput` | `set-output` |
|
||||
| `core.setSecret` | `add-mask` |
|
||||
| `core.startGroup` | `grupo` |
|
||||
| `core.warning` | `advertencia` |
|
||||
| Toolkit function | Equivalent workflow command |
|
||||
| ----------------- | ------------- |
|
||||
| `core.addPath` | Accessible using environment file `GITHUB_PATH` |
|
||||
| `core.debug` | `debug` |{% ifversion fpt or ghes > 3.2 or ghae-issue-4929 or ghec %}
|
||||
| `core.notice` | `notice` |{% endif %}
|
||||
| `core.error` | `error` |
|
||||
| `core.endGroup` | `endgroup` |
|
||||
| `core.exportVariable` | Accessible using environment file `GITHUB_ENV` |
|
||||
| `core.getInput` | Accessible using environment variable `INPUT_{NAME}` |
|
||||
| `core.getState` | Accessible using environment variable `STATE_{NAME}` |
|
||||
| `core.isDebug` | Accessible using environment variable `RUNNER_DEBUG` |
|
||||
| `core.saveState` | `save-state` |
|
||||
| `core.setCommandEcho` | `echo` |
|
||||
| `core.setFailed` | Used as a shortcut for `::error` and `exit 1` |
|
||||
| `core.setOutput` | `set-output` |
|
||||
| `core.setSecret` | `add-mask` |
|
||||
| `core.startGroup` | `group` |
|
||||
| `core.warning` | `warning` |
|
||||
|
||||
## Configurar un parámetro de salida
|
||||
## Setting an output parameter
|
||||
|
||||
```
|
||||
::set-output name={name}::{value}
|
||||
```
|
||||
|
||||
Establece un parámetro de salida de la acción.
|
||||
Sets an action's output parameter.
|
||||
|
||||
Opcionalmente, también puedes declarar parámetros de salida en el archivo de metadatos de una acción. Para obtener más información, consulta "[Sintaxis de metadatos para {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs)".
|
||||
Optionally, you can also declare output parameters in an action's metadata file. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs)."
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
``` bash
|
||||
echo "::set-output name=action_fruit::strawberry"
|
||||
```
|
||||
|
||||
## Agregar un mensaje de depuración
|
||||
## Setting a debug message
|
||||
|
||||
```
|
||||
::debug::{message}
|
||||
```
|
||||
|
||||
Imprime un mensaje de depuración para el registro. Debes crear un archivo `ACTIONS_STEP_DEBUG` designado secretamente con el valor `true` para ver los mensajes de depuración establecidos por este comando en el registro. Para obtener más información, consulta la sección "[Habilitar el registro de depuración](/actions/managing-workflow-runs/enabling-debug-logging)."
|
||||
Prints a debug message to the log. You must create a secret named `ACTIONS_STEP_DEBUG` with the value `true` to see the debug messages set by this command in the log. For more information, see "[Enabling debug logging](/actions/managing-workflow-runs/enabling-debug-logging)."
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
``` bash
|
||||
echo "::debug::Set the Octocat variable"
|
||||
@@ -115,17 +115,17 @@ echo "::debug::Set the Octocat variable"
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-4929 or ghec %}
|
||||
|
||||
## Configurar un mensaje de aviso
|
||||
## Setting a notice message
|
||||
|
||||
```
|
||||
::notice file={name},line={line},endLine={endLine},title={title}::{message}
|
||||
```
|
||||
|
||||
Crea un mensaje de aviso e imprime el mensaje en la bitácora. {% data reusables.actions.message-annotation-explanation %}
|
||||
Creates a notice message and prints the message to the log. {% data reusables.actions.message-annotation-explanation %}
|
||||
|
||||
{% data reusables.actions.message-parameters %}
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
``` bash
|
||||
echo "::notice file=app.js,line=1,col=5,endColumn=7::Missing semicolon"
|
||||
@@ -133,48 +133,48 @@ echo "::notice file=app.js,line=1,col=5,endColumn=7::Missing semicolon"
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Configurar un mensaje de advertencia
|
||||
## Setting a warning message
|
||||
|
||||
```
|
||||
::warning file={name},line={line},endLine={endLine},title={title}::{message}
|
||||
```
|
||||
|
||||
Crea un mensaje de advertencia e imprime el mensaje en el registro. {% data reusables.actions.message-annotation-explanation %}
|
||||
Creates a warning message and prints the message to the log. {% data reusables.actions.message-annotation-explanation %}
|
||||
|
||||
{% data reusables.actions.message-parameters %}
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
``` bash
|
||||
echo "::warning file=app.js,line=1,col=5,endColumn=7::Missing semicolon"
|
||||
```
|
||||
|
||||
## Configurar un mensaje de error
|
||||
## Setting an error message
|
||||
|
||||
```
|
||||
::error file={name},line={line},endLine={endLine},title={title}::{message}
|
||||
```
|
||||
|
||||
Crea un mensaje de error e imprime el mensaje en el registro. {% data reusables.actions.message-annotation-explanation %}
|
||||
Creates an error message and prints the message to the log. {% data reusables.actions.message-annotation-explanation %}
|
||||
|
||||
{% data reusables.actions.message-parameters %}
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
``` bash
|
||||
echo "::error file=app.js,line=1,col=5,endColumn=7::Missing semicolon"
|
||||
```
|
||||
|
||||
## Agrupar líneas de las bitácoras
|
||||
## Grouping log lines
|
||||
|
||||
```
|
||||
::group::{title}
|
||||
::endgroup::
|
||||
```
|
||||
|
||||
Crea un grupo expansible en la bitácora. Para crear un grupo, utiliza el comando `group` y especifica un `title`. Todo lo que imprimas en la bitácora entre los comandos `group` y `endgroup` se anidará dentro de una entrada expansible en la misma.
|
||||
Creates an expandable group in the log. To create a group, use the `group` command and specify a `title`. Anything you print to the log between the `group` and `endgroup` commands is nested inside an expandable entry in the log.
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
```bash
|
||||
echo "::group::My title"
|
||||
@@ -182,44 +182,44 @@ echo "Inside group"
|
||||
echo "::endgroup::"
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
## Enmascarar un valor en el registro
|
||||
## Masking a value in log
|
||||
|
||||
```
|
||||
::add-mask::{value}
|
||||
```
|
||||
|
||||
El enmascaramiento de un valor impide que una cadena o variable se imprima en el registro. Cada palabra enmascarada separada por un espacio en blanco se reemplaza con el carácter `*`. Puedes usar una variable de entorno o cadena para el `valor` de la máscara.
|
||||
Masking a value prevents a string or variable from being printed in the log. Each masked word separated by whitespace is replaced with the `*` character. You can use an environment variable or string for the mask's `value`.
|
||||
|
||||
### Ejemplo de enmascaramiento de una cadena
|
||||
### Example masking a string
|
||||
|
||||
Cuando imprimas `"Mona The Octocat"` en el registro, verás `"***"`.
|
||||
When you print `"Mona The Octocat"` in the log, you'll see `"***"`.
|
||||
|
||||
```bash
|
||||
echo "::add-mask::Mona The Octocat"
|
||||
```
|
||||
|
||||
### Ejemplo de enmascaramiento de una variable de entorno
|
||||
### Example masking an environment variable
|
||||
|
||||
Cuando imprimes la variable `MY_NAME` o el valor `"Mona The Octocat"` en el registro, verás `"***"` en lugar de `"Mona The Octocat"`.
|
||||
When you print the variable `MY_NAME` or the value `"Mona The Octocat"` in the log, you'll see `"***"` instead of `"Mona The Octocat"`.
|
||||
|
||||
```bash
|
||||
MY_NAME="Mona The Octocat"
|
||||
echo "::add-mask::$MY_NAME"
|
||||
```
|
||||
|
||||
## Detener e iniciar comandos de flujo de trabajo
|
||||
## Stopping and starting workflow commands
|
||||
|
||||
`::stop-commands::{endtoken}`
|
||||
|
||||
Detiene el procesamiento de cualquier comando de flujo de trabajo. Este comando especial te permite registrar cualquier cosa sin ejecutar accidentalmente un comando de flujo de trabajo. Por ejemplo, podrías dejar de registrar para producir un script completo que tenga comentarios.
|
||||
Stops processing any workflow commands. This special command allows you to log anything without accidentally running a workflow command. For example, you could stop logging to output an entire script that has comments.
|
||||
|
||||
Para parar el procesamiento de los comandos de flujo de trabajo, pasa un token único a `stop-commands`. Para resumir los comandos de flujo de trabajo de procesamiento, pasa el mismo token que utilizaste para detener los comandos de flujo de trabajo.
|
||||
To stop the processing of workflow commands, pass a unique token to `stop-commands`. To resume processing workflow commands, pass the same token that you used to stop workflow commands.
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** Asegúrate de que el token que estás utilizando se genere aleatoriamente y sea único para cada ejecución. Tal como se demuestra en el siguiente ejemplo, puedes generar un hash único de tu `github.token` para cada ejecución.
|
||||
**Warning:** Make sure the token you're using is randomly generated and unique for each run. As demonstrated in the example below, you can generate a unique hash of your `github.token` for each run.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
@@ -227,7 +227,7 @@ Para parar el procesamiento de los comandos de flujo de trabajo, pasa un token
|
||||
::{endtoken}::
|
||||
```
|
||||
|
||||
### Ejemplo deteniendo e iniciando los comandos de un flujo de trabajo
|
||||
### Example stopping and starting workflow commands
|
||||
|
||||
{% raw %}
|
||||
|
||||
@@ -247,56 +247,116 @@ jobs:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
## Enviar valores a las acciones pre y post
|
||||
## Echoing command outputs
|
||||
|
||||
Puedes utilizar el comando `save-state` para crear variables de ambiente para compartir con tus acciones `pre:` o `post:` de flujo de trabajo. Por ejemplo, puedes crear un archivo con la acción `pre:`, pasar la ubicación del archivo a la acción `main:`, y después, utilizar la acción `post:` para borrar el archivo. Como alternativa, puedes crear un archivo con la acción `main:`, pasar la ubicación del archivo a la acción `post:`, y también utilizar la acción `post:` para borrar el archivo.
|
||||
```
|
||||
::echo::on
|
||||
::echo::off
|
||||
```
|
||||
|
||||
Si tienes varias acciones `pre:` o `post:`, solo podrás acceder al valor que se guardó en la acción donde se utilizó `save-state`. Para obtener más información sobre la acción `post:`, consulta la sección "[Sintaxis de metadatos para {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions#post)".
|
||||
Enables or disables echoing of workflow commands. For example, if you use the `set-output` command in a workflow, it sets an output parameter but the workflow run's log does not show the command itself. If you enable command echoing, then the log shows the command, such as `::set-output name={name}::{value}`.
|
||||
|
||||
El comando `save-state` solo puede ejecutarse dentro de una acción y no está disponible para archivos YAML. El valor guardado se almacena en un valor de ambiente con el prefijo `STATE_`.
|
||||
Command echoing is disabled by default. However, a workflow command is echoed if there are any errors processing the command.
|
||||
|
||||
Este ejemplo utiliza JavaScript para ejecutar el comando `save-state`. La variable de ambiente resultante se nombra `STATE_processID` con el valor de `12345`:
|
||||
The `add-mask`, `debug`, `warning`, and `error` commands do not support echoing because their outputs are already echoed to the log.
|
||||
|
||||
You can also enable command echoing globally by turning on step debug logging using the `ACTIONS_STEP_DEBUG` secret. For more information, see "[Enabling debug logging](/actions/managing-workflow-runs/enabling-debug-logging)". In contrast, the `echo` workflow command lets you enable command echoing at a more granular level, rather than enabling it for every workflow in a repository.
|
||||
|
||||
### Example toggling command echoing
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
workflow-command-job:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: toggle workflow command echoing
|
||||
run: |
|
||||
echo '::set-output name=action_echo::disabled'
|
||||
echo '::echo::on'
|
||||
echo '::set-output name=action_echo::enabled'
|
||||
echo '::echo::off'
|
||||
echo '::set-output name=action_echo::disabled'
|
||||
```
|
||||
|
||||
The step above prints the following lines to the log:
|
||||
|
||||
```
|
||||
::set-output name=action_echo::enabled
|
||||
::echo::off
|
||||
```
|
||||
|
||||
Only the second `set-output` and `echo` workflow commands are included in the log because command echoing was only enabled when they were run. Even though it is not always echoed, the output parameter is set in all cases.
|
||||
|
||||
## Sending values to the pre and post actions
|
||||
|
||||
You can use the `save-state` command to create environment variables for sharing with your workflow's `pre:` or `post:` actions. For example, you can create a file with the `pre:` action, pass the file location to the `main:` action, and then use the `post:` action to delete the file. Alternatively, you could create a file with the `main:` action, pass the file location to the `post:` action, and also use the `post:` action to delete the file.
|
||||
|
||||
If you have multiple `pre:` or `post:` actions, you can only access the saved value in the action where `save-state` was used. For more information on the `post:` action, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions#post)."
|
||||
|
||||
The `save-state` command can only be run within an action, and is not available to YAML files. The saved value is stored as an environment value with the `STATE_` prefix.
|
||||
|
||||
This example uses JavaScript to run the `save-state` command. The resulting environment variable is named `STATE_processID` with the value of `12345`:
|
||||
|
||||
``` javascript
|
||||
console.log('::save-state name=processID::12345')
|
||||
```
|
||||
|
||||
La variable `STATE_processID` se encontrará entonces exclusivamente disponible para el script de limpieza que se ejecuta bajo la acción `main`. Este ejemplo se ejecuta en `main` y utiliza JavaScript para mostrar el valor asignado a la variable de ambiente `STATE_processID`:
|
||||
The `STATE_processID` variable is then exclusively available to the cleanup script running under the `main` action. This example runs in `main` and uses JavaScript to display the value assigned to the `STATE_processID` environment variable:
|
||||
|
||||
``` javascript
|
||||
console.log("The running PID from the main action is: " + process.env.STATE_processID);
|
||||
```
|
||||
|
||||
## Archivos de ambiente
|
||||
## Environment Files
|
||||
|
||||
Durante la ejecución de un flujo de trabajo, el ejecutor genera archivos temporales que pueden utilizarse para llevar a cabo ciertas acciones. La ruta a estos archivos se expone a través de variables de ambiente. Necesitarás utilizar codificación UTF-8 cuando escribas en estos archivos para garantizar el procesamiento adecuado de los comandos. Se pueden escribir varios comandos en el mismo archivo, separados por líneas nuevas.
|
||||
During the execution of a workflow, the runner generates temporary files that can be used to perform certain actions. The path to these files are exposed via environment variables. You will need to use UTF-8 encoding when writing to these files to ensure proper processing of the commands. Multiple commands can be written to the same file, separated by newlines.
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** Powershell no utiliza UTF-8 predeterminadamente. Asegúrate que escribes los archivos utilizando la codificación correcta. Por ejemplo, necesitas configurar la codificación UTF-8 cuando configuras la ruta:
|
||||
**Warning:** On Windows, legacy PowerShell (`shell: powershell`) does not use UTF-8 by default. Make sure you write files using the correct encoding. For example, you need to set UTF-8 encoding when you set the path:
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- run: echo "mypath" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
jobs:
|
||||
legacy-powershell-example:
|
||||
uses: windows-2019
|
||||
steps:
|
||||
- shell: powershell
|
||||
run: echo "mypath" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
```
|
||||
|
||||
Or switch to PowerShell Core, which defaults to UTF-8:
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
modern-pwsh-example:
|
||||
uses: windows-2019
|
||||
steps:
|
||||
- shell: pwsh
|
||||
run: echo "mypath" | Out-File -FilePath $env:GITHUB_PATH -Append # no need for -Encoding utf8
|
||||
```
|
||||
|
||||
More detail about UTF-8 and PowerShell Core found on this great [Stack Overflow answer](https://stackoverflow.com/a/40098904/162694):
|
||||
|
||||
> ### Optional reading: The cross-platform perspective: PowerShell _Core_:
|
||||
> [PowerShell is now cross-platform](https://blogs.msdn.microsoft.com/powershell/2016/08/18/powershell-on-linux-and-open-source-2/), via its **[PowerShell _Core_](https://github.com/PowerShell/PowerShell)** edition, whose encoding - sensibly - **defaults to *BOM-less UTF-8***, in line with Unix-like platforms.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
## Configurar una variable de ambiente
|
||||
## Setting an environment variable
|
||||
|
||||
``` bash
|
||||
echo "{name}={value}" >> $GITHUB_ENV
|
||||
```
|
||||
|
||||
Crea o actualiza una variable de ambiente para cualquier paso que sea el siguiente en ejecutarse en un job. El paso que crea o actualiza la variable de ambiente no tiene acceso al valor nuevo, pero todos los pasos subsecuentes en un job tendrán acceso. Las variables de entorno distinguen mayúsculas de minúsculas y puedes incluir puntuación.
|
||||
Creates or updates an environment variable for any steps running next in a job. The step that creates or updates the environment variable does not have access to the new value, but all subsequent steps in a job will have access. Environment variables are case-sensitive and you can include punctuation.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Las variables de ambiente deben referenciarse explícitamente utilizando el [contexto`env`](/actions/reference/context-and-expression-syntax-for-github-actions#env-context) en la sintaxis de expresión o mediante el uso del archivo `$GITHUB_ENV` directamente; las variables de ambiente no están disponibles implícitamente en los comandos del shell.
|
||||
**Note:** Environment variables must be explicitly referenced using the [`env` context](/actions/reference/context-and-expression-syntax-for-github-actions#env-context) in expression syntax or through use of the `$GITHUB_ENV` file directly; environment variables are not implicitly available in shell commands.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
{% raw %}
|
||||
```
|
||||
@@ -312,9 +372,9 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Secuencias de línea múltiple
|
||||
### Multiline strings
|
||||
|
||||
Para las secuencias de lìnea mùltiple, puedes utilizar un delimitador con la siguiente sintaxis.
|
||||
For multiline strings, you may use a delimiter with the following syntax.
|
||||
|
||||
```
|
||||
{name}<<{delimiter}
|
||||
@@ -322,9 +382,9 @@ Para las secuencias de lìnea mùltiple, puedes utilizar un delimitador con la s
|
||||
{delimiter}
|
||||
```
|
||||
|
||||
#### Ejemplo
|
||||
#### Example
|
||||
|
||||
En este ejemplo, utilizamos `EOF` como delimitador y configuramos la variable de ambiente `JSON_RESPONSE` para el valor de la respuesta de curl.
|
||||
In this example, we use `EOF` as a delimiter and set the `JSON_RESPONSE` environment variable to the value of the curl response.
|
||||
```yaml
|
||||
steps:
|
||||
- name: Set the value
|
||||
@@ -335,17 +395,17 @@ steps:
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
```
|
||||
|
||||
## Agregar una ruta de sistema
|
||||
## Adding a system path
|
||||
|
||||
``` bash
|
||||
echo "{path}" >> $GITHUB_PATH
|
||||
```
|
||||
|
||||
Antepone un directorio a la variable de sistema `PATH` y la hace disponible automáticamente para todas las acciones subsecuentes en el job actual; la acción que se está ejecutando actualmente no puede acceder a la variable de ruta actualizada. Para ver las rutas definidas actualmente para tu job, puedes utilizar `echo "$PATH"` en un paso o en una acción.
|
||||
Prepends a directory to the system `PATH` variable and automatically makes it available to all subsequent actions in the current job; the currently running action cannot access the updated path variable. To see the currently defined paths for your job, you can use `echo "$PATH"` in a step or an action.
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
Este ejemplo demuestra cómo agregar el directorio `$HOME/.local/bin` del usuario al `PATH`:
|
||||
This example demonstrates how to add the user `$HOME/.local/bin` directory to `PATH`:
|
||||
|
||||
``` bash
|
||||
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,25 +1,25 @@
|
||||
---
|
||||
title: Ejecutar un flujo de trabajo manualmente
|
||||
intro: 'Cuando se configura un flujo de trabajo para que se ejecute en el evento `workflow_dispatch`, puedes ejecutarlo utilizando la pestaña de Acciones en {% data variables.product.prodname_dotcom %}, {% data variables.product.prodname_cli %}, o en la API de REST.'
|
||||
title: Manually running a workflow
|
||||
intro: 'When a workflow is configured to run on the `workflow_dispatch` event, you can run the workflow using the Actions tab on {% data variables.product.prodname_dotcom %}, {% data variables.product.prodname_cli %}, or the REST API.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
ghec: '*'
|
||||
shortTitle: Ejecutar un flujo de trabajo manualmente
|
||||
shortTitle: Manually run a workflow
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Configurar un flujo de trabajo para que se ejecute manualmente
|
||||
## Configuring a workflow to run manually
|
||||
|
||||
Para ejecutar un flujo de trabajo manualmente, éste debe estar configurado para ejecutarse en el evento `workflow_dispatch`. Para activar el evento `workflow_dispatch`, tu flujo de trabajo debe estar en la rama predeterminada. Para obtener más información sobre cómo configurar el evento `workflow_dispatch`, consulta la sección "[Eventos que activan flujos de trabajo](/actions/reference/events-that-trigger-workflows#workflow_dispatch)".
|
||||
To run a workflow manually, the workflow must be configured to run on the `workflow_dispatch` event. To trigger the `workflow_dispatch` event, your workflow must be in the default branch. For more information about configuring the `workflow_dispatch` event, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)".
|
||||
|
||||
{% data reusables.repositories.permissions-statement-write %}
|
||||
|
||||
## Ejecutar un flujo de trabajo
|
||||
## Running a workflow
|
||||
|
||||
{% include tool-switcher %}
|
||||
|
||||
@@ -27,9 +27,12 @@ Para ejecutar un flujo de trabajo manualmente, éste debe estar configurado para
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
1. En la barra lateral izquierda, da clic ene l flujo de trabajo que quieras ejecutar. 
|
||||
1. Sobre la lista de ejecuciones de flujo de trabajo, selecciona **Ejecutar flujo de trabajo**. 
|
||||
1. Utiliza el menú desplegable de **Rama** para seleccionar la rama del flujo de trabajo y para teclear los parámetros de entrada. Da clic en **Ejecutar flujo de trabajo**. 
|
||||
1. In the left sidebar, click the workflow you want to run.
|
||||

|
||||
1. Above the list of workflow runs, select **Run workflow**.
|
||||

|
||||
1. Use the **Branch** dropdown to select the workflow's branch, and type the input parameters. Click **Run workflow**.
|
||||

|
||||
|
||||
{% endwebui %}
|
||||
|
||||
@@ -37,31 +40,31 @@ Para ejecutar un flujo de trabajo manualmente, éste debe estar configurado para
|
||||
|
||||
{% data reusables.cli.cli-learn-more %}
|
||||
|
||||
Para ejecutar un flujo de trabajo, utiliza el subcomando `workflow run`. Reemplaza el parámetro `workflow` ya sea con el nombre, ID, o nombre de archivo del flujo de trabajo que quieres ejecutar. Por ejemplo `"Link Checker"`, `1234567`, o `"link-check-test.yml"`. Si no especificas un flujo de trabajo, {% data variables.product.prodname_cli %} devolverá un menú interactivo para que elijas un flujo de trabajo.
|
||||
To run a workflow, use the `workflow run` subcommand. Replace the `workflow` parameter with either the name, ID, or file name of the workflow you want to run. For example, `"Link Checker"`, `1234567`, or `"link-check-test.yml"`. If you don't specify a workflow, {% data variables.product.prodname_cli %} returns an interactive menu for you to choose a workflow.
|
||||
|
||||
```shell
|
||||
gh workflow run <em>workflow</em>
|
||||
```
|
||||
|
||||
Si tu flujo de trabajo acepta entradas, {% data variables.product.prodname_cli %} te pedirá que las ingreses. Como alternativa, puedes utilizar `-f` o `-F` para agregar una entrada en formato `key=value`. Utiliza `-F` para leer desde un archivo.
|
||||
If your workflow accepts inputs, {% data variables.product.prodname_cli %} will prompt you to enter them. Alternatively, you can use `-f` or `-F` to add an input in `key=value` format. Use `-F` to read from a file.
|
||||
|
||||
```shell
|
||||
gh workflow run greet.yml -f name=mona -f greeting=hello -F data=@myfile.txt
|
||||
```
|
||||
|
||||
También puedes pasar las entradas como JSON utilizando una entrada estándar.
|
||||
You can also pass inputs as JSON by using standard input.
|
||||
|
||||
```shell
|
||||
echo '{"name":"mona", "greeting":"hello"}' | gh workflow run greet.yml --json
|
||||
```
|
||||
|
||||
Para ejecutar un flujo de trabajo en una rama del repositorio diferente a la predeterminada, utiliza el marcador `--ref`.
|
||||
To run a workflow on a branch other than the repository's default branch, use the `--ref` flag.
|
||||
|
||||
```shell
|
||||
gh workflow run <em>workflow</em> --ref <em>branch-name</em>
|
||||
```
|
||||
|
||||
Para ver el progreso de la ejecución del flujo de trabajo, utiliza el subcomando `run watch` y selecciona la ejecución de la lista interactiva.
|
||||
To view the progress of the workflow run, use the `run watch` subcommand and select the run from the interactive list.
|
||||
|
||||
```shell
|
||||
gh run watch
|
||||
@@ -69,8 +72,8 @@ gh run watch
|
||||
|
||||
{% endcli %}
|
||||
|
||||
## Ejecutar un flujo de trabajo utilizando la API de REST
|
||||
## Running a workflow using the REST API
|
||||
|
||||
Para obtener más información acerca de cómo utilizar la API de REST, consulta la sección [Crear un evento de envío de flujo de trabajo](/rest/reference/actions/#create-a-workflow-dispatch-event)". Si omites las entradas, se utilizarán los valores predeterminados que se hayan definido en el flujo de trabajo.
|
||||
When using the REST API, you configure the `inputs` and `ref` as request body parameters. If the inputs are omitted, the default values defined in the workflow file are used.
|
||||
|
||||
Puedes activar el evento de `workflow_dispatch` desde la pestaña de Acciones en {{ site.data.variables.product.prodname_dotcom }} o utilizar la API de REST.
|
||||
For more information about using the REST API, see the "[Create a workflow dispatch event](/rest/reference/actions/#create-a-workflow-dispatch-event)."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Guía de inicio rápido para GitHub Actions
|
||||
intro: 'Prueba las características de las {% data variables.product.prodname_actions %} en 5 minutos o menos.'
|
||||
title: Quickstart for GitHub Actions
|
||||
intro: 'Try out the features of {% data variables.product.prodname_actions %} in 5 minutes or less.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
redirect_from:
|
||||
- /actions/getting-started-with-github-actions/starting-with-preconfigured-workflow-templates
|
||||
@@ -12,23 +12,24 @@ versions:
|
||||
type: quick_start
|
||||
topics:
|
||||
- Fundamentals
|
||||
shortTitle: Inicio Rápido
|
||||
shortTitle: Quickstart
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Introducción
|
||||
## Introduction
|
||||
|
||||
Solo necesitas un repositorio de {% data variables.product.prodname_dotcom %} para crear y ejecutar un flujo de trabajo de {% data variables.product.prodname_actions %}. En esta guía, agregarás un flujo de trabajo que demuestre algunas de las características esenciales de las {% data variables.product.prodname_actions %}.
|
||||
You only need a {% data variables.product.prodname_dotcom %} repository to create and run a {% data variables.product.prodname_actions %} workflow. In this guide, you'll add a workflow that demonstrates some of the essential features of {% data variables.product.prodname_actions %}.
|
||||
|
||||
El siguiente ejemplo te muestra cómo los jobs de las {% data variables.product.prodname_actions %} pueden activarse automáticamente, dónde se ejecutan y cómo pueden interactuar con el código en tu repositorio.
|
||||
The following example shows you how {% data variables.product.prodname_actions %} jobs can be automatically triggered, where they run, and how they can interact with the code in your repository.
|
||||
|
||||
## Crear tu primer flujo de trabajo
|
||||
## Creating your first workflow
|
||||
|
||||
1. Crea un directorio de `.github/workflows` en tu repositorio en {% data variables.product.prodname_dotcom %} si es que dicho directorio aún no existe.
|
||||
2. En el directorio `.github/workflows`, crea un archivo llamado `github-actions-demo.yml`. Para obtener más información, consulta "[Crear nuevos archivos](/github/managing-files-in-a-repository/creating-new-files)."
|
||||
3. Copia el siguiente contenido de YAML en el arcvhivo `github-actions-demo.yml`:
|
||||
1. Create a `.github/workflows` directory in your repository on {% data variables.product.prodname_dotcom %} if this directory does not already exist.
|
||||
2. In the `.github/workflows` directory, create a file named `github-actions-demo.yml`. For more information, see "[Creating new files](/github/managing-files-in-a-repository/creating-new-files)."
|
||||
3. Copy the following YAML contents into the `github-actions-demo.yml` file:
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
name: GitHub Actions Demo
|
||||
@@ -51,40 +52,42 @@ El siguiente ejemplo te muestra cómo los jobs de las {% data variables.product.
|
||||
|
||||
```
|
||||
{% endraw %}
|
||||
3. Desplázate hasta el final de la página y selecciona **Crear una rama nueva para esta confirmación e iniciar una solicitud de cambios**. Después, para crear una solicitud de cambios, da clic en **Proponer un archivo nuevo**. 
|
||||
3. Scroll to the bottom of the page and select **Create a new branch for this commit and start a pull request**. Then, to create a pull request, click **Propose new file**.
|
||||

|
||||
|
||||
El confirmar el flujo de trabajo en una rama de tu repositorio activa el evento `push` y ejecuta tu flujo de trabajo.
|
||||
Committing the workflow file to a branch in your repository triggers the `push` event and runs your workflow.
|
||||
|
||||
## Ver los resultados de tu flujo de trabajo
|
||||
## Viewing your workflow results
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
1. En la barra lateral izquierda, da clic en el flujo de trabajo que quieres ver.
|
||||
1. In the left sidebar, click the workflow you want to see.
|
||||
|
||||

|
||||
1. Desde la lista de ejecuciones de flujo de trabajo, da clic en el nombre de la ejecución que quieres ver.
|
||||

|
||||
1. From the list of workflow runs, click the name of the run you want to see.
|
||||
|
||||

|
||||
1. Debajo de **Jobs**, haz clic en el job **Explore-GitHub-Actions**.
|
||||

|
||||
1. Under **Jobs** , click the **Explore-GitHub-Actions** job.
|
||||
|
||||

|
||||
1. La bitácora muestra cómo se procesó cada uno de los pasos. Expande cualquiera de los pasos para ver sus detalles.
|
||||

|
||||
1. The log shows you how each of the steps was processed. Expand any of the steps to view its details.
|
||||
|
||||

|
||||
|
||||
Por ejemplo, puedes ver la lista de archivos en tu repositorio: 
|
||||
|
||||
## Más plantillas de flujo de trabajo
|
||||

|
||||
|
||||
For example, you can see the list of files in your repository:
|
||||

|
||||
|
||||
## More workflow templates
|
||||
|
||||
{% data reusables.actions.workflow-template-overview %}
|
||||
|
||||
## Pasos siguientes
|
||||
## Next steps
|
||||
|
||||
El flujo de trabajo de ejemplo que acabas de agregar se ejecuta cada vez que se sube el código a la rama y te muestra cómo pueden funcionar las {% data variables.product.prodname_actions %} con el contenido de tu repositorio. Pero esto es solo el inicio de lo que puedes hacer con {% data variables.product.prodname_actions %}:
|
||||
The example workflow you just added runs each time code is pushed to the branch, and shows you how {% data variables.product.prodname_actions %} can work with the contents of your repository. But this is only the beginning of what you can do with {% data variables.product.prodname_actions %}:
|
||||
|
||||
- Tu repositorio puede contener varios flujos de trabajo que activen jobs diferentes basándose en eventos diferentes.
|
||||
- Puedes utilizar un flujo de trabajo apra instalar las apps de prueba de software y hacer que prueben tu código automáticamente en los ejecutores de {% data variables.product.prodname_dotcom %}.
|
||||
- Your repository can contain multiple workflows that trigger different jobs based on different events.
|
||||
- You can use a workflow to install software testing apps and have them automatically test your code on {% data variables.product.prodname_dotcom %}'s runners.
|
||||
|
||||
{% data variables.product.prodname_actions %} puede ayudarte a automatizar casi cualquier aspecto de tu s procesos de desarrollo de aplicaciones. ¿Listo para comenzar? Aquí tienes algunos recursos útiles para que tomes tus siguientes pasos con {% data variables.product.prodname_actions %}:
|
||||
{% data variables.product.prodname_actions %} can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with {% data variables.product.prodname_actions %}:
|
||||
|
||||
- "[Aprende más sobre {% data variables.product.prodname_actions %}](/actions/learn-github-actions)" con este tutorial detallado.
|
||||
- "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)" for an in-depth tutorial.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Autenticación automática de token
|
||||
intro: '{% data variables.product.prodname_dotcom %} proporciona un token que puedes usar para autenticar en nombre de {% data variables.product.prodname_actions %}.'
|
||||
title: Automatic token authentication
|
||||
intro: '{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}.'
|
||||
redirect_from:
|
||||
- /github/automating-your-workflow-with-github-actions/authenticating-with-the-github_token
|
||||
- /actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token
|
||||
@@ -11,40 +11,40 @@ versions:
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
ghec: '*'
|
||||
shortTitle: Autenticación automática de token
|
||||
shortTitle: Automatic token authentication
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca del secreto del `GITHUB_TOKEN`
|
||||
## About the `GITHUB_TOKEN` secret
|
||||
|
||||
Al inicio de cada ejecución de flujo de trabajo, {% data variables.product.prodname_dotcom %} crea automáticamente un secreto único de `GITHUB_TOKEN` para utilizar en tu flujo de trabajo. Puedes usar el `GITHUB_TOKEN` para autenticarte en una ejecución de flujo de trabajo.
|
||||
At the start of each workflow run, {% data variables.product.prodname_dotcom %} automatically creates a unique `GITHUB_TOKEN` secret to use in your workflow. You can use the `GITHUB_TOKEN` to authenticate in a workflow run.
|
||||
|
||||
Cuando habilitas {% data variables.product.prodname_actions %}, {% data variables.product.prodname_dotcom %} instala una {% data variables.product.prodname_github_app %} en tu repositorio. El secreto del `GITHUB_TOKEN` es un token de acceso de instalación de {% data variables.product.prodname_github_app %}. Puedes usar el token de acceso de instalación para autenticarte en nombre de la {% data variables.product.prodname_github_app %} instalado en tu repositorio. Los permisos del token están limitados al repositorio que contiene tu flujo de trabajo. Para obtener más información, consulta "[Permisos para el `GITHUB_TOKEN`](#permissions-for-the-github_token)."
|
||||
When you enable {% data variables.product.prodname_actions %}, {% data variables.product.prodname_dotcom %} installs a {% data variables.product.prodname_github_app %} on your repository. The `GITHUB_TOKEN` secret is a {% data variables.product.prodname_github_app %} installation access token. You can use the installation access token to authenticate on behalf of the {% data variables.product.prodname_github_app %} installed on your repository. The token's permissions are limited to the repository that contains your workflow. For more information, see "[Permissions for the `GITHUB_TOKEN`](#permissions-for-the-github_token)."
|
||||
|
||||
Antes de que comience cada job, {% data variables.product.prodname_dotcom %} extrae un token de acceso de instalación para éste. El token expira cuando el trabajo termina.
|
||||
Before each job begins, {% data variables.product.prodname_dotcom %} fetches an installation access token for the job. The token expires when the job is finished.
|
||||
|
||||
El token también está disponible en el contexto `github.token`. Para obtener más información, consulta "[Contextos](/actions/learn-github-actions/contexts#github-context)".
|
||||
The token is also available in the `github.token` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)."
|
||||
|
||||
## Usar el `GITHUB_TOKEN` en un flujo de trabajo
|
||||
## Using the `GITHUB_TOKEN` in a workflow
|
||||
|
||||
Puedes utilizar el `GITHUB_TOKEN` si utilizas la sintaxis estándar para referenciar secretos: {%raw%}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. Examples of using the `GITHUB_TOKEN` include passing the token as an input to an action, or using it to make an authenticated {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API request.
|
||||
You can use the `GITHUB_TOKEN` by using the standard syntax for referencing secrets: {%raw%}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. Examples of using the `GITHUB_TOKEN` include passing the token as an input to an action, or using it to make an authenticated {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API request.
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
{% note %}
|
||||
|
||||
**Importante:** Las acciones pueden acceder al `GITHUB_TOKEN` mediante el contexto `github.token` aún si el flujo de trabajo no pasa el `GITHUB_TOKEN` específicamente a la acción. Como buena práctica de seguridad. siempre deberías asegurarte de que las acciones solo tengan el acceso mínimo que necesitan para limitar los permisos que se le otorgan al `GITHUB_TOKEN`. Para obtener más información, consulta "[Permisos para el `GITHUB_TOKEN`](#permissions-for-the-github_token)."
|
||||
**Important:** An action can access the `GITHUB_TOKEN` through the `github.token` context even if the workflow does not explicitly pass the `GITHUB_TOKEN` to the action. As a good security practice, you should always make sure that actions only have the minimum access they require by limiting the permissions granted to the `GITHUB_TOKEN`. For more information, see "[Permissions for the `GITHUB_TOKEN`](#permissions-for-the-github_token)."
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.github-actions.actions-do-not-trigger-workflows %}
|
||||
|
||||
### Ejemplo 1: pasar el `GITHUB_TOKEN` como entrada
|
||||
### Example 1: passing the `GITHUB_TOKEN` as an input
|
||||
|
||||
Este flujo de trabajo de ejemplo usa la [acción de etiquetadora](https://github.com/actions/labeler), que necesita el `GITHUB_TOKEN` como el valor para el parámetro de entrada `repo-token`:
|
||||
This example workflow uses the [labeler action](https://github.com/actions/labeler), which requires the `GITHUB_TOKEN` as the value for the `repo-token` input parameter:
|
||||
|
||||
```yaml
|
||||
name: Pull request labeler
|
||||
@@ -65,9 +65,9 @@ jobs:
|
||||
repo-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
|
||||
```
|
||||
|
||||
### Ejemplo 2: llamar a la API de REST
|
||||
### Example 2: calling the REST API
|
||||
|
||||
Puedes usar el `GITHUB_TOKEN` para realizar llamadas API autenticadas. Este flujo de trabajo de ejemplo crea una propuesta mediante la API REST del {% data variables.product.prodname_dotcom %}:
|
||||
You can use the `GITHUB_TOKEN` to make authenticated API calls. This example workflow creates an issue using the {% data variables.product.prodname_dotcom %} REST API:
|
||||
|
||||
```yaml
|
||||
name: Create issue on commit
|
||||
@@ -93,67 +93,67 @@ jobs:
|
||||
--fail
|
||||
```
|
||||
|
||||
## Permisos para el `GITHUB_TOKEN`
|
||||
## Permissions for the `GITHUB_TOKEN`
|
||||
|
||||
Para obtener mpas información sobre las terminales de la API a los que pueden acceder las {% data variables.product.prodname_github_apps %} con cada permiso, consulta la sección "[ Permisos de las {% data variables.product.prodname_github_app %}](/rest/reference/permissions-required-for-github-apps)".
|
||||
For information about the API endpoints {% data variables.product.prodname_github_apps %} can access with each permission, see "[{% data variables.product.prodname_github_app %} Permissions](/rest/reference/permissions-required-for-github-apps)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
La siguiente tabla muestra los permisos que se otorgan al `GITHUB_TOKEN` predeterminadamente. Las personas con permisos administrativos en una {% ifversion not ghes %}empresa, organización o repositorio{% else %}organización o repositorio{% endif %} pueden configurar los permisos predeterminados para que sean permisivos o restringidos. For information on how to set the default permissions for the `GITHUB_TOKEN` for your enterprise, organization, or repository, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)," "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)," or "[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#setting-the-permissions-of-the-github_token-for-your-repository)."
|
||||
The following table shows the permissions granted to the `GITHUB_TOKEN` by default. People with admin permissions to an {% ifversion not ghes %}enterprise, organization, or repository,{% else %}organization or repository{% endif %} can set the default permissions to be either permissive or restricted. For information on how to set the default permissions for the `GITHUB_TOKEN` for your enterprise, organization, or repository, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)," "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)," or "[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#setting-the-permissions-of-the-github_token-for-your-repository)."
|
||||
|
||||
| Ámbito | Acceso predeterminado<br>(permisivo) | Acceso predeterminado<br>(restringido) | Acceso máximo<br>de los repos bifurcados |
|
||||
| ------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- |
|
||||
| acciones | lectura/escritura | ninguno | lectura |
|
||||
| verificaciones | lectura/escritura | ninguno | lectura |
|
||||
| contenidos | lectura/escritura | lectura | lectura |
|
||||
| implementaciones | lectura/escritura | ninguno | lectura |
|
||||
| id_token | lectura/escritura | ninguno | lectura |
|
||||
| propuestas | lectura/escritura | ninguno | lectura |
|
||||
| metadatos | lectura | lectura | lectura |
|
||||
| paquetes | lectura/escritura | ninguno | lectura |
|
||||
| solicitudes de extracción | lectura/escritura | ninguno | lectura |
|
||||
| proyectos de repositorio | lectura/escritura | ninguno | lectura |
|
||||
| eventos de seguridad | lectura/escritura | ninguno | lectura |
|
||||
| estados | lectura/escritura | ninguno | lectura |
|
||||
| Scope | Default access<br>(permissive) | Default access<br>(restricted) | Maximum access<br>by forked repos |
|
||||
|---------------|-----------------------------|-----------------------------|--------------------------------|
|
||||
| actions | read/write | none | read |
|
||||
| checks | read/write | none | read |
|
||||
| contents | read/write | read | read |
|
||||
| deployments | read/write | none | read |
|
||||
| id-token | read/write | none | read |
|
||||
| issues | read/write | none | read |
|
||||
| metadata | read | read | read |
|
||||
| packages | read/write | none | read |
|
||||
| pull requests | read/write | none | read |
|
||||
| repository projects | read/write | none | read |
|
||||
| security events | read/write | none | read |
|
||||
| statuses | read/write | none | read |
|
||||
{% else %}
|
||||
| Ámbito | Tipo de acceso | Acceso por repositorios bifurcados |
|
||||
| ------------------------- | ----------------- | ---------------------------------- |
|
||||
| acciones | lectura/escritura | lectura |
|
||||
| verificaciones | lectura/escritura | lectura |
|
||||
| contenidos | lectura/escritura | lectura |
|
||||
| implementaciones | lectura/escritura | lectura |
|
||||
| propuestas | lectura/escritura | lectura |
|
||||
| metadatos | lectura | lectura |
|
||||
| paquetes | lectura/escritura | lectura |
|
||||
| solicitudes de extracción | lectura/escritura | lectura |
|
||||
| proyectos de repositorio | lectura/escritura | lectura |
|
||||
| estados | lectura/escritura | lectura |
|
||||
| Scope | Access type | Access by forked repos |
|
||||
|----------|-------------|--------------------------|
|
||||
| actions | read/write | read |
|
||||
| checks | read/write | read |
|
||||
| contents | read/write | read |
|
||||
| deployments | read/write | read |
|
||||
| issues | read/write | read |
|
||||
| metadata | read | read |
|
||||
| packages | read/write | read |
|
||||
| pull requests | read/write | read |
|
||||
| repository projects | read/write | read |
|
||||
| statuses | read/write | read |
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.actions.workflow-runs-dependabot-note %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
### Modificar los permisos del `GITHUB_TOKEN`
|
||||
### Modifying the permissions for the `GITHUB_TOKEN`
|
||||
|
||||
Puedes modificar los permisos del `GITHUB_TOKEN` en archivos de flujo de trabajo individuales. Si los permisos predeterminados del `GITHUB_TOKEN` son restrictivos, podría que necesites elevar los permisos para permitir que las acciones y comandos se ejecuten con éxito. Si los permisos predeterminados son permisivos, puedes editar el archivo de flujo de trabajo para eliminar algunos de ellos del `GITHUB_TOKEN`. Como buena práctica de seguridad, debes otorgar al `GITHUB_TOKEN` el menor acceso requerido.
|
||||
You can modify the permissions for the `GITHUB_TOKEN` in individual workflow files. If the default permissions for the `GITHUB_TOKEN` are restrictive, you may have to elevate the permissions to allow some actions and commands to run successfully. If the default permissions are permissive, you can edit the workflow file to remove some permissions from the `GITHUB_TOKEN`. As a good security practice, you should grant the `GITHUB_TOKEN` the least required access.
|
||||
|
||||
Puedes ver los permisos que tuvo el `GITHUB_TOKEN` para un job específico en la sección "Configurar job" de la bitácora de la ejecución de flujo de trabajo. Para obtener más información, consulta la sección "[Utilizar bitácoras de ejecución de flujos de trabajo](/actions/managing-workflow-runs/using-workflow-run-logs)".
|
||||
You can see the permissions that `GITHUB_TOKEN` had for a specific job in the "Set up job" section of the workflow run log. For more information, see "[Using workflow run logs](/actions/managing-workflow-runs/using-workflow-run-logs)."
|
||||
|
||||
Puedes utilizar la clave `permissions` en tu archivo de flujo de trabajo para modificar los permisos del `GITHUB_TOKEN` para un flujo de trabajo entero o para jobs individuales. Esto te permite configurar los permisos mínimos requeridos para un flujo de trabajo o job. Cuando se utiliza la clave `permissions`, todos los permisos no especificados se configuran como "sin acceso", con la excepción del alcance `metadata`, el cual siempre obtiene acceso de lectura.
|
||||
You can use the `permissions` key in your workflow file to modify permissions for the `GITHUB_TOKEN` for an entire workflow or for individual jobs. This allows you to configure the minimum required permissions for a workflow or job. When the `permissions` key is used, all unspecified permissions are set to no access, with the exception of the `metadata` scope, which always gets read access.
|
||||
|
||||
{% data reusables.github-actions.forked-write-permission %}
|
||||
|
||||
Los dos ejemplos de flujo de trabajo que se mostraron anteriormente en este artículo muestran como se utiliza la clave `permissions` a nivel de flujo de trabajo y de job. En el [Ejemplo 1](#example-1-passing-the-github_token-as-an-input) se especifican los dos permisos para todo el flujo de trabajo. En el [Ejemplo 2](#example-2-calling-the-rest-api) se otorga acceso de escritura para un alcance para un solo job.
|
||||
The two workflow examples earlier in this article show the `permissions` key being used at the workflow level, and at the job level. In [Example 1](#example-1-passing-the-github_token-as-an-input) the two permissions are specified for the entire workflow. In [Example 2](#example-2-calling-the-rest-api) write access is granted for one scope for a single job.
|
||||
|
||||
Para conocer todos los detalles de la clave `permissions`, consulta la sección "[Sintaxis de flujo de trabajo para las {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#permissions)".
|
||||
For full details of the `permissions` key, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#permissions)."
|
||||
|
||||
#### Cómo se calculan los permisos para un job de un flujo de trabajo
|
||||
#### How the permissions are calculated for a workflow job
|
||||
|
||||
Los permisos para el `GITHUB_TOKEN` se configuran inicialmente con los ajustes predeterminados para la empresa, organización o repositorio. Si lo predeterminado se configura para los permisos restringidos en cualquiera de estos niveles, esto aplicará a los repositorios relevantes. Por ejemplo, si eliges las restricciones predeterminadas a nivel organizacional, entonces todos los repositorios de la organización utilizarán estos permisos restringidos como los predeterminados. Entonces, los permisos se ajustarán con base en cualquier configuración dentro del archivo de flujo de trabajo, primero a nivel del flujo de trabajo y luego al nivel de los jobs. Por último, si una solilcitud de cambios activó el flujo de trabajo desde un repositorio bifurcado y no se selecciona el ajuste de **Enviar tokens de escritura a los flujos de trabajo desde las solicitudes de cambios**, los permisos se ajustarán para cambiar cualquier permiso de escritura a solo lectura.
|
||||
The permissions for the `GITHUB_TOKEN` are initially set to the default setting for the enterprise, organization, or repository. If the default is set to the restricted permissions at any of these levels then this will apply to the relevant repositories. For example, if you choose the restricted default at the organization level then all repositories in that organization will use the restricted permissions as the default. The permissions are then adjusted based on any configuration within the workflow file, first at the workflow level and then at the job level. Finally, if the workflow was triggered by a pull request from a forked repository, and the **Send write tokens to workflows from pull requests** setting is not selected, the permissions are adjusted to change any write permissions to read only.
|
||||
|
||||
### Otorgar permisos adicionales
|
||||
### Granting additional permissions
|
||||
{% endif %}
|
||||
|
||||
Si necesitas un token que requiere permisos que no están disponibles en el `GITHUB_TOKEN`, puedes crear un token de acceso personal y establecerlo como un secreto en tu repositorio:
|
||||
If you need a token that requires permissions that aren't available in the `GITHUB_TOKEN`, you can create a personal access token and set it as a secret in your repository:
|
||||
|
||||
1. Usa o crea un token con los permisos adecuados para ese repositorio. Para obtener más información, consulta la sección "[Crear un token de acceso personal](/github/authenticating-to-github/creating-a-personal-access-token)".
|
||||
1. Añade el token como un secreto en el repositorio de tu flujo de trabajo y haz referencia a él mediante la sintaxis {%raw%}`${{ secrets.SECRET_NAME }}`{% endraw %}. Para obtener más información, consulta "[Crear y usar secretos cifrados](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)."
|
||||
1. Use or create a token with the appropriate permissions for that repository. For more information, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)."
|
||||
1. Add the token as a secret in your workflow's repository, and refer to it using the {%raw%}`${{ secrets.SECRET_NAME }}`{% endraw %} syntax. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de los ejecutores hospedados en GitHub
|
||||
intro: '{% data variables.product.prodname_dotcom %} ofrece máquinas virtuales alojadas para ejecutar flujos de trabajo. La máquina virtual contiene un entorno de herramientas, paquetes y configuraciones disponibles para que {% data variables.product.prodname_actions %} los utilice.'
|
||||
title: About GitHub-hosted runners
|
||||
intro: '{% data variables.product.prodname_dotcom %} offers hosted virtual machines to run workflows. The virtual machine contains an environment of tools, packages, and settings available for {% data variables.product.prodname_actions %} to use.'
|
||||
redirect_from:
|
||||
- /articles/virtual-environments-for-github-actions
|
||||
- /github/automating-your-workflow-with-github-actions/virtual-environments-for-github-actions
|
||||
@@ -13,7 +13,7 @@ versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghec: '*'
|
||||
shortTitle: Ejecutores hospedados en GitHub
|
||||
shortTitle: GitHub-hosted runners
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-hosted-runners-beta %}
|
||||
@@ -21,58 +21,62 @@ shortTitle: Ejecutores hospedados en GitHub
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## Acerca de ejecutores alojados en {% data variables.product.prodname_dotcom %}
|
||||
## About {% data variables.product.prodname_dotcom %}-hosted runners
|
||||
|
||||
Un ejecutor alojado en {% data variables.product.prodname_dotcom %} es una máquina virtual alojada por {% data variables.product.prodname_dotcom %} con la aplicación del ejecutor {% data variables.product.prodname_actions %} instalada. {% data variables.product.prodname_dotcom %} ofrece ejecutores con sistemas operativos Linux, Windows y macOS.
|
||||
A {% data variables.product.prodname_dotcom %}-hosted runner is a virtual machine hosted by {% data variables.product.prodname_dotcom %} with the {% data variables.product.prodname_actions %} runner application installed. {% data variables.product.prodname_dotcom %} offers runners with Linux, Windows, and macOS operating systems.
|
||||
|
||||
Cuando usas un ejecutor alojado en {% data variables.product.prodname_dotcom %}, se contemplan el mantenimiento de la máquina y las actualizaciones. Puedes ejecutar flujos de trabajo directamente en la máquina virtual o en un contenedor Docker.
|
||||
When you use a {% data variables.product.prodname_dotcom %}-hosted runner, machine maintenance and upgrades are taken care of for you. You can run workflows directly on the virtual machine or in a Docker container.
|
||||
|
||||
Puedes especificar el tipo de ejecutor para cada puesto en un flujo de trabajo. Cada puesto en un flujo de trabajo se ejecuta en una instancia nueva de la máquina virtual. Todos los pasos del trabajo se ejecutan en la misma instancia de la máquina virtual, lo que permite que las acciones de ese trabajo compartan información usando el sistema de archivos.
|
||||
You can specify the runner type for each job in a workflow. Each job in a workflow executes in a fresh instance of the virtual machine. All steps in the job execute in the same instance of the virtual machine, allowing the actions in that job to share information using the filesystem.
|
||||
|
||||
{% ifversion not ghes %}
|
||||
|
||||
{% data reusables.github-actions.runner-app-open-source %}
|
||||
|
||||
### Hosts en la nube para ejecutores alojados en {% data variables.product.prodname_dotcom %}
|
||||
### Cloud hosts for {% data variables.product.prodname_dotcom %}-hosted runners
|
||||
|
||||
{% data variables.product.prodname_dotcom %} aloja ejecutores de Linux y Windows en máquinas virtuales Standard_DS2_v2 en Microsoft Azure con la aplicación del ejecutor de {% data variables.product.prodname_actions %} instalada. La aplicación del ejecutor alojada en {% data variables.product.prodname_dotcom %} es una bifurcación del agente de Azure Pipelines. Los paquetes ICMP entrantes están bloqueados para todas las máquinas virtuales de Azure, por lo tanto, es posible que los comandos ping o traceroute no funcionen. Para obtener más información acerca de los recursos de la máquina Standard_DS2_v2, consulta "[Dv2 y DSv2-series](https://docs.microsoft.com/azure/virtual-machines/dv2-dsv2-series#dsv2-series)"en la documentación de Microsoft Azure.
|
||||
{% data variables.product.prodname_dotcom %} hosts Linux and Windows runners on Standard_DS2_v2 virtual machines in Microsoft Azure with the {% data variables.product.prodname_actions %} runner application installed. The {% data variables.product.prodname_dotcom %}-hosted runner application is a fork of the Azure Pipelines Agent. Inbound ICMP packets are blocked for all Azure virtual machines, so ping or traceroute commands might not work. For more information about the Standard_DS2_v2 machine resources, see "[Dv2 and DSv2-series](https://docs.microsoft.com/azure/virtual-machines/dv2-dsv2-series#dsv2-series)" in the Microsoft Azure documentation.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} hospeda ejecutores de macOS en la nube de macOS propia de {% data variables.product.prodname_dotcom %}.
|
||||
{% data variables.product.prodname_dotcom %} hosts macOS runners in {% data variables.product.prodname_dotcom %}'s own macOS Cloud.
|
||||
|
||||
### Continuidad del flujo de trabajo para los ejecutores hospedados en {% data variables.product.prodname_dotcom %}
|
||||
### Workflow continuity for {% data variables.product.prodname_dotcom %}-hosted runners
|
||||
|
||||
{% data reusables.github-actions.runner-workflow-continuity %}
|
||||
|
||||
Adicionalmente, si la ejecución de flujo de trabajo se puso en cola con éxito, pero no la ha procesado un ejecutor hospedado en {% data variables.product.prodname_dotcom %} en los 45 minutos subsecuentes, entonces la ejecución de flujo de trabajo en cola se descartará.
|
||||
In addition, if the workflow run has been successfully queued, but has not been processed by a {% data variables.product.prodname_dotcom %}-hosted runner within 45 minutes, then the queued workflow run is discarded.
|
||||
|
||||
### Privilegios administrativos de los ejecutores alojados en {% data variables.product.prodname_dotcom %}
|
||||
### Administrative privileges of {% data variables.product.prodname_dotcom %}-hosted runners
|
||||
|
||||
Las máquinas virtuales Linux y macPS se ejecutan sin la contraseña `sudo`. Cuando necesitas ejecutar comandos o instalar herramientas que requieren más privilegios que el usuario actual, puedes usar `sudo` sin la necesidad de brindar una contraseña. Para obtener más información, consulta "[Manual de sudo](https://www.sudo.ws/man/1.8.27/sudo.man.html)."
|
||||
The Linux and macOS virtual machines both run using passwordless `sudo`. When you need to execute commands or install tools that require more privileges than the current user, you can use `sudo` without needing to provide a password. For more information, see the "[Sudo Manual](https://www.sudo.ws/man/1.8.27/sudo.man.html)."
|
||||
|
||||
Las máquinas virtuales de Windows están configuradas para ejecutarse como administradores con el control de cuentas de usuario (UAC) inhabilitado. Para obtener más información, consulta "[Cómo funciona el control de cuentas de usuario](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" en la documentación de Windows.
|
||||
Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see "[How User Account Control works](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" in the Windows documentation.
|
||||
|
||||
## Ejecutores y recursos de hardware compatibles
|
||||
## Supported runners and hardware resources
|
||||
|
||||
Especificación de hardware para las máquinas virtuales Windows y Linux:
|
||||
- CPU de 2 núcleos
|
||||
- 7 GB de memoria RAM
|
||||
- 14 GB de espacio en el disco SSD
|
||||
Hardware specification for Windows and Linux virtual machines:
|
||||
- 2-core CPU
|
||||
- 7 GB of RAM memory
|
||||
- 14 GB of SSD disk space
|
||||
|
||||
Especificación de hardware para las máquinas virtuales macOS:
|
||||
- CPU de 3 núcleos
|
||||
- 14 GB de memoria RAM
|
||||
- 14 GB de espacio en el disco SSD
|
||||
Hardware specification for macOS virtual machines:
|
||||
- 3-core CPU
|
||||
- 14 GB of RAM memory
|
||||
- 14 GB of SSD disk space
|
||||
|
||||
{% data reusables.github-actions.supported-github-runners %}
|
||||
|
||||
Las bitácoras de flujos de trabajo listan los ejecutores que se usan para ejecutar un job. Para obtener más información, consulta la sección "[Visualizar el historial de ejecuciones de un flujo de trabajo](/actions/managing-workflow-runs/viewing-workflow-run-history)".
|
||||
Workflow logs list the runner used to run a job. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
|
||||
## Software compatible
|
||||
## Supported software
|
||||
|
||||
Las herramientas de software que se incluyen en los ejecutores hospedados en {% data variables.product.prodname_dotcom %} se actualizan semanalmente. El proceso de actualización toma varios días y la lista de software pre-instalado en la rama `main` se actualiza después de que termine todo el despliegue.
|
||||
### Software preinstalado
|
||||
The software tools included in {% data variables.product.prodname_dotcom %}-hosted runners are updated weekly. The update process takes several days, and the list of preinstalled software on the `main` branch is updated after the whole deployment ends.
|
||||
### Preinstalled software
|
||||
|
||||
Las bitácoras de flujo de trabajo incluyen un enlace a las herramientas preinstaladas en el ejecutor exacto. Para encontrar eta información en la bitácora del flujo de trabajo, expande la sección `Configurar job`. Debajo de esta sección, expande la sección `Ambiente Virtual`. El enlace que sigue de `Software Incluído` describirá las herramientas preinstaladas en el ejecutor que ejecutó el flujo de trabajo.  Para obtener más información, consulta la sección "[Ver el hstorial de ejecuciones del flujo de trabajo](/actions/managing-workflow-runs/viewing-workflow-run-history)".
|
||||
Workflow logs include a link to the preinstalled tools on the exact runner. To find this information in the workflow log, expand the `Set up job` section. Under that section, expand the `Virtual Environment` section. The link following `Included Software` will describe the preinstalled tools on the runner that ran the workflow.
|
||||

|
||||
For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)."
|
||||
|
||||
Para encontrar una lista general de las herramientas que se incluyen en cada sistema operativo de los ejecutores, visita los siguientes enlaces:
|
||||
For the overall list of included tools for each runner operating system, see the links below:
|
||||
|
||||
* [Ubuntu 20.04 LTS](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md)
|
||||
* [Ubuntu 18.04 LTS](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-README.md)
|
||||
@@ -82,51 +86,53 @@ Para encontrar una lista general de las herramientas que se incluyen en cada sis
|
||||
* [macOS 11](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md)
|
||||
* [macOS 10.15](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md)
|
||||
|
||||
Los ejecutores alojados en {% data variables.product.prodname_dotcom %} incluyen las herramientas integradas predeterminadas del sistema operativo, además de los paquetes enumerados en las referencias anteriores. Por ejemplo, los ejecutores de Ubuntu y macOS incluyen `grep`, `find` y `which`, entre otras herramientas predeterminadas.
|
||||
{% data variables.product.prodname_dotcom %}-hosted runners include the operating system's default built-in tools, in addition to the packages listed in the above references. For example, Ubuntu and macOS runners include `grep`, `find`, and `which`, among other default tools.
|
||||
|
||||
### Utilizar el software preinstalado
|
||||
### Using preinstalled software
|
||||
|
||||
Te recomendamos utilizar acciones para interactuar con el software instalado en los ejecutores. Este acercamiento tiene varios beneficios:
|
||||
- Habitualmente, las acciones proporcionan una funcionalidad más flexible, como la selección de versiones, la capacidad de pasar argumentos y los parámetros
|
||||
- Garantiza que las versiones de herramienta que se utilizan en tu flujo de trabajo permanecerán iguales sin importar las actualizaciones de software
|
||||
We recommend using actions to interact with the software installed on runners. This approach has several benefits:
|
||||
- Usually, actions provide more flexible functionality like versions selection, ability to pass arguments, and parameters
|
||||
- It ensures the tool versions used in your workflow will remain the same regardless of software updates
|
||||
|
||||
Si hay alguna herramienta que quieras solicitar, abre una propuesta en [actions/virtual-environments](https://github.com/actions/virtual-environments). Este repositorio también contiene anuncios sobre todas las actualizaciones de software principales en los ejecutores.
|
||||
If there is a tool that you'd like to request, please open an issue at [actions/virtual-environments](https://github.com/actions/virtual-environments). This repository also contains announcements about all major software updates on runners.
|
||||
|
||||
### Instalar software adicional
|
||||
### Installing additional software
|
||||
|
||||
Puedes instalar software adicional en los ejecutores hospedados en {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la sección [Personalizar los ejecutores hospedados en GitHub](/actions/using-github-hosted-runners/customizing-github-hosted-runners)".
|
||||
You can install additional software on {% data variables.product.prodname_dotcom %}-hosted runners. For more information, see "[Customizing GitHub-hosted runners](/actions/using-github-hosted-runners/customizing-github-hosted-runners)".
|
||||
|
||||
## Direcciones IP
|
||||
## IP addresses
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si usas una lista de direcciones IP permitidas para tu cuenta de organización o de empresa {% data variables.product.prodname_dotcom %}, no puedes usar ejecutores alojados en {% data variables.product.prodname_dotcom %} y, en su lugar, debes usar ejecutores autoalojados. Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners)."
|
||||
**Note:** If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you cannot use {% data variables.product.prodname_dotcom %}-hosted runners and must instead use self-hosted runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Los ejecutores de Windows y de Ubuntu se hospedan en Azure y, subsecuentemente, tienen los mismos rangos de direcciones IP que los centros de datos de Azure. Los ejecutores de macOS se hospedan en la nube de macOS propia de {% data variables.product.prodname_dotcom %}.
|
||||
To get a list of IP address ranges that {% data variables.product.prodname_actions %} uses for {% data variables.product.prodname_dotcom %}-hosted runners, you can use the {% data variables.product.prodname_dotcom %} REST API. For more information, see the `actions` key in the response of the "[Get GitHub meta information](/rest/reference/meta#get-github-meta-information)" endpoint.
|
||||
|
||||
Para obtener una lista de los rangos de direcciones IP que utiliza {% data variables.product.prodname_actions %} para los ejecutores hospedados en {% data variables.product.prodname_dotcom %}, puedes utilizar la API de REST de {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la clave `actions` en la respuesta de la terminal de [Obtener información meta de GitHub](/rest/reference/meta#get-github-meta-information)". Puedes utilizar esta lista de direcciones IP si requieres prevenir acceso no autorizados a tus recursos internos mediante una lista de direcciones IP permitidas.
|
||||
Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in {% data variables.product.prodname_dotcom %}'s own macOS cloud.
|
||||
|
||||
La lista de direcciones IP permitidas de {% data variables.product.prodname_actions %} que devuelve la API se actualiza una vez por semana.
|
||||
Since there are so many IP address ranges for {% data variables.product.prodname_dotcom %}-hosted runners, we do not recommend that you use these as allow-lists for your internal resources.
|
||||
|
||||
## Sistemas de archivos
|
||||
The list of {% data variables.product.prodname_actions %} IP addresses returned by the API is updated once a week.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} ejecuta acciones y comandos de shell en directorios específicos en la máquina virtual. Las rutas de archivo en las máquinas virtuales no son estáticas. Usa las variables de entorno que proporciona {% data variables.product.prodname_dotcom %} para construir rutas de archivo para los directorios `home`, `workspace` y `workflow`.
|
||||
## File systems
|
||||
|
||||
| Directorio | Variable de entorno | Descripción |
|
||||
| --------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home` | `HOME` | Contiene datos relacionados con el usuario. Por ejemplo, este directorio podría contener las credenciales de un intento de inicio de sesión. |
|
||||
| `workspace` | `GITHUB_WORKSPACE` | Las acciones y los comandos del shell se ejecutan en este directorio. Una acción puede modificar los contenidos de este directorio, al que pueden tener acceso acciones posteriores. |
|
||||
| `workflow/event.json` | `GITHUB_EVENT_PATH` | La carga `POST` del evento de webhook que activó el flujo de trabajo. {% data variables.product.prodname_dotcom %} reescribe esto cada vez que se ejecuta una acción para aislar el contenido del archivo entre acciones. |
|
||||
{% data variables.product.prodname_dotcom %} executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables {% data variables.product.prodname_dotcom %} provides to construct file paths for the `home`, `workspace`, and `workflow` directories.
|
||||
|
||||
Para obtener una lista de las variables de entorno que crea {% data variables.product.prodname_dotcom %} para cada flujo de trabajo, consulta "[Usar variables de entorno](/github/automating-your-workflow-with-github-actions/using-environment-variables)".
|
||||
| Directory | Environment variable | Description |
|
||||
|-----------|----------------------|-------------|
|
||||
| `home` | `HOME` | Contains user-related data. For example, this directory could contain credentials from a login attempt. |
|
||||
| `workspace` | `GITHUB_WORKSPACE` | Actions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access. |
|
||||
| `workflow/event.json` | `GITHUB_EVENT_PATH` | The `POST` payload of the webhook event that triggered the workflow. {% data variables.product.prodname_dotcom %} rewrites this each time an action executes to isolate file content between actions.
|
||||
|
||||
### Sistema de archivos del contenedor de Docker
|
||||
For a list of the environment variables {% data variables.product.prodname_dotcom %} creates for each workflow, see "[Using environment variables](/github/automating-your-workflow-with-github-actions/using-environment-variables)."
|
||||
|
||||
Las acciones que se ejecutan en contenedores Docker tienen directorios estáticos en la ruta `/github`. Sin embargo, te recomendamos encarecidamente que uses las variables de entorno predeterminadas para construir rutas de archivos en contenedores de Docker.
|
||||
### Docker container filesystem
|
||||
|
||||
{% data variables.product.prodname_dotcom %} se reserva el prefijo de ruta `/github` y crea tres directorios para las acciones.
|
||||
Actions that run in Docker containers have static directories under the `/github` path. However, we strongly recommend using the default environment variables to construct file paths in Docker containers.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} reserves the `/github` path prefix and creates three directories for actions.
|
||||
|
||||
- `/github/home`
|
||||
- `/github/workspace` - {% data reusables.repositories.action-root-user-required %}
|
||||
@@ -134,7 +140,9 @@ Las acciones que se ejecutan en contenedores Docker tienen directorios estático
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
## Leer más
|
||||
- "[Administrar la facturación de {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)"
|
||||
## Further reading
|
||||
- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)"
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
---
|
||||
title: Personalizar los ejecutores hospedados en GitHub
|
||||
intro: Puedes instalar software adicional en los ejecutores hospedados en GitHub como parte de tu flujo de trabajo.
|
||||
title: Customizing GitHub-hosted runners
|
||||
intro: You can install additional software on GitHub-hosted runners as a part of your workflow.
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghec: '*'
|
||||
type: tutorial
|
||||
topics:
|
||||
- Workflows
|
||||
shortTitle: Personalizar los ejecutores
|
||||
shortTitle: Customize runners
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-hosted-runners-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Si requieres paquetes de software adicionales en los ejecutores hospedados en {% data variables.product.prodname_dotcom %}, puedes crear un job que instale los paquetes como parte de tu flujo de trabajo.
|
||||
If you require additional software packages on {% data variables.product.prodname_dotcom %}-hosted runners, you can create a job that installs the packages as part of your workflow.
|
||||
|
||||
Para ver los paquetes que ya se instalaron predeterminadamente, consulta la sección "[Software preinstalado](/actions/using-github-hosted-runners/about-github-hosted-runners#preinstalled-software)".
|
||||
To see which packages are already installed by default, see "[Preinstalled software](/actions/using-github-hosted-runners/about-github-hosted-runners#preinstalled-software)."
|
||||
|
||||
Esta guía demuestra cómo crear un job que instala software adicional en un ejecutor hospedado en {% data variables.product.prodname_dotcom %}.
|
||||
This guide demonstrates how to create a job that installs additional software on a {% data variables.product.prodname_dotcom %}-hosted runner.
|
||||
|
||||
## Instalar software en ejecutores Ubuntu
|
||||
## Installing software on Ubuntu runners
|
||||
|
||||
El siguiente ejemplo demuestra cómo instalar un paquete de `apt` como parte de un job.
|
||||
The following example demonstrates how to install an `apt` package as part of a job.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -45,13 +44,13 @@ jobs:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Ejecuta siempre `sudo apt-get update` antes de instalar un paquete. En caso de que el índice de `apt` esté desactualizado, este comando recupera y re-indiza cualquier paquete disponible, lo cual ayuda a prevenir los fallos en la instalación de paquetes.
|
||||
**Note:** Always run `sudo apt-get update` before installing a package. In case the `apt` index is stale, this command fetches and re-indexes any available packages, which helps prevent package installation failures.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Instalar el software en los ejecutores de macOS
|
||||
## Installing software on macOS runners
|
||||
|
||||
El siguiente ejemplo demuestra cómo instalar paquetes y barriles de Brew como parte de un job.
|
||||
The following example demonstrates how to install Brew packages and casks as part of a job.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -75,9 +74,9 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Instalar software en ejecutores Windows
|
||||
## Installing software on Windows runners
|
||||
|
||||
El siguiente ejemplo demuestra cómo utilizar [Chocolatey](https://community.chocolatey.org/packages) para instalar el CLI de {% data variables.product.prodname_dotcom %} como parte de un job.
|
||||
The following example demonstrates how to use [Chocolatey](https://community.chocolatey.org/packages) to install the {% data variables.product.prodname_dotcom %} CLI as part of a job.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
|
||||
@@ -80,10 +80,12 @@ We recommend you cover these topics in your internal kickoff meeting at your com
|
||||
|
||||
- What are your business success metrics, how do you plan to measure and report on those measures?
|
||||
- If these have not been defined, please define them. If they have been defined, communicate them and talk about how you plan to provide data-driven progress updates.
|
||||
- Review of how GHAS works within the SDLC (Software Development Life cycle) and how this is expected to work for your company.
|
||||
- Review of how GHAS works within the SDLC (Software Development Life cycle) and how this is
|
||||
expected to work for your company.
|
||||
- Review of best practices if your company did not participate in the Proof of Concept exercise (or a refresher if your team finds value in this review)
|
||||
- How does this compare/contrast with your existing Application Security Program?
|
||||
- Discuss and agree how your internal team will work best together throughout rollout and implementation.
|
||||
- Discuss and agree how your internal team will work best together throughout rollout and
|
||||
implementation.
|
||||
- Align on your communications plans and frequency of meetings for your internal team
|
||||
- Review tasks for rollout and implementation completion, defining roles and responsibilities. We have outlined the majority of the tasks in this article, but there may be additional tasks your company requires we have not included.
|
||||
- Consider establishing a “Champions Program” for scaled enablement
|
||||
@@ -104,7 +106,8 @@ If you’re working independently, this section outlines some things to ensure a
|
||||
Plans for process changes (if needed) and training for team members as needed:
|
||||
- Documented team assignments for roles and responsibilities. For more information on the permissions required for each feature, see "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#access-requirements-for-security-features)."
|
||||
- Documented plan of tasks and timelines/timeframes where possible. This should include infrastructure changes, process changes/training, and all subsequent phases of enablement of GHAS, allowing for timeframes for remediations and configuration adjustments as needed. For more information, see "[Phase 1: Pilot projects(s)](/admin/advanced-security/deploying-github-advanced-security-in-your-enterprise#--phase-1-pilot-projects)" below.
|
||||
- Prioritized plan for which projects/teams will have GHAS enabled first, and subsequent plans for which projects/teams will come in following phases
|
||||
- Prioritized plan for which projects/teams will have GHAS enabled first, and subsequent
|
||||
plans for which projects/teams will come in following phases
|
||||
- Success metrics based on business goals. This will be a crucial reference point following the Pilot Project(s) to gain buy-in for the full rollout.
|
||||
|
||||
{% note %}
|
||||
@@ -117,11 +120,11 @@ Plans for process changes (if needed) and training for team members as needed:
|
||||
|
||||
For {% data variables.product.prodname_ghe_server %} customers, to help ensure your instance can support the rollout and implementation of GHAS, review the following:
|
||||
|
||||
- While upgrading to GHES 3.0 is not required, you must upgrade to GHES 3.0 or higher to take advantage of feature combinations such as code scanning and {% data variables.product.prodname_actions %}. Para obtener más información, consulta "[Actualizar {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)."
|
||||
- While upgrading to GHES 3.0 is not required, you must upgrade to GHES 3.0 or higher to take advantage of feature combinations such as code scanning and {% data variables.product.prodname_actions %}. For more information, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)."
|
||||
|
||||
- En una configuración de alta disponibilidad, un aparato secundario {% data variables.product.prodname_ghe_server %} totalmente redundante se mantiene en sincronización con el aparato principal mediante la replicación de todos los almacenes de datos importantes. For more information on setting up high availability, see "[Configuring High Availability](/admin/enterprise-management/configuring-high-availability)."
|
||||
- In a high availability configuration, a fully redundant secondary {% data variables.product.prodname_ghe_server %} appliance is kept in sync with the primary appliance through replication of all major datastores. For more information on setting up high availability, see "[Configuring High Availability](/admin/enterprise-management/configuring-high-availability)."
|
||||
|
||||
- To help support any discussions regarding potential changes to your company's set up, you can review the {% data variables.product.prodname_ghe_server %} system overview. Para obtener más información, consulta "[Resumen del sistema](/admin/overview/system-overview)".
|
||||
- To help support any discussions regarding potential changes to your company's set up, you can review the {% data variables.product.prodname_ghe_server %} system overview. For more information, see "[System overview](/admin/overview/system-overview)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -129,10 +132,12 @@ For {% data variables.product.prodname_ghe_server %} customers, to help ensure y
|
||||
|
||||
As your company prepares to begin your pilot project(s), it’s crucial to ensure that you have set a baseline for where your enterprise is today and have defined clear success metrics to measure your pilot project(s) progress against.
|
||||
|
||||
There are likely key business goals your company has that will need to be measured against, but there are other metrics we can identify to help gauge your pilot’s success.
|
||||
There are likely key business goals your company has that will need to be measured
|
||||
against, but there are other metrics we can identify to help gauge your pilot’s success.
|
||||
|
||||
As a starting point, some of these metrics might include:
|
||||
- The mean time to remediation for GHAS vulnerabilities versus the previous tooling and practices the pilot project(s) / team(s) utilized.
|
||||
- The mean time to remediation for GHAS vulnerabilities versus the previous tooling and
|
||||
practices the pilot project(s) / team(s) utilized.
|
||||
- The code scanning integration's findings for the top X most critical applications.
|
||||
- The number of applications that have SAST (Static application security testing) integrated versus before the engagement.
|
||||
|
||||
@@ -141,14 +146,20 @@ If you participated in the POC exercise prior to purchasing GHAS, these objectiv
|
||||
- Security / CISO (Chief Information Security Officer)
|
||||
- Application Development Teams
|
||||
|
||||
If you’d like to take things a step further, you can look at utilizing OWASP’s DevSecOps Maturity Model (DSOMM) to work towards reaching a Level 1 maturity. There are four main evaluation criteria in DSOMM:
|
||||
If you’d like to take things a step further, you can look at utilizing OWASP’s DevSecOps
|
||||
Maturity Model (DSOMM) to work towards reaching a Level 1 maturity. There are four main
|
||||
evaluation criteria in DSOMM:
|
||||
|
||||
- **Static depth:** How comprehensive is the static code scan that you’re performing within the AppSec CI pipeline
|
||||
- **Dynamic depth:** How comprehensive is the dynamic scan that is being run within the AppSec CI pipeline
|
||||
- **Static depth:** How comprehensive is the static code scan that you’re performing within
|
||||
the AppSec CI pipeline
|
||||
- **Dynamic depth:** How comprehensive is the dynamic scan that is being run within the
|
||||
AppSec CI pipeline
|
||||
- **Intensity:** Your schedule frequency for the security scans running in AppSec CI pipeline
|
||||
- **Consolidation:** Your remediation workflow for handling findings and process completeness
|
||||
- **Consolidation:** Your remediation workflow for handling findings and process
|
||||
completeness
|
||||
|
||||
To learn more about this approach and how to implement it in GHAS, you can download our white paper "[Achieving DevSecOps Maturity with GitHub](https://resources.github.com/whitepapers/achieving-devsecops-maturity-github/)."
|
||||
To learn more about this approach and how to implement it in GHAS,
|
||||
you can download our white paper "[Achieving DevSecOps Maturity with GitHub](https://resources.github.com/whitepapers/achieving-devsecops-maturity-github/)."
|
||||
|
||||
Based on your wider company’s goals and current levels of DevSecOps maturity, we can help you determine how to best measure your pilot’s progress and success.
|
||||
|
||||
@@ -160,7 +171,9 @@ Based on your wider company’s goals and current levels of DevSecOps maturity,
|
||||
|
||||
{% endnote %}
|
||||
|
||||
To begin enabling GHAS across your company, we recommend beginning with a few high-impact projects or teams to pilot an initial rollout. This will allow an initial group within your company to get familiar with GHAS and build a solid foundation on GHAS before rolling out to the remainder of your company.
|
||||
To begin enabling GHAS across your company, we recommend beginning with a few
|
||||
high-impact projects or teams to pilot an initial rollout. This will allow an initial
|
||||
group within your company to get familiar with GHAS and build a solid foundation on GHAS before rolling out to the remainder of your company.
|
||||
|
||||
Before you start your pilot project(s), we recommend that you schedule some checkpoint meetings for your team(s), such as an initial meeting, midpoint review, and a wrap-up session when the pilot is complete. These checkpoint meetings will help you all make adjustments as needed and ensure your team(s) are prepared and supported to complete the pilot successfully.
|
||||
|
||||
@@ -180,7 +193,7 @@ You need to enable GHAS for each pilot project, either by enabling the GHAS feat
|
||||
|
||||
The vast majority of GHAS set-up and installation is centered around enabling and configuring code scanning on your enterprise and in your repositories.
|
||||
|
||||
Code scanning allows you to analyze code in a {% data variables.product.prodname_dotcom %} repository to find security vulnerabilities and coding errors. Code scanning can be used to find, triage, and prioritize fixes for existing problems in your code, as well as help prevent developers from introducing new problems that may otherwise reach production. Para obtener más información, consulta la sección "[Acerca del escaneo de código"](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning).
|
||||
Code scanning allows you to analyze code in a {% data variables.product.prodname_dotcom %} repository to find security vulnerabilities and coding errors. Code scanning can be used to find, triage, and prioritize fixes for existing problems in your code, as well as help prevent developers from introducing new problems that may otherwise reach production. For more information, see "[About code scanning](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)."
|
||||
|
||||
### Step 2: Set up {% data variables.product.prodname_code_scanning_capc %}
|
||||
|
||||
@@ -196,23 +209,24 @@ To set up code scanning, you must decide whether you'll run code scanning with [
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
To set up code scanning with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}, you'll need to provision one or more self-hosted {% data variables.product.prodname_actions %} runners in your environment. For more information, see "[Setting up a self-hosted runner](/admin/advanced-security/configuring-code-scanning-for-your-appliance#running-code-scanning-using-github-actions)."
|
||||
To set up code scanning with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}, you'll need to provision one or more self-hosted {% data variables.product.prodname_actions %} runners in your
|
||||
environment. For more information, see "[Setting up a self-hosted runner](/admin/advanced-security/configuring-code-scanning-for-your-appliance#running-code-scanning-using-github-actions)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
For {% data variables.product.prodname_ghe_cloud %}, you can start to create a {% data variables.product.prodname_actions %} workflow using the [CodeQL action](https://github.com/github/codeql-action/) to run code scanning on a repository. {% data variables.product.prodname_code_scanning_capc %} uses [GitHub-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners) by default, but this can be customized if you plan to host your own runner with your own hardware specifications. Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners)."
|
||||
For {% data variables.product.prodname_ghe_cloud %}, you can start to create a {% data variables.product.prodname_actions %} workflow using the [CodeQL action](https://github.com/github/codeql-action/) to run code scanning on a repository. {% data variables.product.prodname_code_scanning_capc %} uses [GitHub-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners) by default, but this can be customized if you plan to host your own runner with your own hardware specifications. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners)."
|
||||
|
||||
For more information about {% data variables.product.prodname_actions %}, see:
|
||||
- "[Learn GitHub Actions](/actions/learn-github-actions)"
|
||||
- "[Understanding GitHub Actions](/actions/learn-github-actions/understanding-github-actions)"
|
||||
- "[Eventos que desencadenan flujos de trabajo](/actions/learn-github-actions/events-that-trigger-workflows)"
|
||||
- "[Events that trigger workflows](/actions/learn-github-actions/events-that-trigger-workflows)"
|
||||
- "[Filter Pattern Cheat Sheet](/actions/learn-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet)"
|
||||
|
||||
#### Using a third-party CI system with the CodeQL CLI for {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
If you’re not using {% data variables.product.prodname_actions %} and have your own continuous integration system, you can use the CodeQL CLI to perform CodeQL code scanning in a third-party CI system.
|
||||
|
||||
Para obtener más información, consulta:
|
||||
For more information, see:
|
||||
- "[About CodeQL code scanning in your CI system](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system)"
|
||||
|
||||
### Step 3: Enable {% data variables.product.prodname_code_scanning_capc %} in repositories
|
||||
@@ -221,23 +235,28 @@ If you’re using a phased approach to roll out GHAS, we recommend enabling {% d
|
||||
|
||||
If you’re not planning on a phased rollout approach and want to enable code scanning for many repositories, you may want to script the process.
|
||||
|
||||
For an example of a script that opens pull requests to add a {% data variables.product.prodname_actions %} workflow to multiple repositories, see the [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) repository for an example using Powershell, or [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement) for teams who do not have Powershell and instead would like to use NodeJS.
|
||||
For an example of a script that opens pull requests to add a {% data variables.product.prodname_actions %} workflow to multiple repositories, see the [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) repository for an example using PowerShell, or [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement) for teams who do not have PowerShell and instead would like to use NodeJS.
|
||||
|
||||
### Step 4: Run code scans and review your results
|
||||
|
||||
With code scanning enabled in the necessary repositories, you're ready to help your development team(s) understand how to run code scans and reports, view reports, and process results.
|
||||
With code scanning enabled in the necessary repositories, you're ready to help your
|
||||
development team(s) understand how to run code scans and reports, view reports, and process results.
|
||||
|
||||
#### {% data variables.product.prodname_code_scanning_capc %}
|
||||
|
||||
With code scanning, you can find vulnerabilities and errors in your project's code on GitHub, as well as view, triage, understand, and resolve the related {% data variables.product.prodname_code_scanning %} alerts.
|
||||
With code scanning, you can find vulnerabilities and errors in your project's code on GitHub,
|
||||
as well as view, triage, understand, and resolve the related {% data variables.product.prodname_code_scanning %} alerts.
|
||||
|
||||
When code scanning identifies a problem in a pull request, you can review the highlighted code and resolve the alert. Para obtener màs informaciònPara obtener más información, consulta la sección "[Clasificar las alertas del {% data variables.product.prodname_code_scanning %} en las solicitudes de extracción](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests)".
|
||||
When code scanning identifies a problem in a pull request, you can review the highlighted
|
||||
code and resolve the alert. For more information, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests)."
|
||||
|
||||
If you have write permission to a repository you can manage code scanning alerts for that repository. With write permission to a repository, you can view, fix, dismiss, or delete alerts for potential vulnerabilities or errors in your repository's code. Para obtener más información, consulta la sección "[Administrar las alertas del escaneo de código para tu repositorio](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository)".
|
||||
If you have write permission to a repository you can manage code scanning alerts for that
|
||||
repository. With write permission to a repository, you can view, fix, dismiss, or delete alerts for potential
|
||||
vulnerabilities or errors in your repository's code. For more information, see "[Managing code scanning alerts for your repository](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository)."
|
||||
|
||||
#### Generate reports of {% data variables.product.prodname_code_scanning %} alerts
|
||||
|
||||
If you’d like to create a report of your code scanning alerts, you can use the {% data variables.product.prodname_code_scanning_capc %} API. Para obtener más información, consulta la "[API del {% data variables.product.prodname_code_scanning_capc %}](/rest/reference/code-scanning)".
|
||||
If you’d like to create a report of your code scanning alerts, you can use the {% data variables.product.prodname_code_scanning_capc %} API. For more information, see the "[{% data variables.product.prodname_code_scanning_capc %} API](/rest/reference/code-scanning)."
|
||||
|
||||
For an example of how to use the {% data variables.product.prodname_code_scanning_capc %} API, see the [`get-code-scanning-alerts-in-org-sample`](https://github.com/jhutchings1/get-code-scanning-alerts-in-org-sample) repository.
|
||||
|
||||
@@ -245,7 +264,7 @@ For an example of how to use the {% data variables.product.prodname_code_scannin
|
||||
|
||||
When running initial code scans, you may find that no results are found or that an unusual number of results are returned. You may want to adjust what is flagged in future scans.
|
||||
|
||||
Para obtener más información, consulta la sección "[Configurar el escaneo de código](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning)".
|
||||
For more information, see "[Configuring code scanning](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning)."
|
||||
|
||||
If your company wants to use other third-party code analysis tools with GitHub code scanning, you can use actions to run those tools within GitHub. Alternatively, you can upload results, generated by third-party tools as SARIF files, to code scanning. For more information, see "[Integrating with code scanning](/code-security/code-scanning/integrating-with-code-scanning)."
|
||||
|
||||
@@ -267,19 +286,15 @@ To learn how to view and close alerts for secrets checked into your repository,
|
||||
|
||||
GitHub helps you avoid using third-party software that contains known vulnerabilities. We provide the following tools for removing and avoiding vulnerable dependencies.
|
||||
|
||||
| Dependency Management Tool | Descripción |
|
||||
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Dependabot Alerts | You can track your repository's dependencies and receive Dependabot alerts when your enterprise detects vulnerable dependencies. Para obtener más información, consulta la sección "[Acerca de las alertas para las dependencias vulnerables](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies)". |
|
||||
| Dependency Graph | La gráfica de dependencias es un resumen de los archivos de bloqueo y de manifiesto que se almacenan en un repositorio. Te muestra los ecosistemas y paquetes de los cuales depende tu base de código (sus dependencias) y los repositorios y paquetes que dependen de tu proyecto (sus dependencias). Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)". |{% ifversion ghes > 3.1 or ghec %}
|
||||
| Dependency Review | Si una solicitud de cambios contiene cambios a las dependencias, puedes ver un resumen de lo que ha cambiado y si es que existen vulnerabilidades conocidas en cualquiera de estas dependencias. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)" or "[Reviewing Dependency Changes in a Pull Request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." |{% endif %} {% ifversion ghec %}
|
||||
| Dependabot Security Updates | Dependabot can fix vulnerable dependencies for you by raising pull requests with security updates. For more information, see "[About Dependabot security updates](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)." |
|
||||
| Dependabot Version Updates | Dependabot can be used to keep the packages you use updated to the latest versions. Para obtener más información, consulta la sección "[Acerca de las actualizaciones de versión del Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates)". | {% endif %}
|
||||
| Dependency Management Tool | Description |
|
||||
|----|----|
|
||||
| Dependabot Alerts | You can track your repository's dependencies and receive Dependabot alerts when your enterprise detects vulnerable dependencies. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies)." |
|
||||
| Dependency Graph | The dependency graph is a summary of the manifest and lock files stored in a repository. It shows you the ecosystems and packages your codebase depends on (its dependencies) and the repositories and packages that depend on your project (its dependents). For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." |{% ifversion ghes > 3.1 or ghec %}
|
||||
| Dependency Review | If a pull request contains changes to dependencies, you can view a summary of what has changed and whether there are known vulnerabilities in any of the dependencies. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)" or "[Reviewing Dependency Changes in a Pull Request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." | {% endif %} {% ifversion ghec or ghes > 3.2 %}
|
||||
| Dependabot Security Updates | Dependabot can fix vulnerable dependencies for you by raising pull requests with security updates. For more information, see "[About Dependabot security updates](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)." |
|
||||
| Dependabot Version Updates | Dependabot can be used to keep the packages you use updated to the latest versions. For more information, see "[About Dependabot version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates)." | {% endif %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** Dependabot security updates and version updates are currently only available for {% data variables.product.prodname_ghe_cloud %} and will be available for {% data variables.product.prodname_ghe_server %} as outlined in our [public roadmap](https://github.com/github/roadmap).
|
||||
|
||||
{% endnote %}
|
||||
{% data reusables.dependabot.beta-security-and-version-updates-onboarding %}
|
||||
|
||||
### Step 8: Establish a remediation process
|
||||
|
||||
@@ -303,7 +318,8 @@ You can learn more about [CodeQL queries](https://codeql.github.com/docs/writing
|
||||
|
||||
All throughout the pilot phase, it’s essential to create and maintain high-quality internal documentation of the infrastructure and process changes made within your company, as well as learnings from the pilot process and configuration changes made as your team(s) progress throughout the rollout and implementation process.
|
||||
|
||||
Having thorough and complete documentation helps make the remaining phases of your rollout more of a repeatable process. Good documentation also ensures that new teams can be onboarded consistently throughout the rollout process and as new team members join your team(s).
|
||||
Having thorough and complete documentation helps make the remaining phases of your rollout more of a repeatable process.
|
||||
Good documentation also ensures that new teams can be onboarded consistently throughout the rollout process and as new team members join your team(s).
|
||||
|
||||
Good documentation doesn’t end when rollout and implementation are complete. The most helpful documentation is actively updated and evolves as your teams expand their experience using GHAS and as their needs grow.
|
||||
|
||||
@@ -358,7 +374,8 @@ Based on what you learned from your pilot project(s), update the rollout plan yo
|
||||
{% note %}
|
||||
|
||||
{% octicon "clock" aria-label="Clock" %} **Estimated timing:** We estimate that phase 3 may
|
||||
last anywhere from 2 weeks to multiple months. This range can vary largely depending on your company’s size, number of repositories/teams, level of change the GHAS rollout will be for your company, etc.
|
||||
last anywhere from 2 weeks to multiple months. This range can vary largely depending on
|
||||
your company’s size, number of repositories/teams, level of change the GHAS rollout will be for your company, etc.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
@@ -383,11 +400,11 @@ To help support your teams, here's a recap of relevant GitHub documentation.
|
||||
|
||||
For documentation on how to enable GHAS, see:
|
||||
- "[Enabling Advanced Security features](/get-started/learning-about-github/about-github-advanced-security)"
|
||||
- "[Administrar la seguridad y la configuración de análisis para tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)"
|
||||
- "[Administrar la configuración de seguridad y de análisis para tu organización](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)"
|
||||
- "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)"
|
||||
- "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)"
|
||||
|
||||
For documentation on how to migrate to GitHub, see:
|
||||
- "[Importar código fuente a GitHub](/github/importing-your-projects-to-github/importing-source-code-to-github)"
|
||||
- "[Importing source code to GitHub](/github/importing-your-projects-to-github/importing-source-code-to-github)"
|
||||
|
||||
For documentation on getting started with GitHub, see:
|
||||
- "[Get started](/get-started)"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Habilitar la Seguridad Avanzada de GitHub para tu empresa
|
||||
shortTitle: Habilitar la Seguridad Avanzada de GitHub
|
||||
intro: 'Puedes configurar {% data variables.product.product_name %} para que incluya la {% data variables.product.prodname_GH_advanced_security %}. Esto proporciona características adicionales que ayudan a los usuarios a encontrar y solucionar problemas de seguridad en su código.'
|
||||
title: Enabling GitHub Advanced Security for your enterprise
|
||||
shortTitle: Enabling GitHub Advanced Security
|
||||
intro: 'You can configure {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}. This provides extra features that help users find and fix security problems in their code.'
|
||||
product: '{% data reusables.gated-features.ghas %}'
|
||||
versions:
|
||||
ghes: '*'
|
||||
@@ -14,81 +14,84 @@ topics:
|
||||
- Security
|
||||
---
|
||||
|
||||
## Acerca de habilitar la {% data variables.product.prodname_GH_advanced_security %}
|
||||
## About enabling {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% data reusables.advanced-security.ghas-helps-developers %}
|
||||
|
||||
{% ifversion ghes > 3.0 %}
|
||||
Cuando habilitas la {% data variables.product.prodname_GH_advanced_security %} para tu empresa, los administradores de repositorio de todas las organizaciones pueden habilitar las características a menos de que configures una política para restringir el acceso. Para obtener más información, consulta la sección "[Requerir políticas para la {% data variables.product.prodname_advanced_security %} en tu empresa](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)".
|
||||
When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features unless you set up a policy to restrict access. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)."
|
||||
{% else %}
|
||||
Cuando habilitas la {% data variables.product.prodname_GH_advanced_security %} para tu empresa, los administradores de repositorio en todas las organizaciones pueden habilitar las características. {% ifversion ghes = 3.0 %}Para obtener más información, consulta las secciones "[Administrar la configuración de seguridad y análisis de tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" y "[Administrar la configuración y análisis de tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)".{% endif %}
|
||||
When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features. {% ifversion ghes = 3.0 %}For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
For guidance on a phased deployment of GitHub Advanced Security, see "[Deploying GitHub Advanced Security in your enterprise](/admin/advanced-security/deploying-github-advanced-security-in-your-enterprise)."
|
||||
{% endif %}
|
||||
|
||||
## Prerequisitos para habilitar la {% data variables.product.prodname_GH_advanced_security %}
|
||||
## Prerequisites for enabling {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
1. Mejora tu licencia para que {% data variables.product.product_name %} incluya la {% data variables.product.prodname_GH_advanced_security %}.{% ifversion ghes > 3.0 %} Para obtener más información sobre el licenciamiento, consulta la sección "[Acerca de la facturación de {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)".{% endif %}
|
||||
2. Descarga el archivo de licencia nuevo. Paa obtener más información, consulta la sección "[Descargar tu licencia para {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)".
|
||||
3. Carga el archivo de licencia nuevo en {% data variables.product.product_location %}. Para obtener más información, consulta la sección "[Cargar una licencia nueva en {% data variables.product.prodname_ghe_server %}](/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)".{% ifversion ghes %}
|
||||
4. Revisa los prerequisitos para las características que piensas habilitar.
|
||||
1. Upgrade your license for {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}.{% ifversion ghes > 3.0 %} For information about licensing, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% endif %}
|
||||
2. Download the new license file. For more information, see "[Downloading your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)."
|
||||
3. Upload the new license file to {% data variables.product.product_location %}. For more information, see "[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)."{% ifversion ghes %}
|
||||
4. Review the prerequisites for the features you plan to enable.
|
||||
|
||||
- {% data variables.product.prodname_code_scanning_capc %}, consulta la sección "[Configurar el {% data variables.product.prodname_code_scanning %} para tu aplicativo](/admin/advanced-security/configuring-code-scanning-for-your-appliance#prerequisites-for-code-scanning)".
|
||||
- {% data variables.product.prodname_secret_scanning_caps %}, consulta la sección "[Configurar el {% data variables.product.prodname_secret_scanning %} para tu aplicativo](/admin/advanced-security/configuring-secret-scanning-for-your-appliance#prerequisites-for-secret-scanning)".{% endif %}
|
||||
- {% data variables.product.prodname_dependabot %}, Consulta la sección "[Habilitar la gráfica de dependencias y las {% data variables.product.prodname_dependabot_alerts %} en tu cuenta empresarial](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)".
|
||||
- {% data variables.product.prodname_code_scanning_capc %}, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#prerequisites-for-code-scanning)."
|
||||
- {% data variables.product.prodname_secret_scanning_caps %}, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your appliance](/admin/advanced-security/configuring-secret-scanning-for-your-appliance#prerequisites-for-secret-scanning)."{% endif %}
|
||||
- {% data variables.product.prodname_dependabot %}, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
|
||||
## Verificar si tu licencia incluye a la {% data variables.product.prodname_GH_advanced_security %}
|
||||
## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% ifversion ghes > 3.0 %}
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.license-tab %}
|
||||
1. Si tu licencia incluye a la {% data variables.product.prodname_GH_advanced_security %}, la página de licencia incluirá una sección que muestra los detalles de uso actuales. 
|
||||
1. If your license includes {% data variables.product.prodname_GH_advanced_security %}, the license page includes a section showing details of current usage.
|
||||

|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes = 3.0 %}
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
1. Si tu licencia incluye la {% data variables.product.prodname_GH_advanced_security %}, habrá una entrada de **{% data variables.product.prodname_advanced_security %}** en la barra lateral izquierda. 
|
||||
1. If your license includes {% data variables.product.prodname_GH_advanced_security %}, there is an **{% data variables.product.prodname_advanced_security %}** entry in the left sidebar.
|
||||

|
||||
|
||||
{% data reusables.enterprise_management_console.advanced-security-license %}
|
||||
{% endif %}
|
||||
|
||||
## Habilitar e inhabilitar las característcicas de la {% data variables.product.prodname_GH_advanced_security %}
|
||||
## Enabling and disabling {% data variables.product.prodname_GH_advanced_security %} features
|
||||
|
||||
{% data reusables.enterprise_management_console.enable-disable-security-features %}
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
{% data reusables.enterprise_management_console.advanced-security-tab %}{% ifversion ghes %}
|
||||
1. Debajo de "{% ifversion ghes < 3.2 %}{% data variables.product.prodname_advanced_security %}{% else %}Seguridad{% endif %}", selecciona las características que quieras habilitar y deselecciona cualquier característica que quieras inhabilitar.
|
||||
1. Under "{% ifversion ghes < 3.2 %}{% data variables.product.prodname_advanced_security %}{% else %}Security{% endif %}," select the features that you want to enable and deselect any features you want to disable.
|
||||
{% ifversion ghes > 3.1 %}{% else %}{% endif %}{% else %}
|
||||
1. Debajo de "{% data variables.product.prodname_advanced_security %}", da clic en **{% data variables.product.prodname_code_scanning_capc %}**. {% endif %}
|
||||
1. Under "{% data variables.product.prodname_advanced_security %}," click **{% data variables.product.prodname_code_scanning_capc %}**.
|
||||
{% endif %}
|
||||
{% data reusables.enterprise_management_console.save-settings %}
|
||||
|
||||
Cuando {% data variables.product.product_name %} termina de reiniciarse, estás listo para configurar cualquier recurso adicional que se requiera para las características recién habilitadas. Para obtener más información, consulta "[Configurar el {% data variables.product.prodname_code_scanning %} en tu aplicativo](/admin/advanced-security/configuring-code-scanning-for-your-appliance)."
|
||||
When {% data variables.product.product_name %} has finished restarting, you're ready to set up any additional resources required for newly enabled features. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance)."
|
||||
|
||||
## Habilitar o inhabilitar las características de la {% data variables.product.prodname_GH_advanced_security %} a través del shell administrativo (SSH)
|
||||
## Enabling or disabling {% data variables.product.prodname_GH_advanced_security %} features via the administrative shell (SSH)
|
||||
|
||||
Puedes habilitar o inhabilitar las características mediante programación en {% data variables.product.product_location %}. Para obtener más información acerca de las utilidades del shell administrativo y de la línea de comandos para {% data variables.product.prodname_ghe_server %}, consulta las secciones "[Acceder al shell administrativo (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" y "[Utilidades de la línea de comandos](/admin/configuration/command-line-utilities#ghe-config)".
|
||||
You can enable or disable features programmatically on {% data variables.product.product_location %}. For more information about the administrative shell and command-line utilities for {% data variables.product.prodname_ghe_server %}, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" and "[Command-line utilities](/admin/configuration/command-line-utilities#ghe-config)."
|
||||
|
||||
Por ejemplo, puedes habilitar cualquier característica de {% data variables.product.prodname_GH_advanced_security %} con tus herramientas de infraestructura-como-código cuando despliegas una instancia para hacer pruebas o para recuperación de desastres.
|
||||
For example, you can enable any {% data variables.product.prodname_GH_advanced_security %} feature with your infrastructure-as-code tooling when you deploy an instance for staging or disaster recovery.
|
||||
|
||||
1. SSH en {% data variables.product.product_location %}.
|
||||
1. Habilita las características de {% data variables.product.prodname_GH_advanced_security %}.
|
||||
1. SSH into {% data variables.product.product_location %}.
|
||||
1. Enable features for {% data variables.product.prodname_GH_advanced_security %}.
|
||||
|
||||
- Para habilitar el {% data variables.product.prodname_code_scanning_capc %}, ingresa los siguientes comandos.
|
||||
- To enable {% data variables.product.prodname_code_scanning_capc %}, enter the following commands.
|
||||
```shell
|
||||
ghe-config app.minio.enabled true
|
||||
ghe-config app.code-scanning.enabled true
|
||||
```
|
||||
- Para habilitar el {% data variables.product.prodname_secret_scanning_caps %}, ingresa el siguiente comando.
|
||||
- To enable {% data variables.product.prodname_secret_scanning_caps %}, enter the following command.
|
||||
```shell
|
||||
ghe-config app.secret-scanning.enabled true
|
||||
```
|
||||
- Para habilitar el {% data variables.product.prodname_dependabot %}, ingresa el siguiente {% ifversion ghes > 3.1 %}comando{% else %}comandos{% endif %}.
|
||||
- To enable {% data variables.product.prodname_dependabot %}, enter the following {% ifversion ghes > 3.1 %}command{% else %}commands{% endif %}.
|
||||
{% ifversion ghes > 3.1 %}```shell
|
||||
ghe-config app.dependency-graph.enabled true
|
||||
```
|
||||
@@ -96,18 +99,18 @@ Por ejemplo, puedes habilitar cualquier característica de {% data variables.pro
|
||||
ghe-config app.github.dependency-graph-enabled true
|
||||
ghe-config app.github.vulnerability-alerting-and-settings-enabled true
|
||||
```{% endif %}
|
||||
2. Opcionalmente, inhabilita las características de {% data variables.product.prodname_GH_advanced_security %}.
|
||||
2. Optionally, disable features for {% data variables.product.prodname_GH_advanced_security %}.
|
||||
|
||||
- Para inhabilitar el {% data variables.product.prodname_code_scanning %}, ingresa los siguientes comandos.
|
||||
- To disable {% data variables.product.prodname_code_scanning %}, enter the following commands.
|
||||
```shell
|
||||
ghe-config app.minio.enabled false
|
||||
ghe-config app.code-scanning.enabled false
|
||||
```
|
||||
- Para inhabilitar el {% data variables.product.prodname_secret_scanning %}, ingresa el siguiente comando.
|
||||
- To disable {% data variables.product.prodname_secret_scanning %}, enter the following command.
|
||||
```shell
|
||||
ghe-config app.secret-scanning.enabled false
|
||||
```
|
||||
- Para inhabilitar el {% data variables.product.prodname_dependabot %}, ingresa el siguiente {% ifversion ghes > 3.1 %}comando{% else %}comandos{% endif %}.
|
||||
- To disable {% data variables.product.prodname_dependabot_alerts %}, enter the following {% ifversion ghes > 3.1 %}command{% else %}commands{% endif %}.
|
||||
{% ifversion ghes > 3.1 %}```shell
|
||||
ghe-config app.dependency-graph.enabled false
|
||||
```
|
||||
@@ -115,7 +118,7 @@ Por ejemplo, puedes habilitar cualquier característica de {% data variables.pro
|
||||
ghe-config app.github.dependency-graph-enabled false
|
||||
ghe-config app.github.vulnerability-alerting-and-settings-enabled false
|
||||
```{% endif %}
|
||||
3. Aplica la configuración
|
||||
3. Apply the configuration.
|
||||
```shell
|
||||
ghe-config-apply
|
||||
```
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Usar LDAP
|
||||
title: Using LDAP
|
||||
redirect_from:
|
||||
- /enterprise/admin/articles/configuring-ldap-authentication/
|
||||
- /enterprise/admin/articles/about-ldap-authentication/
|
||||
@@ -9,7 +9,7 @@ redirect_from:
|
||||
- /enterprise/admin/user-management/using-ldap
|
||||
- /enterprise/admin/authentication/using-ldap
|
||||
- /admin/authentication/using-ldap
|
||||
intro: 'LDAP te permite autenticar el {% data variables.product.prodname_ghe_server %} en tus cuentas existentes y administrar de manera centralizada el acceso a los repositorios. LDAP es un protocolo de aplicación popular para acceder a servicios de información de directorios y mantenerlos, y uno de los protocolos más comunes que se usan para integrar software de terceros con directorios de usuarios de empresas grandes.'
|
||||
intro: 'LDAP lets you authenticate {% data variables.product.prodname_ghe_server %} against your existing accounts and centrally manage repository access. LDAP is a popular application protocol for accessing and maintaining directory information services, and is one of the most common protocols used to integrate third-party software with large company user directories.'
|
||||
versions:
|
||||
ghes: '*'
|
||||
type: how_to
|
||||
@@ -19,12 +19,11 @@ topics:
|
||||
- Enterprise
|
||||
- Identity
|
||||
---
|
||||
|
||||
{% data reusables.enterprise_user_management.built-in-authentication %}
|
||||
|
||||
## Servicios LDAP admitidos
|
||||
## Supported LDAP services
|
||||
|
||||
El {% data variables.product.prodname_ghe_server %} se integra con los siguientes servicios LDAP:
|
||||
{% data variables.product.prodname_ghe_server %} integrates with these LDAP services:
|
||||
|
||||
* Active Directory
|
||||
* FreeIPA
|
||||
@@ -33,7 +32,7 @@ El {% data variables.product.prodname_ghe_server %} se integra con los siguiente
|
||||
* Open Directory
|
||||
* 389-ds
|
||||
|
||||
## Consideraciones sobre el nombre de usuario con LDAP
|
||||
## Username considerations with LDAP
|
||||
|
||||
{% data reusables.enterprise_management_console.username_normalization %}
|
||||
|
||||
@@ -42,150 +41,153 @@ El {% data variables.product.prodname_ghe_server %} se integra con los siguiente
|
||||
{% data reusables.enterprise_user_management.two_factor_auth_header %}
|
||||
{% data reusables.enterprise_user_management.2fa_is_available %}
|
||||
|
||||
## Configurar LDAP con {% data variables.product.product_location %}
|
||||
## Configuring LDAP with {% data variables.product.product_location %}
|
||||
|
||||
Una vez configurado LDAP, los usuarios podrán iniciar sesión en tu instancia con sus credenciales LDAP. Cuando los usuarios inician sesión por primera vez, sus nombres de perfil, direcciones de correo electrónico y claves SSH se establecen con los atributos de LDAP desde tu directorio.
|
||||
After you configure LDAP, users will be able to sign into your instance with their LDAP credentials. When users sign in for the first time, their profile names, email addresses, and SSH keys will be set with the LDAP attributes from your directory.
|
||||
|
||||
Cuando configuras el acceso de LDAP para los usuarios a través de {% data variables.enterprise.management_console %}, tus licencias de usuario no se utilizarán sino hasta que los usuarios ingresen en tu instancia por primera vez. Sin embargo, si creas una cuenta manualmente utilizando la configuración de administrador para el sitio, esta licencia de usuario se tomará en cuenta.
|
||||
When you configure LDAP access for users via the {% data variables.enterprise.management_console %}, your user licenses aren't used until the first time a user signs in to your instance. However, if you create an account manually using site admin settings, the user license is immediately accounted for.
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** Antes de configurar LDAP en {% data variables.product.product_location %}, asegúrate de que tu servicio LDAP admita resultados paginados.
|
||||
**Warning:** Before configuring LDAP on {% data variables.product.product_location %}, make sure that your LDAP service supports paged results.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
{% data reusables.enterprise_management_console.authentication %}
|
||||
3. En "Authentication" (Autenticación), selecciona **LDAP**. 
|
||||
4. {% data reusables.enterprise_user_management.built-in-authentication-option %} 
|
||||
5. Agrega tus parámetros de configuración.
|
||||
3. Under "Authentication", select **LDAP**.
|
||||

|
||||
4. {% data reusables.enterprise_user_management.built-in-authentication-option %} 
|
||||
5. Add your configuration settings.
|
||||
|
||||
## Atributos de LDAP
|
||||
Usa estos atributos para terminar de configurar LDAP para {% data variables.product.product_location %}.
|
||||
## LDAP attributes
|
||||
Use these attributes to finish configuring LDAP for {% data variables.product.product_location %}.
|
||||
|
||||
| Nombre del atributo | Type | Descripción |
|
||||
| --------------------------------------------------------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Host` | Requerido | El host LDAP, p. ej. `ldap.example.com` o `10.0.0.30`. Si el nombre del host solo está disponible desde tu red interna, es posible que primero debas configurar el DNS de {% data variables.product.product_location %} para que pueda resolver el nombre del host usando tus servidores de nombres internos. |
|
||||
| `Port (Puerto)` | Requerido | El puerto que están escuchando los servicios LDAP. Los ejemplos incluyen: 389 y 636 (para LDAPS). |
|
||||
| `Encryption (Cifrado)` | Requerido | El método de cifrado usado para garantizar las comunicaciones con el servidor LDAP. Los ejemplos incluyen el normal (sin cifrado), el SSL/LDAPS (cifrado desde el principio) y el StartTLS (se actualiza a comunicación cifrada una vez que se conecta). |
|
||||
| `Usuario de búsqueda de dominio` | Opcional | El usuario LDAP que busca a otros usuarios que iniciaron sesión, para permitir la autenticación. Esto suele ser una cuenta de servicio creada específicamente para integraciones de terceros. Usa un nombre certificado completo, como `cn=Administrator,cn=Users,dc=Example,dc=com`. Con Active Directory, también puedes usar la sintaxis `[DOMAIN]\[USERNAME]` (p. ej.,`WINDOWS\Administrator`) para el usuario de búsqueda de dominio. |
|
||||
| `Domain search password (Contraseña de búsqueda de dominio)` | Opcional | La contraseña para el usuario de búsqueda de dominio. |
|
||||
| `Grupo de administradores` | Opcional | Los usuarios de este grupo son promovidos a administradores del sitio cuando inician sesión en tu aparato. Si no configuras un Grupo de administradores LDAP, la primera cuenta de usuario LDAP que inicie sesión en tu aparato será promovida automáticamente a administrador del sitio. |
|
||||
| `Domain base (Base de dominio)` | Requerido | El `Nombre Distintivo` (DN) completamente calificado de un subárbol LDAP que quieras buscar para usuarios y grupos. Puedes agregar tantos como quieras; sin embargo, cada grupo debe estar definido en la misma base de dominio que los usuarios que le pertenecen. Si especificas grupos de usuarios con restricciones, solo los usuarios que pertenecen a esos grupo estarán al alcance. Te recomendamos que especifiques el primer nivel de tu árbol de directorios LDAP como tu base de dominio y que uses grupos de usuarios con restricciones para controlar el acceso. |
|
||||
| `Restricted user groups (Grupos de usuarios con restricciones)` | Opcional | Si se especifica, solo los usuarios de estos grupos tendrán permiso para iniciar sesión. Solo necesitas especificar los nombres comunes (CN) de los grupos y puedes agregar tantos grupos como quieras. Si no se especifica ningún grupo, *todos* los usuarios dentro del alcance de la base de dominio especificada podrán iniciar sesión en tu instancia del {% data variables.product.prodname_ghe_server %}. |
|
||||
| `User ID (Identificación de usuario)` | Requerido | El atributo de LDAP que identifica al usuario LDAP que intenta una autenticación. Una vez que se establece una asignación, los usuarios pueden modificar sus nombres de usuario del {% data variables.product.prodname_ghe_server %}. El campo debería ser `sAMAccountName` para la mayoría de las instalaciones de Active Directory, pero puede ser `uid` para otras soluciones LDAP, como OpenLDAP. El valor predeterminado es `uid`. |
|
||||
| `Nombre de perfil` | Opcional | El nombre que aparecerá en la página de perfil del {% data variables.product.prodname_ghe_server %} del usuario. A menos que la sincronización LDAP esté activada, los usuarios pueden modificar sus nombres de perfil. |
|
||||
| `Emails (Correos electrónicos)` | Opcional | Las direcciones de correo electrónico para la cuenta del {% data variables.product.prodname_ghe_server %} de un usuario. |
|
||||
| `SSH keys (Claves SSH)` | Opcional | Las claves SSH públicas vinculadas a la cuenta del {% data variables.product.prodname_ghe_server %} de un usuario. Las claves deben ser en formato OpenSSH. |
|
||||
| `Claves GPG` | Opcional | Las claves GPG vinculadas a la cuenta del {% data variables.product.prodname_ghe_server %} de un usuario. |
|
||||
| `Disable LDAP authentication for Git operations (Desactivar la autenticación LDAP para las operaciones de Git)` | Opcional | Si está seleccionado, [desactiva](#disabling-password-authentication-for-git-operations) la posibilidad del usuario de usar contraseñas LDAP para autenticar las operaciones de Git. |
|
||||
| `Enable LDAP certificate verification (Activar la verificación de certificado LDAP)` | Opcional | Si está seleccionado, [activa](#enabling-ldap-certificate-verification) la verificación de certificado LDAP. |
|
||||
| `Synchronization (Sincronización)` | Opcional | Si está seleccionado, [activa](#enabling-ldap-sync) la sincronización LDAP. |
|
||||
| Attribute name | Type | Description |
|
||||
|--------------------------|----------|-------------|
|
||||
| `Host` | Required | The LDAP host, e.g. `ldap.example.com` or `10.0.0.30`. If the hostname is only available from your internal network, you may need to configure {% data variables.product.product_location %}'s DNS first so it can resolve the hostname using your internal nameservers. |
|
||||
| `Port` | Required | The port the host's LDAP services are listening on. Examples include: 389 and 636 (for LDAPS). |
|
||||
| `Encryption` | Required | The encryption method used to secure communications to the LDAP server. Examples include plain (no encryption), SSL/LDAPS (encrypted from the start), and StartTLS (upgrade to encrypted communication once connected). |
|
||||
| `Domain search user` | Optional | The LDAP user that looks up other users that sign in, to allow authentication. This is typically a service account created specifically for third-party integrations. Use a fully qualified name, such as `cn=Administrator,cn=Users,dc=Example,dc=com`. With Active Directory, you can also use the `[DOMAIN]\[USERNAME]` syntax (e.g. `WINDOWS\Administrator`) for the domain search user with Active Directory. |
|
||||
| `Domain search password` | Optional | The password for the domain search user. |
|
||||
| `Administrators group` | Optional | Users in this group are promoted to site administrators when signing into your appliance. If you don't configure an LDAP Administrators group, the first LDAP user account that signs into your appliance will be automatically promoted to a site administrator. |
|
||||
| `Domain base` | Required | The fully qualified `Distinguished Name` (DN) of an LDAP subtree you want to search for users and groups. You can add as many as you like; however, each group must be defined in the same domain base as the users that belong to it. If you specify restricted user groups, only users that belong to those groups will be in scope. We recommend that you specify the top level of your LDAP directory tree as your domain base and use restricted user groups to control access. |
|
||||
| `Restricted user groups` | Optional | If specified, only users in these groups will be allowed to log in. You only need to specify the common names (CNs) of the groups, and you can add as many groups as you like. If no groups are specified, *all* users within the scope of the specified domain base will be able to sign in to your {% data variables.product.prodname_ghe_server %} instance. |
|
||||
| `User ID` | Required | The LDAP attribute that identifies the LDAP user who attempts authentication. Once a mapping is established, users may change their {% data variables.product.prodname_ghe_server %} usernames. This field should be `sAMAccountName` for most Active Directory installations, but it may be `uid` for other LDAP solutions, such as OpenLDAP. The default value is `uid`. |
|
||||
| `Profile name` | Optional | The name that will appear on the user's {% data variables.product.prodname_ghe_server %} profile page. Unless LDAP Sync is enabled, users may change their profile names. |
|
||||
| `Emails` | Optional | The email addresses for a user's {% data variables.product.prodname_ghe_server %} account. |
|
||||
| `SSH keys` | Optional | The public SSH keys attached to a user's {% data variables.product.prodname_ghe_server %} account. The keys must be in OpenSSH format. |
|
||||
| `GPG keys` | Optional | The GPG keys attached to a user's {% data variables.product.prodname_ghe_server %} account. |
|
||||
| `Disable LDAP authentication for Git operations` | Optional |If selected, [turns off](#disabling-password-authentication-for-git-operations) users' ability to use LDAP passwords to authenticate Git operations. |
|
||||
| `Enable LDAP certificate verification` | Optional |If selected, [turns on](#enabling-ldap-certificate-verification) LDAP certificate verification. |
|
||||
| `Synchronization` | Optional |If selected, [turns on](#enabling-ldap-sync) LDAP Sync. |
|
||||
|
||||
### Desactivar la autenticación de contraseña para las operaciones de Git
|
||||
### Disabling password authentication for Git operations
|
||||
|
||||
Selecciona **Disable username and password authentication for Git operations** (Desactivar la autenticación de nombre de usuario y contraseña para las operaciones de Git) en los parámetros de tu LDAP para implementar el uso de los tokens de acceso personal o las claves SSH para el acceso a Git, que pueden ayudarte a prevenir que tu servidor se sobrecargue de solicitudes de autenticación LDAP. Recomendamos esta configuración, ya que un servidor LDAP de respuesta lenta, en especial combinado con una gran cantidad de solicitudes debido al sondeo, suele ser una causa de problemas e interrupciones.
|
||||
Select **Disable username and password authentication for Git operations** in your LDAP settings to enforce use of personal access tokens or SSH keys for Git access, which can help prevent your server from being overloaded by LDAP authentication requests. We recommend this setting because a slow-responding LDAP server, especially combined with a large number of requests due to polling, is a frequent source of performance issues and outages.
|
||||
|
||||

|
||||

|
||||
|
||||
Cuando se selecciona esta opción, si un usuario intenta usar una contraseña para las operaciones de Git a través de la línea de comando, recibirá un mensaje de error que dice: `La autenticación de contraseña no está permitida para las operaciones de Git. Debes usar un token de acceso personal.`
|
||||
When this option is selected, if a user tries to use a password for Git operations via the command line, they will receive an error message that says, `Password authentication is not allowed for Git operations. You must use a personal access token.`
|
||||
|
||||
### Activar la verificación de certificado LDAP
|
||||
### Enabling LDAP certificate verification
|
||||
|
||||
Selecciona **Enable LDAP certificate verification** (Activar verificación de certificado LDAP) en tus parámetros LDAP para validar el certificado del servidor LDAP que usas con TLS.
|
||||
Select **Enable LDAP certificate verification** in your LDAP settings to validate the LDAP server certificate you use with TLS.
|
||||
|
||||

|
||||

|
||||
|
||||
Cuando se selecciona esta opción, el certificado se valida para garantizar que:
|
||||
- Si el certificado contiene al menos un nombre alternativo del firmante (SAN), uno de los SAN coincida con el nombre del host de LDAP. De lo contrario, que el nombre común (CN) coincida con el nombre del host de LDAP.
|
||||
- El certificado no haya vencido.
|
||||
- El certificado esté firmado por una entidad de certificación (CA) de confianza.
|
||||
When this option is selected, the certificate is validated to make sure:
|
||||
- If the certificate contains at least one Subject Alternative Name (SAN), one of the SANs matches the LDAP hostname. Otherwise, the Common Name (CN) matches the LDAP hostname.
|
||||
- The certificate is not expired.
|
||||
- The certificate is signed by a trusted certificate authority (CA).
|
||||
|
||||
### Activar la sincronización LDAP
|
||||
### Enabling LDAP Sync
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Los equipos que utilizan sincronizaciòn de LDAP se limitan a un màximo de 1499 miembros.
|
||||
**Note:** Teams using LDAP Sync are limited to a maximum 1499 members.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
La sincronización LDAP te permite sincronizar usuarios y miembros del equipo del {% data variables.product.prodname_ghe_server %} con tus grupos LDAP establecidos. Esto te permite establecer un control de acceso basado en roles para los usuarios desde tu servidor LDAP, en lugar de hacerlo de forma manual dentro del {% data variables.product.prodname_ghe_server %}. Para obtener más información, consulta "[Crear equipos](/enterprise/{{ currentVersion }}/admin/guides/user-management/creating-teams#creating-teams-with-ldap-sync-enabled)".
|
||||
LDAP Sync lets you synchronize {% data variables.product.prodname_ghe_server %} users and team membership against your established LDAP groups. This lets you establish role-based access control for users from your LDAP server instead of manually within {% data variables.product.prodname_ghe_server %}. For more information, see "[Creating teams](/enterprise/{{ currentVersion }}/admin/guides/user-management/creating-teams#creating-teams-with-ldap-sync-enabled)."
|
||||
|
||||
Para activar la sincronización LDAP, en tus parámetros LDAP, selecciona **Synchronize Emails** (Sincronizar correos electrónicos), **Synchronize SSH Keys** (Sincronizar claves SSH) o **Synchronize GPG Keys** (Sincronizar claves GPG).
|
||||
To enable LDAP Sync, in your LDAP settings, select **Synchronize Emails**, **Synchronize SSH Keys**, or **Synchronize GPG Keys** .
|
||||
|
||||

|
||||

|
||||
|
||||
Una vez que actives la sincronización LDAP, se ejecutará un trabajo de sincronización en el intervalo de tiempo especificado para realizar las siguientes operaciones en cada cuenta de usuario:
|
||||
After you enable LDAP sync, a synchronization job will run at the specified time interval to perform the following operations on each user account:
|
||||
|
||||
- Si has permitido la autenticación integrada para usuarios externos a tu proveedor de identidad, y el usuario está usando la autenticación integrada, pasa al siguiente usuario.
|
||||
- Si no existe una asignación LDAP para el usuario, intenta asignar el usuario a una entrada LDAP en el directorio. Si el usuario no se puede asignar a una entrada LDAP, suspéndelo y pasa al siguiente usuario.
|
||||
- Si hay una asignación LDAP y falta la entrada LDAP correspondiente en el directorio, suspende el usuario y pasa al siguiente usuario.
|
||||
- Si la entrada LDAP correspondiente se marcó como desactivada, y el usuario aún no se suspendió, suspéndelo y pasa al siguiente usuario.
|
||||
- Si la entrada LDAP correspondiente no se marcó como desactivada, el usuario está suspendido y _Reactivate suspended users_ (Reactivar usuarios suspendidos) está activado en el centro de administración, anula la suspensión del usuario.
|
||||
- Si la entrada LDAP correspondiente incluye un atributo `name`, actualiza el nombre de perfil del usuario.
|
||||
- Si la entrada LDAP correspondiente está en el grupo de administradores, promueve al usuario a administrador del sitio.
|
||||
- Si la entrada LDAP correspondiente no está en el grupo de administradores, degrada al usuario a una cuenta normal.
|
||||
- Si un campo de usuario LDAP está definido para correos electrónicos, sincroniza los parámetros del correo electrónico del usuario con la entrada LDAP. Establece la primera entrada `mail` LDAP como el correo electrónico principal.
|
||||
- Si un campo de usuario LDAP está definido para claves públicas SSH, sincroniza las claves SSH públicas del usuario con la entrada LDAP.
|
||||
- Si un campo de usuario LDAP está definido para claves GPG, sincroniza las claves GPG del usuario con la entrada LDAP.
|
||||
- If you've allowed built-in authentication for users outside your identity provider, and the user is using built-in authentication, move on to the next user.
|
||||
- If no LDAP mapping exists for the user, try to map the user to an LDAP entry in the directory. If the user cannot be mapped to an LDAP entry, suspend the user and move on to the next user.
|
||||
- If there is an LDAP mapping and the corresponding LDAP entry in the directory is missing, suspend the user and move on to the next user.
|
||||
- If the corresponding LDAP entry has been marked as disabled and the user is not already suspended, suspend the user and move on to the next user.
|
||||
- If the corresponding LDAP entry is not marked as disabled, and the user is suspended, and _Reactivate suspended users_ is enabled in the Admin Center, unsuspend the user.
|
||||
- If the corresponding LDAP entry includes a `name` attribute, update the user's profile name.
|
||||
- If the corresponding LDAP entry is in the Administrators group, promote the user to site administrator.
|
||||
- If the corresponding LDAP entry is not in the Administrators group, demote the user to a normal account.
|
||||
- If an LDAP User field is defined for emails, synchronize the user's email settings with the LDAP entry. Set the first LDAP `mail` entry as the primary email.
|
||||
- If an LDAP User field is defined for SSH public keys, synchronize the user's public SSH keys with the LDAP entry.
|
||||
- If an LDAP User field is defined for GPG keys, synchronize the user's GPG keys with the LDAP entry.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: Las entradas LDAP solo pueden estar marcadas como desactivadas si usas Active Directory y el atributo `userAccountControl` está presente y marcado con `ACCOUNTDISABLE`.
|
||||
**Note**: LDAP entries can only be marked as disabled if you use Active Directory and the `userAccountControl` attribute is present and flagged with `ACCOUNTDISABLE`.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
También se ejecutará un trabajo de sincronización en el intervalo de tiempo especificado para realizar las siguientes operaciones en cada equipo que haya sido asignado a un grupo LDAP:
|
||||
A synchronization job will also run at the specified time interval to perform the following operations on each team that has been mapped to an LDAP group:
|
||||
|
||||
- Si se eliminó el grupo LDAP correspondiente de un equipo, elimina todos los miembros del equipo.
|
||||
- Si las entradas de miembros LDAP se eliminaron del grupo LDAP, elimina los usuarios correspondientes del equipo. Si como resultado el usuario pierde acceso a algún repositorio, elimina toda bifurcación privada que el usuario tenga de esos repositorios.
|
||||
- Si las entradas de miembros LDAP se agregaron al grupo LDAP, agrega los usuarios correspondientes al equipo. Si como resultado el usuario recupera el acceso a algún repositorio, restablece toda bifurcación privada de los repositorios que haya sido eliminada debido a que el usuario perdió acceso en los últimos 90 días.
|
||||
- If a team's corresponding LDAP group has been removed, remove all members from the team.
|
||||
- If LDAP member entries have been removed from the LDAP group, remove the corresponding users from the team. If the user is no longer a member of any team in the organization, remove the user from the organization. If the user loses access to any repositories as a result, delete any private forks the user has of those repositories.
|
||||
- If LDAP member entries have been added to the LDAP group, add the corresponding users to the team. If the user regains access to any repositories as a result, restore any private forks of the repositories that were deleted because the user lost access in the past 90 days.
|
||||
|
||||
{% data reusables.enterprise_user_management.ldap-sync-nested-teams %}
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia de seguridad:**
|
||||
**Security Warning:**
|
||||
|
||||
Cuando la sincronización LDAP está activada, los administradores del sitio y los propietarios de la organización pueden buscar en el directorio LDAP los grupos a los cuales asignar el equipo.
|
||||
When LDAP Sync is enabled, site admins and organization owners can search the LDAP directory for groups to map the team to.
|
||||
|
||||
Esto posibilita divulgar información organizativa confidencial a contratistas u otros usuarios sin privilegios, incluidos los siguientes:
|
||||
This has the potential to disclose sensitive organizational information to contractors or other unprivileged users, including:
|
||||
|
||||
- La existencia de grupos LDAP específicos visibles para el *Usuario de búsqueda de dominio*.
|
||||
- Los miembros del grupo LDAP que tienen cuentas de usuario del {% data variables.product.prodname_ghe_server %}, que se divulga cuando se crea un equipo sincronizado con ese grupo LDAP.
|
||||
- The existence of specific LDAP Groups visible to the *Domain search user*.
|
||||
- Members of the LDAP group who have {% data variables.product.prodname_ghe_server %} user accounts, which is disclosed when creating a team synced with that LDAP group.
|
||||
|
||||
Si no se desea divulgar dicha información, su empresa u organización debe restringir los permisos del *Usuario de búsqueda de dominio* en la consola de administración. Si no es posible aplicar dicha restricción, comuníquese con el {% data variables.contact.contact_ent_support %}.
|
||||
If disclosing such information is not desired, your company or organization should restrict the permissions of the configured *Domain search user* in the admin console. If such restriction isn't possible, contact {% data variables.contact.contact_ent_support %}.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
### Clases de objetos del grupo LDAP admitidas
|
||||
### Supported LDAP group object classes
|
||||
|
||||
El {% data variables.product.prodname_ghe_server %} admite estas clases de objetos del grupo LDAP. Los grupos se pueden anidar.
|
||||
{% data variables.product.prodname_ghe_server %} supports these LDAP group object classes. Groups can be nested.
|
||||
|
||||
- `grupo`
|
||||
- `group`
|
||||
- `groupOfNames`
|
||||
- `groupOfUniqueNames`
|
||||
- `posixGroup`
|
||||
|
||||
## Ver y crear usuarios LDAP
|
||||
## Viewing and creating LDAP users
|
||||
|
||||
Puedes ver la lista completa de usuarios LDAP que tienen acceso a tu instancia y aprovisionar nuevos usuarios.
|
||||
You can view the full list of LDAP users who have access to your instance and provision new users.
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.sign-in %}
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
3. En la barra lateral izquierda, haz clic en **LDAP users** (Usuarios LDAP). 
|
||||
4. Para buscar un usuario, escribe un nombre de usuario completo o parcial y haz clic en **Search** (Buscar). Se mostrarán los usuarios existentes en los resultados de búsqueda. Si un usuario no existe, haz clic en **Create** (Crear) para aprovisionar la nueva cuenta de usuario. 
|
||||
3. In the left sidebar, click **LDAP users**.
|
||||

|
||||
4. To search for a user, type a full or partial username and click **Search**. Existing users will be displayed in search results. If a user doesn’t exist, click **Create** to provision the new user account.
|
||||

|
||||
|
||||
## Actualizar cuentas LDAP
|
||||
## Updating LDAP accounts
|
||||
|
||||
A menos que [la sincronización LDAP esté activada](#enabling-ldap-sync), las modificaciones de las cuentas LDAP no se sincronizan automáticamente con el {% data variables.product.prodname_ghe_server %}.
|
||||
Unless [LDAP Sync is enabled](#enabling-ldap-sync), changes to LDAP accounts are not automatically synchronized with {% data variables.product.prodname_ghe_server %}.
|
||||
|
||||
* Para usar un nuevo grupo de administración LDAP, los usuarios deben ser promovidos y degradados de forma manual en el {% data variables.product.prodname_ghe_server %} para reflejar las modificaciones en LDAP.
|
||||
* Para agregar o eliminar cuentas LDAP de los grupos de administración LDAP, [promueve o degrada las cuentas en el {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/guides/user-management/promoting-or-demoting-a-site-administrator).
|
||||
* Para eliminar las cuentas LDAP, [suspende las cuentas del {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/guides/user-management/suspending-and-unsuspending-users).
|
||||
* To use a new LDAP admin group, users must be manually promoted and demoted on {% data variables.product.prodname_ghe_server %} to reflect changes in LDAP.
|
||||
* To add or remove LDAP accounts in LDAP admin groups, [promote or demote the accounts on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/guides/user-management/promoting-or-demoting-a-site-administrator).
|
||||
* To remove LDAP accounts, [suspend the {% data variables.product.prodname_ghe_server %} accounts](/enterprise/{{ currentVersion }}/admin/guides/user-management/suspending-and-unsuspending-users).
|
||||
|
||||
### Sincronizar cuentas LDAP de forma manual
|
||||
### Manually syncing LDAP accounts
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.sign-in %}
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
@@ -193,12 +195,13 @@ A menos que [la sincronización LDAP esté activada](#enabling-ldap-sync), las m
|
||||
{% data reusables.enterprise_site_admin_settings.click-user %}
|
||||
{% data reusables.enterprise_site_admin_settings.admin-top-tab %}
|
||||
{% data reusables.enterprise_site_admin_settings.admin-tab %}
|
||||
5. En "LDAP", haz clic en **Sync now** (Sincronizar ahora) para actualizar de forma manual la cuenta con los datos de tu servidor LDAP. 
|
||||
5. Under "LDAP," click **Sync now** to manually update the account with data from your LDAP server.
|
||||

|
||||
|
||||
También puedes [utilizar la API para activar una sincronización manual](/enterprise/{{ currentVersion }}/user/rest/reference/enterprise-admin#ldap).
|
||||
You can also [use the API to trigger a manual sync](/enterprise/{{ currentVersion }}/user/rest/reference/enterprise-admin#ldap).
|
||||
|
||||
## Revocar acceso a {% data variables.product.product_location %}
|
||||
## Revoking access to {% data variables.product.product_location %}
|
||||
|
||||
Si [la sincronización LDAP está activada](#enabling-ldap-sync), al eliminar las credenciales LDAP de un usuario, se suspenderá su cuenta hasta la siguiente ejecución de sincronización.
|
||||
If [LDAP Sync is enabled](#enabling-ldap-sync), removing a user's LDAP credentials will suspend their account after the next synchronization run.
|
||||
|
||||
Si la sincronización LDAP **no** está activada, debes suspender de forma manual la cuenta del {% data variables.product.prodname_ghe_server %} después de eliminar las credenciales LDAP. Para obtener más información, consulta [Suspender y anular suspensión de usuarios](/enterprise/{{ currentVersion }}/admin/guides/user-management/suspending-and-unsuspending-users)".
|
||||
If LDAP Sync is **not** enabled, you must manually suspend the {% data variables.product.prodname_ghe_server %} account after you remove the LDAP credentials. For more information, see "[Suspending and unsuspending users](/enterprise/{{ currentVersion }}/admin/guides/user-management/suspending-and-unsuspending-users)".
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Configurar tu empresa
|
||||
intro: 'Después de que {% data variables.product.product_name %} se encuentre listo y funcionando, puedes configurar tu empresa de acuerdo con las necesidades de tu organización.'
|
||||
title: Configuring your enterprise
|
||||
intro: 'After {% data variables.product.product_name %} is up and running, you can configure your enterprise to suit your organization''s needs.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/guides/installation/basic-configuration/
|
||||
- /enterprise/admin/guides/installation/administrative-tools/
|
||||
@@ -34,6 +34,7 @@ children:
|
||||
- /restricting-network-traffic-to-your-enterprise
|
||||
- /configuring-github-pages-for-your-enterprise
|
||||
- /configuring-the-referrer-policy-for-your-enterprise
|
||||
shortTitle: Configurar tu empresa
|
||||
- /configuring-custom-footers
|
||||
shortTitle: Configure your enterprise
|
||||
---
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@ topics:
|
||||
- Dependency graph
|
||||
- Dependabot
|
||||
---
|
||||
|
||||
## Acerca de las alertas para las dependencias vulnerables en {% data variables.product.product_location %}
|
||||
## About alerts for vulnerable dependencies on {% data variables.product.product_location %}
|
||||
|
||||
{% data reusables.dependabot.dependabot-alerts-beta %}
|
||||
|
||||
@@ -34,9 +33,9 @@ For more information about these features, see "[About the dependency graph](/gi
|
||||
|
||||
### About synchronization of data from the {% data variables.product.prodname_advisory_database %}
|
||||
|
||||
{% data reusables.repositories.tracks-vulnerabilities %}
|
||||
{% data reusables.repositories.tracks-vulnerabilities %}
|
||||
|
||||
You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %} with {% data variables.product.prodname_github_connect %}. Once connected, vulnerability data is synced from the {% data variables.product.prodname_advisory_database %} to your instance once every hour. También puedes elegir sincronizar manualmente los datos de vulnerabilidad en cualquier momento. No se han cargado códigos o información sobre el código desde {% data variables.product.product_location %} hasta {% data variables.product.prodname_dotcom_the_website %}.
|
||||
You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %} with {% data variables.product.prodname_github_connect %}. Once connected, vulnerability data is synced from the {% data variables.product.prodname_advisory_database %} to your instance once every hour. You can also choose to manually sync vulnerability data at any time. No code or information about code from {% data variables.product.product_location %} is uploaded to {% data variables.product.prodname_dotcom_the_website %}.
|
||||
|
||||
### About generation of {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
@@ -44,68 +43,76 @@ If you enable vulnerability detection, when {% data variables.product.product_lo
|
||||
|
||||
## Enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies on {% data variables.product.product_location %}
|
||||
|
||||
### Prerrequisitos
|
||||
### Prerequisites
|
||||
|
||||
For {% data variables.product.product_location %} to detect vulnerable dependencies and generate {% data variables.product.prodname_dependabot_alerts %}:
|
||||
- Debes conectar a {% data variables.product.product_location %} con {% data variables.product.prodname_dotcom_the_website %}. {% ifversion ghae %}This also enables the dependency graph service. {% endif %}{% ifversion ghes or ghae-next %}For more information, see "[Connecting your enterprise account to {% data variables.product.prodname_ghe_cloud %}](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud)."{% endif %}
|
||||
- You must connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %}. {% ifversion ghae %}This also enables the dependency graph service. {% endif %}{% ifversion ghes or ghae-next %}For more information, see "[Connecting your enterprise account to {% data variables.product.prodname_ghe_cloud %}](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud)."{% endif %}
|
||||
{% ifversion ghes %}- You must enable the dependency graph service.{% endif %}
|
||||
- You must enable vulnerability scanning.
|
||||
|
||||
{% ifversion ghes %}
|
||||
{% ifversion ghes > 3.1 %}
|
||||
Puedes habilitar la gráfica de dependencias a través de la {% data variables.enterprise.management_console %} o del shell administrativo. Te recomendamos que sigas la ruta de la {% data variables.enterprise.management_console %} a menos de que {% data variables.product.product_location %} utilice clústering.
|
||||
You can enable the dependency graph via the {% data variables.enterprise.management_console %} or the administrative shell. We recommend you follow the {% data variables.enterprise.management_console %} route unless {% data variables.product.product_location %} uses clustering.
|
||||
|
||||
### Habilitar la gráfica de dependencias a través de la {% data variables.enterprise.management_console %}
|
||||
### Enabling the dependency graph via the {% data variables.enterprise.management_console %}
|
||||
{% data reusables.enterprise_site_admin_settings.sign-in %}
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
{% data reusables.enterprise_management_console.advanced-security-tab %}
|
||||
1. Debajo de "Seguridad", haz clic en **Gráfica de dependencias**. 
|
||||
1. Under "Security," click **Dependency graph**.
|
||||

|
||||
{% data reusables.enterprise_management_console.save-settings %}
|
||||
1. Da clic en **Visitar tu instancia**.
|
||||
1. Click **Visit your instance**.
|
||||
|
||||
### Habilitar la gráfica de dependencias a través del shell administrativo
|
||||
### Enabling the dependency graph via the administrative shell
|
||||
{% endif %}{% ifversion ghes < 3.2 %}
|
||||
### Habilitar la gráfica de dependencias
|
||||
### Enabling the dependency graph
|
||||
{% endif %}
|
||||
{% data reusables.enterprise_site_admin_settings.sign-in %}
|
||||
1. En el shell administrativo, habilita la gráfica de dependencias en {% data variables.product.product_location %}:
|
||||
1. In the administrative shell, enable the dependency graph on {% data variables.product.product_location %}:
|
||||
``` shell
|
||||
$ {% ifversion ghes > 3.1 %}ghe-config app.dependency-graph.enabled true{% else %}ghe-config app.github.dependency-graph-enabled true{% endif %}
|
||||
```
|
||||
{% note %}
|
||||
|
||||
**Nota**: Para obtener más información acerca de cómo habilitar el acceso al shell administrativo por SSH, consulta la sección "[Acceder al shell administrativo (SSH)](/enterprise/{{ currentVersion }}/admin/configuration/accessing-the-administrative-shell-ssh)".
|
||||
**Note**: For more information about enabling access to the administrative shell via SSH, see "[Accessing the administrative shell (SSH)](/enterprise/{{ currentVersion }}/admin/configuration/accessing-the-administrative-shell-ssh)."
|
||||
|
||||
{% endnote %}
|
||||
1. Aplica la configuración
|
||||
1. Apply the configuration.
|
||||
```shell
|
||||
$ ghe-config-apply
|
||||
```
|
||||
1. Regresa a {% data variables.product.prodname_ghe_server %}.
|
||||
1. Return to {% data variables.product.prodname_ghe_server %}.
|
||||
{% endif %}
|
||||
|
||||
### Habilitar {% data variables.product.prodname_dependabot_alerts %}
|
||||
### Enabling {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
Antes de habilitar {% data variables.product.prodname_dependabot_alerts %} para tu instancia, necesitas habilitar la gráfica de dependencias. Para obtener más información, consulta la sección anterior.
|
||||
Before enabling {% data variables.product.prodname_dependabot_alerts %} for your instance, you need to enable the dependency graph. For more information, see above.
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{%- ifversion ghes < 3.1 %}{% data reusables.enterprise-accounts.settings-tab %}{% endif %}
|
||||
{% data reusables.enterprise-accounts.github-connect-tab %}
|
||||
1. Under "Repositories can be scanned for vulnerabilities", select the drop-down menu and click **Enabled without notifications**. Optionally, to enable alerts with notifications, click **Enabled with notifications**. 
|
||||
1. Under "Repositories can be scanned for vulnerabilities", select the drop-down menu and click **Enabled without notifications**. Optionally, to enable alerts with notifications, click **Enabled with notifications**.
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip**: We recommend configuring {% data variables.product.prodname_dependabot_alerts %} without notifications for the first few days to avoid an overload of emails. Después de algunos días, puedes habilitar las notificaciones para recibir las {% data variables.product.prodname_dependabot_alerts %} como de costumbre.
|
||||
|
||||
**Tip**: We recommend configuring {% data variables.product.prodname_dependabot_alerts %} without notifications for the first few days to avoid an overload of emails. After a few days, you can enable notifications to receive {% data variables.product.prodname_dependabot_alerts %} as usual.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## Ver las dependencias vulnerables en {% data variables.product.product_location %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
When you enable {% data variables.product.prodname_dependabot_alerts %}, you should consider also setting up {% data variables.product.prodname_actions %} for {% data variables.product.prodname_dependabot_security_updates %}. This feature allows developers to fix vulnerabilities in their dependencies. For more information, see "[Setting up {% data variables.product.prodname_dependabot %} security and version updates on your enterprise](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates)."
|
||||
{% endif %}
|
||||
|
||||
Puedes ver todas las vulnerabilidades en {% data variables.product.product_location %} y sincronizar en forma manual los datos de vulnerabilidad desde {% data variables.product.prodname_dotcom_the_website %} para actualizar la lista.
|
||||
## Viewing vulnerable dependencies on {% data variables.product.product_location %}
|
||||
|
||||
You can view all vulnerabilities in {% data variables.product.product_location %} and manually sync vulnerability data from {% data variables.product.prodname_dotcom_the_website %} to update the list.
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
2. En la barra lateral izquierda, haz clic en **Vulnerabilities** (Vulnerabilidades). 
|
||||
3. Para sincronizar los datos de vulnerabilidades, haz clic en **Sync Vulnerabilities now** (Sincronizar vulnerabilidades ahora). 
|
||||
2. In the left sidebar, click **Vulnerabilities**.
|
||||

|
||||
3. To sync vulnerability data, click **Sync Vulnerabilities now**.
|
||||

|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de la Replicación geográfica
|
||||
intro: 'La Replicación geográfica en {% data variables.product.prodname_ghe_server %} utiliza múltiples réplicas activas para responder las solicitudes de los centros de datos distribuidos geográficamente.'
|
||||
title: About geo-replication
|
||||
intro: 'Geo-replication on {% data variables.product.prodname_ghe_server %} uses multiple active replicas to fulfill requests from geographically distributed data centers.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/installation/about-geo-replication
|
||||
- /enterprise/admin/enterprise-management/about-geo-replication
|
||||
@@ -12,24 +12,25 @@ topics:
|
||||
- Enterprise
|
||||
- High availability
|
||||
---
|
||||
Multiple active replicas can provide a shorter distance to the nearest replica. For example, an organization with offices in San Francisco, New York, and London could run the primary appliance in a datacenter near New York and two replicas in datacenters near San Francisco and London. Using geolocation-aware DNS, users can be directed to the closest server available and access repository data faster. Designating the appliance near New York as the primary helps reduce the latency between the hosts, compared to the appliance near San Francisco being the primary which has a higher latency to London.
|
||||
|
||||
Contar con múltiples réplicas puede permitir una menor distancia a la réplica más cercana. Por ejemplo, una organización con oficinas en San Francisco, Nueva York y Londres podrían ejecutar el aparato principal en un centro de datos cercano a Nueva York y dos réplicas en centros de datos cercanos a San Francisco y Londres. Al usar DNS con información de geolocalización, se puede dirigir a los usuarios al servidor disponible más cercano para que accedan a los datos más rápido. Designar como principal el aparato cercano a Nueva York ayuda a reducir la latencia entre los hosts, a diferencia de si se designa como principal el aparato cercano a San Francisco, que tiene mayor latencia con Londres.
|
||||
The active replica proxies requests that it can't process itself to the primary instance. The replicas function as a point of presence terminating all SSL connections. Traffic between hosts is sent through an encrypted VPN connection, similar to a two-node high availability configuration without geo-replication.
|
||||
|
||||
Los proxies de la réplica activa solicitan que no se pueda procesar esta misma para la instancia principal. Las réplicas funcionan como un punto de presencia al terminar todas las conexiones SSL. El tráfico entre los servidores se envía a través de una conexión VPN encriptada, similar a una configuración de dos nodos de alta disponibilidad sin replicación geográfica.
|
||||
Git requests and specific file server requests, such as LFS and file uploads, can be served directly from the replica without loading any data from the primary. Web requests are always routed to the primary, but if the replica is closer to the user the requests are faster due to the closer SSL termination.
|
||||
|
||||
Las solicitudes de Git y las solicitudes de archivos específicos a los servidores, tales como LFS y cargas de archivos, pueden servirse directamente de la réplica sin cargar ningún dato desde el primario. Las solicitudes web siempre se enrutan hacia el principal, pero si la réplica está más cerca del usuario, las solicitudes son más rápidas porque la terminación SSL está más cerca.
|
||||
Geo DNS, such as [Amazon's Route 53 service](http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-geo), is required for geo-replication to work seamlessly. The hostname for the instance should resolve to the replica that is closest to the user's location.
|
||||
|
||||
Se solicita un DNS geográfico, como [Amazon's Route 53 service](http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-geo), para que la replicación geográfica funcione sin problemas. El nombre del host para la instancia se debe resolver con la réplica más cercana a la ubicación del usuario.
|
||||
## Limitations
|
||||
|
||||
## Limitaciones
|
||||
Writing requests to the replica requires sending the data to the primary and all replicas. This means that the performance of all writes is limited by the slowest replica, although new geo-replicas can seed the majority of their data from existing co-located geo-replicas, rather than from the primary. {% ifversion ghes > 3.2 %}To reduce the latency and bandwidth caused by distributed teams and large CI farms without impacting write throughput, you can configure repository caching instead. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)."{% endif %}
|
||||
|
||||
Escribir solicitudes para la réplica exige que se envíen los datos al principal y a todas las réplicas. Esto significa que el rendimiento de todos los escritos se limita de acuerdo con la replica más lenta, aunque las geo-replicas nuevas pueden poblar la mayoría de sus datos desde geo-replicas existentes co-ubicadas, en vez de desde el primario. La replicación geográfica no le agregará capacidad a una instancia de {% data variables.product.prodname_ghe_server %} ni resolverá problemas de rendimiento relacionados con recursos de CPU o de memoria insuficientes. Si el aparato principal está fuera de línea, las réplicas activas no podrán atender ninguna solicitud de lectura o escritura.
|
||||
Geo-replication will not add capacity to a {% data variables.product.prodname_ghe_server %} instance or solve performance issues related to insufficient CPU or memory resources. If the primary appliance is offline, active replicas will be unable to serve any read or write requests.
|
||||
|
||||
{% data reusables.enterprise_installation.replica-limit %}
|
||||
|
||||
## Monitorear la configuración de una replicación geográfica
|
||||
## Monitoring a geo-replication configuration
|
||||
|
||||
{% data reusables.enterprise_installation.monitoring-replicas %}
|
||||
|
||||
## Leer más
|
||||
- "[Crear réplicas de replicación geográfica](/enterprise/{{ currentVersion }}/admin/guides/installation/creating-a-high-availability-replica/#creating-geo-replication-replicas)"
|
||||
## Further reading
|
||||
- "[Creating geo-replication replicas](/enterprise/{{ currentVersion }}/admin/guides/installation/creating-a-high-availability-replica/#creating-geo-replication-replicas)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de la configuración de alta disponibilidad
|
||||
intro: 'En una configuración de alta disponibilidad, un aparato secundario {% data variables.product.prodname_ghe_server %} totalmente redundante se mantiene en sincronización con el aparato principal mediante la replicación de todos los almacenes de datos importantes.'
|
||||
title: About high availability configuration
|
||||
intro: 'In a high availability configuration, a fully redundant secondary {% data variables.product.prodname_ghe_server %} appliance is kept in sync with the primary appliance through replication of all major datastores.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/installation/about-high-availability-configuration
|
||||
- /enterprise/admin/enterprise-management/about-high-availability-configuration
|
||||
@@ -12,116 +12,116 @@ topics:
|
||||
- Enterprise
|
||||
- High availability
|
||||
- Infrastructure
|
||||
shortTitle: Acerca de la configuración de HA
|
||||
shortTitle: About HA configuration
|
||||
---
|
||||
When you configure high availability, there is an automated setup of one-way, asynchronous replication of all datastores (Git repositories, MySQL, Redis, and Elasticsearch) from the primary to the replica appliance.
|
||||
|
||||
Cuando configuras la alta disponibilidad, hay una configuración automática unidireccional, una replicación asincrónica de todos los almacenes de datos (repositorios de Git, MySQL, Redis y Elasticsearch) desde el aparato principal hacia la réplica.
|
||||
|
||||
{% data variables.product.prodname_ghe_server %} admite una configuración activa/pasiva, en la que el aparato réplica se ejecuta como en un modo de espera con los servicios de base de datos ejecutándose en modo de replicación, pero con los servicios de aplicación detenidos.
|
||||
{% data variables.product.prodname_ghe_server %} supports an active/passive configuration, where the replica appliance runs as a standby with database services running in replication mode but application services stopped.
|
||||
|
||||
{% data reusables.enterprise_installation.replica-limit %}
|
||||
|
||||
## Escenarios de fallas específicas
|
||||
## Targeted failure scenarios
|
||||
|
||||
Utiliza la configuración de alta disponibilidad para la protección contra lo siguiente:
|
||||
Use a high availability configuration for protection against:
|
||||
|
||||
{% data reusables.enterprise_installation.ha-and-clustering-failure-scenarios %}
|
||||
|
||||
Una configuración de alta disponibilidad no es una buena solución para lo siguiente:
|
||||
A high availability configuration is not a good solution for:
|
||||
|
||||
- **Escalar**. Mientras que puede distribuir el tráfico geográficamente utilizando la replicación geográfica, el rendimiento de las escrituras queda limitado a la velocidad y la disponibilidad del aparato principal. Para obtener más informació, consulta "[Acerca de la replicación geográfica](/enterprise/{{ currentVersion }}/admin/guides/installation/about-geo-replication/)."
|
||||
- **Generar copias de seguridad de tu aparato principal**. Una réplica de alta disponibilidad no reemplaza las copias de seguridad externas en tu plan de recuperación ante desastres. Algunas formas de corrupción o pérdida de datos se pueden replicar de inmediato desde el aparato principal hacia la réplica. Para asegurar una reversión segura a un estado antiguo estable, debes realizar copias de seguridad de rutina con instantáneas históricas.
|
||||
- **Actualizaciones del tiempo de inactividad en cero**. Para evitar la pérdida de datos y las situaciones de cerebro dividido en escenarios de promoción controlados, coloca el aparato principal en el modo de mantenimiento y espera a que se completen todas las escrituras entes de promover la réplica.
|
||||
- **Scaling-out**. While you can distribute traffic geographically using geo-replication, the performance of writes is limited to the speed and availability of the primary appliance. For more information, see "[About geo-replication](/enterprise/{{ currentVersion }}/admin/guides/installation/about-geo-replication/)."{% ifversion ghes > 3.2 %}
|
||||
- **CI/CD load**. If you have a large number of CI clients that are geographically distant from your primary instance, you may benefit from configuring a repository cache. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)."{% endif %}
|
||||
- **Backing up your primary appliance**. A high availability replica does not replace off-site backups in your disaster recovery plan. Some forms of data corruption or loss may be replicated immediately from the primary to the replica. To ensure safe rollback to a stable past state, you must perform regular backups with historical snapshots.
|
||||
- **Zero downtime upgrades**. To prevent data loss and split-brain situations in controlled promotion scenarios, place the primary appliance in maintenance mode and wait for all writes to complete before promoting the replica.
|
||||
|
||||
## Estrategias de conmutación por error del tráfico de red
|
||||
## Network traffic failover strategies
|
||||
|
||||
Durante la conmutación por error, debes configurar por separado y administrar el tráfico de red de redireccionamiento desde el aparato principal hacia la réplica.
|
||||
During failover, you must separately configure and manage redirecting network traffic from the primary to the replica.
|
||||
|
||||
### Conmutación por error de DNS
|
||||
### DNS failover
|
||||
|
||||
Con la conmutación por error de DNS, utiliza valores TTL cortos en los registros DNS que se dirijan al aparato principal {% data variables.product.prodname_ghe_server %}. Recomendamos un TTL de entre 60 segundos y cinco minutos.
|
||||
With DNS failover, use short TTL values in the DNS records that point to the primary {% data variables.product.prodname_ghe_server %} appliance. We recommend a TTL between 60 seconds and five minutes.
|
||||
|
||||
Durante la conmutación por error, debes colocar el aparato principal en modo de mantenimiento y redirigir sus registros DNS hacia la dirección IP del aparato réplica. El tiempo necesario para redirigir el tráfico desde el aparato principal hacia la réplica dependerá de la configuración TTL y del tiempo necesario para actualizar los registros DNS.
|
||||
During failover, you must place the primary into maintenance mode and redirect its DNS records to the replica appliance's IP address. The time needed to redirect traffic from primary to replica will depend on the TTL configuration and time required to update the DNS records.
|
||||
|
||||
Si estás utilizando la replicación geográfica, debes configurar Geo DNS en tráfico directo hacia la réplica más cercana. Para obtener más informació, consulta "[Acerca de la replicación geográfica](/enterprise/{{ currentVersion }}/admin/guides/installation/about-geo-replication/)."
|
||||
If you are using geo-replication, you must configure Geo DNS to direct traffic to the nearest replica. For more information, see "[About geo-replication](/enterprise/{{ currentVersion }}/admin/guides/installation/about-geo-replication/)."
|
||||
|
||||
### Balanceador de carga
|
||||
### Load balancer
|
||||
|
||||
{% data reusables.enterprise_clustering.load_balancer_intro %} {% data reusables.enterprise_clustering.load_balancer_dns %}
|
||||
|
||||
Durante la conmutación por error, debes colocar el aparato principal en el modo de mantenimiento. Puedes configurar el balanceador de carga para que detecte automáticamente cuando la réplica se haya promovido a principal, o puede que se requiera un cambio de configuración manual. Debes promover manualmente la réplica a principal antes de que responda al tráfico de usuarios. Para obtener más información, consulta "[Utilizar {% data variables.product.prodname_ghe_server %} con un balanceador de carga](/enterprise/{{ currentVersion }}/admin/guides/installation/using-github-enterprise-server-with-a-load-balancer/)."
|
||||
During failover, you must place the primary appliance into maintenance mode. You can configure the load balancer to automatically detect when the replica has been promoted to primary, or it may require a manual configuration change. You must manually promote the replica to primary before it will respond to user traffic. For more information, see "[Using {% data variables.product.prodname_ghe_server %} with a load balancer](/enterprise/{{ currentVersion }}/admin/guides/installation/using-github-enterprise-server-with-a-load-balancer/)."
|
||||
|
||||
{% data reusables.enterprise_installation.monitoring-replicas %}
|
||||
|
||||
## Utilidades para la administración de la replicación
|
||||
## Utilities for replication management
|
||||
|
||||
Para administrar la replicación en {% data variables.product.prodname_ghe_server %}, haz uso de estas utilidades de la línea de comando conectándote al aparato réplica con SSH.
|
||||
To manage replication on {% data variables.product.prodname_ghe_server %}, use these command line utilities by connecting to the replica appliance using SSH.
|
||||
|
||||
### ghe-repl-setup
|
||||
|
||||
El comando `ghe-repl-setup` coloca un aparato {% data variables.product.prodname_ghe_server %} en modo de espera de réplica.
|
||||
The `ghe-repl-setup` command puts a {% data variables.product.prodname_ghe_server %} appliance in replica standby mode.
|
||||
|
||||
- Un tunel de VPN de WireGuard cifrado se configura para establecer la comunicación entre los dos aplicativos.
|
||||
- Se configuran los servicios de bases de datos para la replicación y se inician.
|
||||
- Se inhabilitan los servicios de aplicaciones. Los intentos de acceder al aparato réplica por HTTP, Git u otros protocolos compatibles generarán una página de mantenimiento o un mensaje de error de "aparato en modo réplica".
|
||||
- An encrypted WireGuard VPN tunnel is configured for communication between the two appliances.
|
||||
- Database services are configured for replication and started.
|
||||
- Application services are disabled. Attempts to access the replica appliance over HTTP, Git, or other supported protocols will result in an "appliance in replica mode" maintenance page or error message.
|
||||
|
||||
```shell
|
||||
admin@169-254-1-2:~$ ghe-repl-setup 169.254.1.1
|
||||
Verificar la conectividad ssh con 169.254.1.1 ...
|
||||
Comprobación de conexión exitosa.
|
||||
Configurando la replicación de base de datos en oposición al principal...
|
||||
Verifying ssh connectivity with 169.254.1.1 ...
|
||||
Connection check succeeded.
|
||||
Configuring database replication against primary ...
|
||||
Success: Replica mode is configured against 169.254.1.1.
|
||||
To disable replica mode and undo these changes, run `ghe-repl-teardown'.
|
||||
Ejecuta `ghe-repl-start' para comenzar la replicación en oposición al principal recientemente configurado.
|
||||
Run `ghe-repl-start' to start replicating against the newly configured primary.
|
||||
```
|
||||
|
||||
### ghe-repl-start
|
||||
|
||||
El comando `ghe-repl-start` inicia la replicación activa de todos los almacenes de datos.
|
||||
The `ghe-repl-start` command turns on active replication of all datastores.
|
||||
|
||||
```shell
|
||||
admin@169-254-1-2:~$ ghe-repl-start
|
||||
Starting MySQL replication ...
|
||||
Iniciando la replicación de Redis...
|
||||
Iniciando la replicación de ElasticSearch...
|
||||
Iniciando la replicación de Páginas...
|
||||
Iniciando la replicación de Git...
|
||||
Exitoso: La replicación se está ejecutando para todos los servicios.
|
||||
Utiliza `ghe-repl-status' para monitorear el estado y el progreso de la replicación.
|
||||
Starting Redis replication ...
|
||||
Starting Elasticsearch replication ...
|
||||
Starting Pages replication ...
|
||||
Starting Git replication ...
|
||||
Success: replication is running for all services.
|
||||
Use `ghe-repl-status' to monitor replication health and progress.
|
||||
```
|
||||
|
||||
### ghe-repl-status
|
||||
|
||||
El comando `ghe-repl-status` muestra un estado de `OK`, `ADVERTENCIA` o `CRÍTICO` para cada corriente de replicación de almacén de datos. Cuando cualquiera de los canales de replicación está en estado `ADVERTENCIA`, el comando se cerrará con el código `1`. Del mismo modo, cuando cualquiera de los canales esté en un estado `CRÍTICO`, el comando se cerrará con el código `2`.
|
||||
The `ghe-repl-status` command returns an `OK`, `WARNING` or `CRITICAL` status for each datastore replication stream. When any of the replication channels are in a `WARNING` state, the command will exit with the code `1`. Similarly, when any of the channels are in a `CRITICAL` state, the command will exit with the code `2`.
|
||||
|
||||
```shell
|
||||
admin@169-254-1-2:~$ ghe-repl-status
|
||||
OK: replicación de mysql en sinc
|
||||
OK: la replicación de redis está en sinc
|
||||
OK: la agrupación de elasticsearch está en sinc
|
||||
OK: los datos de git están en sinc (10 repos, 2 wikis, 5 gists)
|
||||
OK: los datos de páginas están en sinc
|
||||
OK: mysql replication in sync
|
||||
OK: redis replication is in sync
|
||||
OK: elasticsearch cluster is in sync
|
||||
OK: git data is in sync (10 repos, 2 wikis, 5 gists)
|
||||
OK: pages data is in sync
|
||||
```
|
||||
|
||||
Las opciones `-v` y `-vv` dan detalles sobre cada uno de los estados de replicación de almacén de datos:
|
||||
The `-v` and `-vv` options give details about each datastore's replication state:
|
||||
|
||||
```shell
|
||||
$ ghe-repl-status -v
|
||||
OK: replicación de mysql en sinc
|
||||
| IO en ejecución: Sí, SQL en ejecución: Sí, Demora: 0
|
||||
OK: mysql replication in sync
|
||||
| IO running: Yes, SQL running: Yes, Delay: 0
|
||||
|
||||
OK: la replicación de redis está en sinc
|
||||
OK: redis replication is in sync
|
||||
| master_host:169.254.1.1
|
||||
| master_port:6379
|
||||
| master_link_status:up
|
||||
| master_last_io_seconds_ago:3
|
||||
| master_sync_in_progress:0
|
||||
|
||||
OK: la agrupación de elasticsearch está en sinc
|
||||
OK: elasticsearch cluster is in sync
|
||||
| {
|
||||
| "cluster_name" : "github-enterprise",
|
||||
| "status" : "green",
|
||||
| "timed_out" : falso,
|
||||
| "timed_out" : false,
|
||||
| "number_of_nodes" : 2,
|
||||
| "number_of_data_nodes" : 2,
|
||||
| "active_primary_shards" : 12,
|
||||
@@ -131,58 +131,58 @@ OK: la agrupación de elasticsearch está en sinc
|
||||
| "unassigned_shards" : 0
|
||||
| }
|
||||
|
||||
OK: los datos de git están en sinc (366 repos, 31 wikis, 851 gists)
|
||||
| TOTAL OK FALLA PENDIENTE CON DEMORA
|
||||
| repositorios 366 366 0 0 0.0
|
||||
OK: git data is in sync (366 repos, 31 wikis, 851 gists)
|
||||
| TOTAL OK FAULT PENDING DELAY
|
||||
| repositories 366 366 0 0 0.0
|
||||
| wikis 31 31 0 0 0.0
|
||||
| gists 851 851 0 0 0.0
|
||||
| total 1248 1248 0 0 0.0
|
||||
|
||||
OK: los datos de páginas están en sinc
|
||||
| Las páginas están en sinc
|
||||
OK: pages data is in sync
|
||||
| Pages are in sync
|
||||
```
|
||||
|
||||
### ghe-repl-stop
|
||||
|
||||
El comando `ghe-repl-stop` inhabilita temporalmente la replicación de todos los almacenes de datos y detiene los servicios de replicación. Para reanudar la replicación, utiliza el comando [ghe-repl-start](#ghe-repl-start).
|
||||
The `ghe-repl-stop` command temporarily disables replication for all datastores and stops the replication services. To resume replication, use the [ghe-repl-start](#ghe-repl-start) command.
|
||||
|
||||
```shell
|
||||
admin@168-254-1-2:~$ ghe-repl-stop
|
||||
Deteniendo la replicación de Páginas...
|
||||
Deteniendo la replicación de Git...
|
||||
Deteniendo la replicación de MySQL...
|
||||
Deteniendo la replicación de Redis...
|
||||
Deteniendo la replicación de ElasticSearch...
|
||||
Exitoso: la replicación se detuvo para todos los servicios.
|
||||
Stopping Pages replication ...
|
||||
Stopping Git replication ...
|
||||
Stopping MySQL replication ...
|
||||
Stopping Redis replication ...
|
||||
Stopping Elasticsearch replication ...
|
||||
Success: replication was stopped for all services.
|
||||
```
|
||||
|
||||
### ghe-repl-promote
|
||||
|
||||
El comando `ghe-repl-promote` inhabilita la replicación y convierte el aparato réplica en principal. El aparato se configura con los mismos ajustes que el principal original y se habilitan todos los servicios.
|
||||
The `ghe-repl-promote` command disables replication and converts the replica appliance to a primary. The appliance is configured with the same settings as the original primary and all services are enabled.
|
||||
|
||||
{% data reusables.enterprise_installation.promoting-a-replica %}
|
||||
|
||||
```shell
|
||||
admin@168-254-1-2:~$ ghe-repl-promote
|
||||
Habilitando el modo de mantenimiento en el aparato principal para evitar escrituras...
|
||||
Deteniendo la replicación...
|
||||
| Deteniendo la replicación de Páginas...
|
||||
| Deteniendo la replicación de Git...
|
||||
| Deteniendo la replicación de MySQL...
|
||||
| Deteniendo la replicación de Redis...
|
||||
| Deteniendo la replicación de ElasticSearch...
|
||||
| Exitoso: la replicación se detuvo para todos los servicios.
|
||||
Cambiando del modo réplica...
|
||||
| Exitoso: se eliminó la configuración de la replicación.
|
||||
| Ejecuta `ghe-repl-setup' para volver a habilitar el modo réplica.
|
||||
Aplicando la configuración e iniciando los servicios...
|
||||
Exitoso: la réplica se promovió a principal y ahora está aceptando solicitudes.
|
||||
Enabling maintenance mode on the primary to prevent writes ...
|
||||
Stopping replication ...
|
||||
| Stopping Pages replication ...
|
||||
| Stopping Git replication ...
|
||||
| Stopping MySQL replication ...
|
||||
| Stopping Redis replication ...
|
||||
| Stopping Elasticsearch replication ...
|
||||
| Success: replication was stopped for all services.
|
||||
Switching out of replica mode ...
|
||||
| Success: Replication configuration has been removed.
|
||||
| Run `ghe-repl-setup' to re-enable replica mode.
|
||||
Applying configuration and starting services ...
|
||||
Success: Replica has been promoted to primary and is now accepting requests.
|
||||
```
|
||||
|
||||
### ghe-repl-teardown
|
||||
|
||||
El comando `ghe-repl-teardown` inhabilita el modo de replicación por completo, eliminando la configuración de la réplica.
|
||||
The `ghe-repl-teardown` command disables replication mode completely, removing the replica configuration.
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Crear una réplica de alta disponibilidad](/enterprise/{{ currentVersion }}/admin/guides/installation/creating-a-high-availability-replica)"
|
||||
- "[Creating a high availability replica](/enterprise/{{ currentVersion }}/admin/guides/installation/creating-a-high-availability-replica)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Crear una réplica de alta disponibilidad
|
||||
intro: 'En una configuración activa/pasiva, el aparato réplica es una copia redundante del aparato principal. Si el aparato principal falla, el modo de alta disponibilidad permite que la réplica actúe como aparato principal, lo que posibilita que la interrupción del servicio sea mínima.'
|
||||
title: Creating a high availability replica
|
||||
intro: 'In an active/passive configuration, the replica appliance is a redundant copy of the primary appliance. If the primary appliance fails, high availability mode allows the replica to act as the primary appliance, allowing minimal service disruption.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/installation/creating-a-high-availability-replica
|
||||
- /enterprise/admin/enterprise-management/creating-a-high-availability-replica
|
||||
@@ -12,91 +12,81 @@ topics:
|
||||
- Enterprise
|
||||
- High availability
|
||||
- Infrastructure
|
||||
shortTitle: Crear una réplica de HA
|
||||
shortTitle: Create HA replica
|
||||
---
|
||||
|
||||
{% data reusables.enterprise_installation.replica-limit %}
|
||||
|
||||
## Crear una réplica de alta disponibilidad
|
||||
## Creating a high availability replica
|
||||
|
||||
1. Configurar un aparato {% data variables.product.prodname_ghe_server %} nuevo en la plataforma que desees. El aparato réplica debe espejar la CPU, la RAM y los ajustes de almacenamiento del aparato principal. Recomendamos que instales el aparato réplica en un entorno separado. El hardward subyacente, el software y los componentes de red deben estar aislados de los del aparato principal. Si estás usando un proveedor de nube, utiliza una región o zona separada. Para obtener más información, consulta ["Configurar una instancia {% data variables.product.prodname_ghe_server %}"](/enterprise/{{ currentVersion }}/admin/guides/installation/setting-up-a-github-enterprise-server-instance).
|
||||
2. Desde un navegador, dirígete a la nueva dirección IP del aparato réplica y carga tu licencia de {% data variables.product.prodname_enterprise %}.
|
||||
3. Establece una contraseña de administrador que coincida con la contraseña del aparato principal y continúa.
|
||||
4. Haz clic en **Configure as Replica** (Configurar como réplica). 
|
||||
5. En "Agregar nueva clave SSH", escribe tu clave SSH. 
|
||||
6. Haz clic en **Add key** (Agregar clave), luego haz clic en **Continue** (Continuar).
|
||||
6. Conectarse a la dirección IP del aparato réplica usando SSH.
|
||||
1. Set up a new {% data variables.product.prodname_ghe_server %} appliance on your desired platform. The replica appliance should mirror the primary appliance's CPU, RAM, and storage settings. We recommend that you install the replica appliance in an independent environment. The underlying hardware, software, and network components should be isolated from those of the primary appliance. If you are a using a cloud provider, use a separate region or zone. For more information, see ["Setting up a {% data variables.product.prodname_ghe_server %} instance"](/enterprise/{{ currentVersion }}/admin/guides/installation/setting-up-a-github-enterprise-server-instance).
|
||||
2. In a browser, navigate to the new replica appliance's IP address and upload your {% data variables.product.prodname_enterprise %} license.
|
||||
{% data reusables.enterprise_installation.replica-steps %}
|
||||
6. Connect to the replica appliance's IP address using SSH.
|
||||
```shell
|
||||
$ ssh -p 122 admin@<em>REPLICA IP</em>
|
||||
```
|
||||
7. Para generar un par de claves para la replicación, usa el comando `ghe-repl-setup` con la dirección IP del aparato principal y copia la clave pública que este devuelve.
|
||||
```shell
|
||||
$ ghe-repl-setup <em>PRIMARY IP</em>
|
||||
```
|
||||
{% data reusables.enterprise_installation.generate-replication-key-pair %}
|
||||
{% data reusables.enterprise_installation.add-ssh-key-to-primary %}
|
||||
9. Para verificar la conexión con la primaria y habilitar el modo de réplica para una nueva réplica, ejecuta nuevamente `ghe-repl-setup`.
|
||||
9. To verify the connection to the primary and enable replica mode for the new replica, run `ghe-repl-setup` again.
|
||||
```shell
|
||||
$ ghe-repl-setup <em>PRIMARY IP</em>
|
||||
```
|
||||
{% data reusables.enterprise_installation.replication-command %}
|
||||
11. Para verificar el estado de cada canal de replicación del almacén de datos, utiliza el comando `ghe-repl-status`.
|
||||
```shell
|
||||
$ ghe-repl-status
|
||||
```
|
||||
{% data reusables.enterprise_installation.verify-replication-channel %}
|
||||
|
||||
## Crear réplicas de replicación geográfica
|
||||
## Creating geo-replication replicas
|
||||
|
||||
Esta configuración de ejemplo utiliza una réplica primaria y dos réplicas, que se encuentran en tres regiones geográficas diferentes. Aunque los tres nodos pueden estar en redes diferentes, se necesitan todos los nodos para que sean accesibles desde todos los demás nodos. Como mínimo, los puertos administrativos requeridos deben estar abiertos para todos los demás nodos. Para obtener más información acerca de los requisitos de puerto, consulta "[Puertos de red](/enterprise/{{ currentVersion }}/admin/guides/installation/network-ports/#administrative-ports)."
|
||||
This example configuration uses a primary and two replicas, which are located in three different geographic regions. While the three nodes can be in different networks, all nodes are required to be reachable from all the other nodes. At the minimum, the required administrative ports should be open to all the other nodes. For more information about the port requirements, see "[Network Ports](/enterprise/{{ currentVersion }}/admin/guides/installation/network-ports/#administrative-ports)."
|
||||
|
||||
1. Crea la primera réplica de la misma manera en que lo harías para una configuración de dos nodos estándar ejecutando `ghe-repl-setup` en la primera réplica.
|
||||
1. Create the first replica the same way you would for a standard two node configuration by running `ghe-repl-setup` on the first replica.
|
||||
```shell
|
||||
(replica1)$ ghe-repl-setup <em>PRIMARY IP</em>
|
||||
(replica1)$ ghe-repl-start
|
||||
```
|
||||
2. Crea una segunda réplica y utiliza el comando `ghe-repl-setup --add`. La marca `--add` evita que sobrescriba la configuración de la replicación existente y agrega la nueva réplica a la configuración.
|
||||
2. Create a second replica and use the `ghe-repl-setup --add` command. The `--add` flag prevents it from overwriting the existing replication configuration and adds the new replica to the configuration.
|
||||
```shell
|
||||
(replica2)$ ghe-repl-setup --add <em>PRIMARY IP</em>
|
||||
(replica2)$ ghe-repl-start
|
||||
```
|
||||
3. Predeterminadamente, las replicas se configuran en el mismo centro de datos, y ahora intentarán poblar los datos desde un nodo existente en el mismo centro de datos. Configura las réplicas para diferentes centros de datos estableciendo un valor diferente para la opción de centro de datos. Los valores específicos pueden ser los que tú quieras, siempre que sean diferentes entre sí. Ejecuta el comando `ghe-repl-node` en cada nodo y especifica el centro de datos.
|
||||
3. By default, replicas are configured to the same datacenter, and will now attempt to seed from an existing node in the same datacenter. Configure the replicas for different datacenters by setting a different value for the datacenter option. The specific values can be anything you would like as long as they are different from each other. Run the `ghe-repl-node` command on each node and specify the datacenter.
|
||||
|
||||
En la primaria:
|
||||
On the primary:
|
||||
```shell
|
||||
(primary)$ ghe-repl-node --datacenter <em>[PRIMARY DC NAME]</em>
|
||||
```
|
||||
En la primera réplica:
|
||||
On the first replica:
|
||||
```shell
|
||||
(replica1)$ ghe-repl-node --datacenter <em>[FIRST REPLICA DC NAME]</em>
|
||||
```
|
||||
En la segunda réplica:
|
||||
On the second replica:
|
||||
```shell
|
||||
(replica2)$ ghe-repl-node --datacenter <em>[SECOND REPLICA DC NAME]</em>
|
||||
```
|
||||
{% tip %}
|
||||
|
||||
**Consejo:** puedes establecer las opciones `--datacenter` y `--active` al mismo tiempo.
|
||||
**Tip:** You can set the `--datacenter` and `--active` options at the same time.
|
||||
|
||||
{% endtip %}
|
||||
4. Un nodo de réplica activo almacenará copias de los datos del aparato y responderá las solicitudes de usuario final. Un nodo inactivo almacenará copias de los datos del aparato, pero no podrá atender las solicitudes de usuario final. Habilita el modo activo usando la marca `--active` o el modo inactivo usando la marca `--inactive`.
|
||||
4. An active replica node will store copies of the appliance data and service end user requests. An inactive node will store copies of the appliance data but will be unable to service end user requests. Enable active mode using the `--active` flag or inactive mode using the `--inactive` flag.
|
||||
|
||||
En la primera réplica:
|
||||
On the first replica:
|
||||
```shell
|
||||
(replica1)$ ghe-repl-node --active
|
||||
```
|
||||
En la segunda réplica:
|
||||
On the second replica:
|
||||
```shell
|
||||
(replica2)$ ghe-repl-node --active
|
||||
```
|
||||
5. Para aplicar la configuración, usa el comando `ghe-config-apply` en el principal.
|
||||
5. To apply the configuration, use the `ghe-config-apply` command on the primary.
|
||||
```shell
|
||||
(primary)$ ghe-config-apply
|
||||
```
|
||||
|
||||
## Configurar el DNS para replicación geográfica
|
||||
## Configuring DNS for geo-replication
|
||||
|
||||
Configurar Geo DNS usando las direcciones IP de los nodos primarios y réplica. También puedes crear un DNS CNAME para el nodo principal (p. ej., `primary.github.example.com`) para acceder al nodo principal a través de SSH o hacerle una copia de seguridad a través de `backup-utils`.
|
||||
Configure Geo DNS using the IP addresses of the primary and replica nodes. You can also create a DNS CNAME for the primary node (e.g. `primary.github.example.com`) to access the primary node via SSH or to back it up via `backup-utils`.
|
||||
|
||||
Para probarlo, puedes agregar entradas al archivo de `hosts` de la estación de trabajo local (por ejemplo, `/etc/hosts`). Estas entradas de ejemplo resolverán las solicitudes de `HOSTNAME` para `replica2`. Puedes apuntar a hosts específicos comentando en diferentes líneas.
|
||||
For testing, you can add entries to the local workstation's `hosts` file (for example, `/etc/hosts`). These example entries will resolve requests for `HOSTNAME` to `replica2`. You can target specific hosts by commenting out different lines.
|
||||
|
||||
```
|
||||
# <primary IP> <em>HOSTNAME</em>
|
||||
@@ -104,8 +94,8 @@ Para probarlo, puedes agregar entradas al archivo de `hosts` de la estación de
|
||||
<replica2 IP> <em>HOSTNAME</em>
|
||||
```
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Acerca de la configuración de alta disponibilidad](/enterprise/{{ currentVersion }}/admin/guides/installation/about-high-availability-configuration)"
|
||||
- "[Utilidades para la gestión de replicaciones](/enterprise/{{ currentVersion }}/admin/guides/installation/about-high-availability-configuration/#utilities-for-replication-management)"
|
||||
- "[Acerca de la replicación geográfica](/enterprise/{{ currentVersion }}/admin/guides/installation/about-geo-replication/)"
|
||||
- "[About high availability configuration](/enterprise/{{ currentVersion }}/admin/guides/installation/about-high-availability-configuration)"
|
||||
- "[Utilities for replication management](/enterprise/{{ currentVersion }}/admin/guides/installation/about-high-availability-configuration/#utilities-for-replication-management)"
|
||||
- "[About geo-replication](/enterprise/{{ currentVersion }}/admin/guides/installation/about-geo-replication/)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 'Monitorear, administrar y actualizar tu empresa'
|
||||
intro: 'Puedes monitorear tu aplicativo, mejorar a una versión nueva y configurar el agrupamiento o la disponibilidad alta'
|
||||
title: 'Monitoring, managing, and updating your enterprise'
|
||||
intro: 'You can monitor your appliance, upgrade to a newer version, and configure clustering or high availability'
|
||||
redirect_from:
|
||||
- /enterprise/admin/enterprise-management
|
||||
versions:
|
||||
@@ -12,6 +12,7 @@ children:
|
||||
- /updating-the-virtual-machine-and-physical-resources
|
||||
- /configuring-clustering
|
||||
- /configuring-high-availability
|
||||
shortTitle: 'Monitorear, administrar & actualizar'
|
||||
- /caching-repositories
|
||||
shortTitle: 'Monitor, manage & update'
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Actualizar el servidor de GitHub Enterprise
|
||||
intro: 'Actualizar el {% data variables.product.prodname_ghe_server %} para obtener las funciones y las actualizaciones de seguridad más recientes.'
|
||||
title: Upgrading GitHub Enterprise Server
|
||||
intro: 'Upgrade {% data variables.product.prodname_ghe_server %} to get the latest features and security updates.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/installation/upgrading-github-enterprise-server
|
||||
- /enterprise/admin/articles/upgrading-to-the-latest-release/
|
||||
@@ -20,220 +20,218 @@ type: how_to
|
||||
topics:
|
||||
- Enterprise
|
||||
- Upgrades
|
||||
shortTitle: Mejorar el GHES
|
||||
shortTitle: Upgrading GHES
|
||||
---
|
||||
## Preparing to upgrade
|
||||
|
||||
## Preparar para una actualización
|
||||
|
||||
1. Determina una estrategia de actualización y elige una versión a la que actualizar. Para obtener más información, consulta "[Requisitos de actualización](/enterprise/{{ currentVersion }}/admin/guides/installation/upgrade-requirements/)."
|
||||
3. Crea una copia de seguridad nueva de tu instancia principal con las {% data variables.product.prodname_enterprise_backup_utilities %}. Para obtener más información, consulta el archivo README.md en [{% data variables.product.prodname_enterprise_backup_utilities %}](https://github.com/github/backup-utils#readme).
|
||||
4. Si estás actualizando con un paquete de actualización, programa una ventana de mantenimiento para los usuarios finales del {% data variables.product.prodname_ghe_server %}. Si estás usando un hotpatch, no se necesita el modo mantenimiento.
|
||||
1. Determine an upgrade strategy and choose a version to upgrade to. For more information, see "[Upgrade requirements](/enterprise/{{ currentVersion }}/admin/guides/installation/upgrade-requirements/)."
|
||||
3. Create a fresh backup of your primary instance with the {% data variables.product.prodname_enterprise_backup_utilities %}. For more information, see the [{% data variables.product.prodname_enterprise_backup_utilities %} README.md file](https://github.com/github/backup-utils#readme).
|
||||
4. If you are upgrading using an upgrade package, schedule a maintenance window for {% data variables.product.prodname_ghe_server %} end users. If you are using a hotpatch, maintenance mode is not required.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** la ventana de mantenimiento depende del tipo de actualización que realices. Las actualizaciones que utilizan un hotpatch por lo general no necesitan una ventana de mantenimiento. A veces se necesita reiniciar; puedes hacerlo más tarde. Siguiendo el esquema de control de versiones de MAJOR.FEATURE.PATCH, los lanzamientos de patch que utilizan un paquete de actualización normalmente necesitan menos de cinco minutos de tiempo de inactividad. Los lanzamientos de funciones que incluyen migraciones de datos toman más tiempo dependiendo del desempeño del almacenamiento y de la cantidad de datos que se migran. Para obtener más información, consulta "[Habilitar y programar el modo mantenimiento](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
|
||||
**Note:** The maintenance window depends on the type of upgrade you perform. Upgrades using a hotpatch usually don't require a maintenance window. Sometimes a reboot is required, which you can perform at a later time. Following the versioning scheme of MAJOR.FEATURE.PATCH, patch releases using an upgrade package typically require less than five minutes of downtime. Feature releases that include data migrations take longer depending on storage performance and the amount of data that's migrated. For more information, see "[Enabling and scheduling maintenance mode](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% data reusables.enterprise_installation.upgrade-hardware-requirements %}
|
||||
|
||||
## Tomar una instantánea
|
||||
## Taking a snapshot
|
||||
|
||||
Una instantánea es un punto de verificación de una máquina virtual (VM) en un momento en el tiempo. Recomendamos firmemente tomar una instantánea antes de actualizar tu máquina virtual para que si falla una actualización, puedas revertir tu VM nuevamente a la instantánea. Si no estás actualizando a un nuevo lanzamiento de característica, debes tomar una instantánea de VM. Si estás actualizando a un nuevo lanzamiento de patch, puedes adjuntar el disco de datos existente.
|
||||
A snapshot is a checkpoint of a virtual machine (VM) at a point in time. We highly recommend taking a snapshot before upgrading your virtual machine so that if an upgrade fails, you can revert your VM back to the snapshot. If you're upgrading to a new feature release, you must take a VM snapshot. If you're upgrading to a patch release, you can attach the existing data disk.
|
||||
|
||||
Hay dos tipos de instantáneas:
|
||||
There are two types of snapshots:
|
||||
|
||||
- **Las instantáneas de VM** guardan el estado completo de tu VM, incluidos los datos del usuario y los datos de configuración. Este método de instantáneas requiere una gran cantidad de espacio de disco e insume mucho tiempo.
|
||||
- **Las instantáneas de disco de datos** únicamente guardan tus datos de usuario.
|
||||
- **VM snapshots** save your entire VM state, including user data and configuration data. This snapshot method requires a large amount of disk space and is time consuming.
|
||||
- **Data disk snapshots** only save your user data.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Notas:**
|
||||
- Algunas plataformas no permiten que tomes una instantánea solo de tu disco de datos. Para estas plataformas, necesitarás tomar una instantánea de tu VM completa.
|
||||
- Si tu hipervisor no admite instantáneas de VM completas, debes tomar una instantánea de tu disco raíz y de tu disco de datos en rápida sucesión.
|
||||
**Notes:**
|
||||
- Some platforms don't allow you to take a snapshot of just your data disk. For these platforms, you'll need to take a snapshot of the entire VM.
|
||||
- If your hypervisor does not support full VM snapshots, you should take a snapshot of the root disk and data disk in quick succession.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
| Plataforma | Método de instantánea | URL de documentación de instantánea |
|
||||
| --------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Amazon AWS | Disco | <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html> |
|
||||
| Azure | VM | <https://docs.microsoft.com/azure/backup/backup-azure-vms-first-look-arm> |
|
||||
| Hyper-V | VM | <https://docs.microsoft.com/windows-server/virtualization/hyper-v/manage/enable-or-disable-checkpoints-in-hyper-v> |
|
||||
| Google Compute Engine | Disco | <https://cloud.google.com/compute/docs/disks/create-snapshots> |
|
||||
| VMware | VM | [https://pubs.vmware.com/vsphere-50/topic/com.vmware.wssdk.pg.doc_50/PG_Ch11_VM_Manage.13.3.html](https://pubs.vmware.com/vsphere-50/topic/com.vmware.wssdk.pg.doc_50/PG_Ch11_VM_Manage.13.3.html) |
|
||||
| XenServer | VM | <https://docs.citrix.com/en-us/xencenter/current-release/vms-snapshots.html> |
|
||||
| Platform | Snapshot method | Snapshot documentation URL |
|
||||
|---|---|---|
|
||||
| Amazon AWS | Disk | <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html>
|
||||
| Azure | VM | <https://docs.microsoft.com/azure/backup/backup-azure-vms-first-look-arm>
|
||||
| Hyper-V | VM | <https://docs.microsoft.com/windows-server/virtualization/hyper-v/manage/enable-or-disable-checkpoints-in-hyper-v>
|
||||
| Google Compute Engine | Disk | <https://cloud.google.com/compute/docs/disks/create-snapshots>
|
||||
| VMware | VM | <https://pubs.vmware.com/vsphere-50/topic/com.vmware.wssdk.pg.doc_50/PG_Ch11_VM_Manage.13.3.html>{% ifversion ghes < 3.3 %}
|
||||
| XenServer | VM | <https://docs.citrix.com/en-us/xencenter/current-release/vms-snapshots.html>{% endif %}
|
||||
|
||||
## Actualizar con un hotpatch
|
||||
## Upgrading with a hotpatch
|
||||
|
||||
{% data reusables.enterprise_installation.hotpatching-explanation %} Utilizando la {% data variables.enterprise.management_console %}, puedes instalar un hotpatch de forma inmediata o programar la instalación para más tarde. Puedes utilizar el shell administrativo para instalar un hotpatch con la herramienta `ghe-upgrade`. Para obtener más información, consulta "[Requisitos de actualización](/enterprise/{{ currentVersion }}/admin/guides/installation/upgrade-requirements/)."
|
||||
{% data reusables.enterprise_installation.hotpatching-explanation %} Using the {% data variables.enterprise.management_console %}, you can install a hotpatch immediately or schedule it for later installation. You can use the administrative shell to install a hotpatch with the `ghe-upgrade` utility. For more information, see "[Upgrade requirements](/enterprise/{{ currentVersion }}/admin/guides/installation/upgrade-requirements/)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**{% ifversion ghes %}Notas{% else %}Nota{% endif %}**:
|
||||
**{% ifversion ghes %}Notes{% else %}Note{% endif %}**:
|
||||
|
||||
{% ifversion ghes %}
|
||||
- Si {% data variables.product.product_location %} está ejecutando una compilación candidata a lanzamiento, no puedes actualizarla con un hotpatch.
|
||||
- If {% data variables.product.product_location %} is running a release candidate build, you can't upgrade with a hotpatch.
|
||||
|
||||
- {% endif %}No hay disponibilidad para instalar un parche utilizando la {% data variables.enterprise.management_console %} en los ambientes de clúster. Para instalar un parche en un entorno de agrupación, consulta "[Actualizar una agrupación](/enterprise/{{ currentVersion }}/admin/clustering/upgrading-a-cluster#upgrading-with-a-hotpatch)."
|
||||
- {% endif %}Installing a hotpatch using the {% data variables.enterprise.management_console %} is not available in clustered environments. To install a hotpatch in a clustered environment, see "[Upgrading a cluster](/enterprise/{{ currentVersion }}/admin/clustering/upgrading-a-cluster#upgrading-with-a-hotpatch)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Actualizar un aparato único con un hotpatch
|
||||
### Upgrading a single appliance with a hotpatch
|
||||
|
||||
#### Instalar un hotpatch utilizando la {% data variables.enterprise.management_console %}
|
||||
#### Installing a hotpatch using the {% data variables.enterprise.management_console %}
|
||||
|
||||
1. Habilitar actualizaciones automáticas. Para obtener más información, consulta "[Habilitar actualizaciones automáticas](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-subdomain-isolation/)."
|
||||
1. Enable automatic updates. For more information, see "[Enabling automatic updates](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-automatic-update-checks/)."
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
{% data reusables.enterprise_management_console.updates-tab %}
|
||||
4. Cuando se ha descargado un nuevo hotpatch, utiliza el menú desplegable del paquete de instalación:
|
||||
- Para instalar de forma inmediata, selecciona **Now (Ahora)**:
|
||||
- Para instalarlo más tarde, selecciona una fecha posterior. 
|
||||
5. Da clic en **Instalar**. 
|
||||
4. When a new hotpatch has been downloaded, use the Install package drop-down menu:
|
||||
- To install immediately, select **Now**:
|
||||
- To install later, select a later date.
|
||||

|
||||
5. Click **Install**.
|
||||

|
||||
|
||||
#### Instalar un hotpatch utilizando un shell administrativo
|
||||
#### Installing a hotpatch using the administrative shell
|
||||
|
||||
{% data reusables.enterprise_installation.download-note %}
|
||||
|
||||
{% data reusables.enterprise_installation.ssh-into-instance %}
|
||||
2. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %} Copia el URL para obtener el paquete de actualización (*.hpkg* file).
|
||||
2. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %} Copy the URL for the upgrade hotpackage (*.hpkg* file).
|
||||
{% data reusables.enterprise_installation.download-package %}
|
||||
4. Ejecuta el comando `ghe-upgrade` utilizando el nombre del archivo del paquete:
|
||||
4. Run the `ghe-upgrade` command using the package file name:
|
||||
```shell
|
||||
admin@<em>HOSTNAME</em>:~$ ghe-upgrade <em>GITHUB-UPGRADE.hpkg</em>
|
||||
*** verifying upgrade package signature...
|
||||
```
|
||||
5. Si se requiere un reinicio para las actualizaciones de kernel, MySQL, Elasticsearch u otros programas, el script de actualización de hotpatch te avisa.
|
||||
5. If a reboot is required for updates for kernel, MySQL, Elasticsearch or other programs, the hotpatch upgrade script notifies you.
|
||||
|
||||
### Actualizar un aparato que tiene instancias de réplica utilizando un hotpatch
|
||||
### Upgrading an appliance that has replica instances using a hotpatch
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: si estás instalando un hotpatch, no necesitas entrar en modo de mantenimiento o detener la replicación.
|
||||
**Note**: If you are installing a hotpatch, you do not need to enter maintenance mode or stop replication.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Los aparatos configurados para alta disponibilidad y de replicación geográfica utilizan instancias de réplica además de las instancias principales. Para actualizar estos aparatos, necesitarás actualizar tanto la instancia principal y todas las instancias de réplica, una a la vez.
|
||||
Appliances configured for high-availability and geo-replication use replica instances in addition to primary instances. To upgrade these appliances, you'll need to upgrade both the primary instance and all replica instances, one at a time.
|
||||
|
||||
#### Actualizar la instancia principal
|
||||
#### Upgrading the primary instance
|
||||
|
||||
1. Actualiza la instancia principal siguiendo las instrucciones en "[Instalar un hotpatch utilizando el shell administrativo](#installing-a-hotpatch-using-the-administrative-shell)."
|
||||
1. Upgrade the primary instance by following the instructions in "[Installing a hotpatch using the administrative shell](#installing-a-hotpatch-using-the-administrative-shell)."
|
||||
|
||||
#### Actualizar una instancia de réplica
|
||||
#### Upgrading a replica instance
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** si estás ejecutando múltiples instancias de réplica como parte de la replicación geográfica, repite este procedimiento para cada instancia de réplica, una a la vez.
|
||||
**Note:** If you're running multiple replica instances as part of geo-replication, repeat this procedure for each replica instance, one at a time.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
1. Mejora la instancia de répica siguiendo las instrucciones en "[Instalar un hotpatch utilizando el shell administrativo](#installing-a-hotpatch-using-the-administrative-shell)". Si estás utilizando varias replicas para la replicación geográfica, deberás repetir este procedimiento para actualizar cada réplica una a la vez.
|
||||
1. Upgrade the replica instance by following the instructions in "[Installing a hotpatch using the administrative shell](#installing-a-hotpatch-using-the-administrative-shell)." If you are using multiple replicas for Geo-replication, you must repeat this procedure to upgrade each replica one at a time.
|
||||
{% data reusables.enterprise_installation.replica-ssh %}
|
||||
{% data reusables.enterprise_installation.replica-verify %}
|
||||
|
||||
## Actualizar con un paquete de actualización
|
||||
## Upgrading with an upgrade package
|
||||
|
||||
Al mismo tiempo que puedes utilizar un hotpatch para actualizar al lanzamiento de patch más reciente dentro de una serie de características, debes utilizar un paquete de actualización para actualizar a un lanzamiento de característica más nuevo. Por ejemplo para actualizar de `2.11.10` a `2.12.4` debes utilizar un paquete de actualización ya que están en series de características diferentes. Para obtener más información, consulta "[Requisitos de actualización](/enterprise/{{ currentVersion }}/admin/guides/installation/upgrade-requirements/)."
|
||||
While you can use a hotpatch to upgrade to the latest patch release within a feature series, you must use an upgrade package to upgrade to a newer feature release. For example to upgrade from `2.11.10` to `2.12.4` you must use an upgrade package since these are in different feature series. For more information, see "[Upgrade requirements](/enterprise/{{ currentVersion }}/admin/guides/installation/upgrade-requirements/)."
|
||||
|
||||
### Actualizar un aparato único con un paquete de actualización
|
||||
### Upgrading a single appliance with an upgrade package
|
||||
|
||||
{% data reusables.enterprise_installation.download-note %}
|
||||
|
||||
{% data reusables.enterprise_installation.ssh-into-instance %}
|
||||
2. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %} Selecciona la plataforma adecuada y copia el URL para obtener el paquete de actualización (*.pkg* file).
|
||||
2. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %} Select the appropriate platform and copy the URL for the upgrade package (*.pkg* file).
|
||||
{% data reusables.enterprise_installation.download-package %}
|
||||
4. Habilita el modo mantenimiento y espera que se completen todos los procesos activos en la instancia del {% data variables.product.prodname_ghe_server %}. Para obtener más información, consulta "[Habilitar y programar el modo mantenimiento](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
|
||||
4. Enable maintenance mode and wait for all active processes to complete on the {% data variables.product.prodname_ghe_server %} instance. For more information, see "[Enabling and scheduling maintenance mode](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: cuando se actualiza el aparato primario en una configuración de alta disponibilidad, el aparato debería estar ya en modo mantenimiento si estás siguiendo las instrucciones en "[Actualizar la instancia primaria](#upgrading-the-primary-instance)."
|
||||
**Note**: When upgrading the primary appliance in a High Availability configuration, the appliance should already be in maintenance mode if you are following the instructions in "[Upgrading the primary instance](#upgrading-the-primary-instance)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
5. Ejecuta el comando `ghe-upgrade` utilizando el nombre del archivo del paquete:
|
||||
5. Run the `ghe-upgrade` command using the package file name:
|
||||
```shell
|
||||
admin@<em>HOSTNAME</em>:~$ ghe-upgrade <em>GITHUB-UPGRADE.pkg</em>
|
||||
*** verifying upgrade package signature...
|
||||
```
|
||||
6. Confirma que te gustaría continuar con la actualización y reinicia después de que se verifique la firma del paquete. El nuevo sistema de archivos raíz escribe en la segunda partición y la instancia de forma automática se reinicia en modo mantenimiento:
|
||||
6. Confirm that you'd like to continue with the upgrade and restart after the package signature verifies. The new root filesystem writes to the secondary partition and the instance automatically restarts in maintenance mode:
|
||||
```shell
|
||||
*** aplicando actualización...
|
||||
*** applying update...
|
||||
This package will upgrade your installation to version <em>version-number</em>
|
||||
Current root partition: /dev/xvda1 [<em>version-number</em>]
|
||||
Target root partition: /dev/xvda2
|
||||
Proceed with installation? [s/N]
|
||||
Proceed with installation? [y/N]
|
||||
```
|
||||
7. Para las actualizaciones de aparato único, deshabilita el modo mantenimiento para que los usuarios puedan utilizar {% data variables.product.product_location %}.
|
||||
7. For single appliance upgrades, disable maintenance mode so users can use {% data variables.product.product_location %}.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: cuando se actualizan aparatos en configuración de alta disponibilidad, deberías mantener el modo mantenimiento hasta que hayas actualizado todas las réplicas y la replicación esté en curso. Para obtener más información, consulta "[Actualizar una instancia de réplica](#upgrading-a-replica-instance)."
|
||||
**Note**: When upgrading appliances in a High Availability configuration you should remain in maintenance mode until you have upgraded all of the replicas and replication is current. For more information, see "[Upgrading a replica instance](#upgrading-a-replica-instance)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Actualizar un aparato que tiene instancias de réplica utilizando un paquete de actualización
|
||||
### Upgrading an appliance that has replica instances using an upgrade package
|
||||
|
||||
Los aparatos configurados para alta disponibilidad y de replicación geográfica utilizan instancias de réplica además de las instancias principales. Para actualizar estos aparatos, necesitarás actualizar tanto la instancia principal y todas las instancias de réplica, una a la vez.
|
||||
Appliances configured for high-availability and geo-replication use replica instances in addition to primary instances. To upgrade these appliances, you'll need to upgrade both the primary instance and all replica instances, one at a time.
|
||||
|
||||
#### Actualizar la instancia principal
|
||||
#### Upgrading the primary instance
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** Cuando se detiene una replicación, si falla la primaria, se perderá cualquier trabajo que se realice antes de que la réplica esté actualizada y comience nuevamente la replicación.
|
||||
**Warning:** When replication is stopped, if the primary fails, any work that is done before the replica is upgraded and the replication begins again will be lost.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
1. En la instancia primaria, habilita el modo mantenimiento y espera a que se completen todos los procesos activos. Para obtener más información, consulta "[Habilitar el modo mantenimiento](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode/)."
|
||||
1. On the primary instance, enable maintenance mode and wait for all active processes to complete. For more information, see "[Enabling maintenance mode](/enterprise/{{ currentVersion }}/admin/guides/installation/enabling-and-scheduling-maintenance-mode/)."
|
||||
{% data reusables.enterprise_installation.replica-ssh %}
|
||||
3. En la instancia de réplica, o en todas las instancias de réplica si estás ejecutando múltiples instancias de réplica como parte de una replicación geográfica, ejecuta `ghe-repl-stop` para detener la replicación.
|
||||
4. Actualiza la instancia primaria siguiendo las instrucciones en "[Actualizar un aparato único con un paquete de actualización](#upgrading-a-single-appliance-with-an-upgrade-package)."
|
||||
3. On the replica instance, or on all replica instances if you're running multiple replica instances as part of geo-replication, run `ghe-repl-stop` to stop replication.
|
||||
4. Upgrade the primary instance by following the instructions in "[Upgrading a single appliance with an upgrade package](#upgrading-a-single-appliance-with-an-upgrade-package)."
|
||||
|
||||
#### Actualizar una instancia de réplica
|
||||
#### Upgrading a replica instance
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** si estás ejecutando múltiples instancias de réplica como parte de la replicación geográfica, repite este procedimiento para cada instancia de réplica, una a la vez.
|
||||
**Note:** If you're running multiple replica instances as part of geo-replication, repeat this procedure for each replica instance, one at a time.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
1. Actualiza la instancia de la réplica siguiendo las instrucciones en la sección "[Mejorar un solo aplicativo con un paquete de mejora](#upgrading-a-single-appliance-with-an-upgrade-package)". Si estás utilizando varias replicas para la replicación geográfica, deberás repetir este procedimiento para actualizar cada réplica una a la vez.
|
||||
1. Upgrade the replica instance by following the instructions in "[Upgrading a single appliance with an upgrade package](#upgrading-a-single-appliance-with-an-upgrade-package)." If you are using multiple replicas for Geo-replication, you must repeat this procedure to upgrade each replica one at a time.
|
||||
{% data reusables.enterprise_installation.replica-ssh %}
|
||||
{% data reusables.enterprise_installation.replica-verify %}
|
||||
|
||||
{% data reusables.enterprise_installation.start-replication %}
|
||||
|
||||
{% data reusables.enterprise_installation.replication-status %} Si el comando devuelve `La replicación no se está ejecutando`, la replicación puede estar comenzando. Espera alrededor de un minuto antes de volver a ejecutar `ghe-repl-status`.
|
||||
{% data reusables.enterprise_installation.replication-status %} If the command returns `Replication is not running`, the replication may still be starting. Wait about one minute before running `ghe-repl-status` again.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** mientras la resincronización está en progreso, `ghe-repl-status` puede devolver mensajes esperados que indiquen que la replicación está de forma subyacente.
|
||||
Por ejemplo: `CRITICO: la replicación de git está de forma subyacente de la primaria por más de 1007 repositorios o gists`
|
||||
**Note:** While the resync is in progress `ghe-repl-status` may return expected messages indicating that replication is behind.
|
||||
For example: `CRITICAL: git replication is behind the primary by more than 1007 repositories and/or gists`
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Si `ghe-repl-status` no devuelve `OK`, sigue los pasos de abajo para iniciar la replicación de forma manual.
|
||||
If `ghe-repl-status` did not return `OK`, contact {% data variables.contact.enterprise_support %}. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)."
|
||||
|
||||
6. When you have completed upgrading the last replica, and the resync is complete, disable maintenance mode so users can use {% data variables.product.product_location %}.
|
||||
|
||||
1. En la instancia de réplica, ejecuta nuevamente `ghe-repl-setup <primary-instance-ip>`.
|
||||
{% data reusables.enterprise_installation.start-replication %}
|
||||
{% data reusables.enterprise_installation.replication-status %}
|
||||
6. Cuando hayas completado la actualización de la última réplica, y se haya completado la resincronización, deshabilita el modo mantenimiento para que los usuarios puedan utilizar {% data variables.product.product_location %}.
|
||||
## Restoring from a failed upgrade
|
||||
|
||||
## Restaurar desde una actualización fallida
|
||||
If an upgrade fails or is interrupted, you should revert your instance back to its previous state. The process for completing this depends on the type of upgrade.
|
||||
|
||||
Si una actualización falla o se interrumpe, deberías revertir tu instancia a su estado anterior. El proceso para completar esto depende del tipo de actualización.
|
||||
### Rolling back a patch release
|
||||
|
||||
### Revertir un lanzamiento de patch
|
||||
To roll back a patch release, use the `ghe-upgrade` command with the `--allow-patch-rollback` switch. {% data reusables.enterprise_installation.command-line-utilities-ghe-upgrade-rollback %}
|
||||
|
||||
Para volver a lanzar una versión de parche, usa el comando `ghe-upgrade` con el comando `--allow-patch-rollback` switch. {% data reusables.enterprise_installation.command-line-utilities-ghe-upgrade-rollback %}
|
||||
For more information, see "[Command-line utilities](/enterprise/{{ currentVersion }}/admin/guides/installation/command-line-utilities/#ghe-upgrade)."
|
||||
|
||||
Para obtener más información, consulta "[Herramientas de línea de comando](/enterprise/{{ currentVersion }}/admin/guides/installation/command-line-utilities/#ghe-upgrade)."
|
||||
### Rolling back a feature release
|
||||
|
||||
### Revertir un lanzamiento de característica
|
||||
|
||||
Para revertir un lanzamiento de característica, restaura desde una instantánea de VM para garantizar que las particiones raíz y de datos estén en un estado consistente. Para obtener más información, consulta "[Tomar una instantánea](#taking-a-snapshot)."
|
||||
To roll back from a feature release, restore from a VM snapshot to ensure that root and data partitions are in a consistent state. For more information, see "[Taking a snapshot](#taking-a-snapshot)."
|
||||
|
||||
{% ifversion ghes %}
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Acerca de las mejoras a los lanzamientos nuevos](/admin/overview/about-upgrades-to-new-releases)"
|
||||
- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca del soporte de GitHub Enterprise
|
||||
intro: '{% data variables.contact.github_support %} puede ayudarte a solucionar los problemas que se presenten en {% data variables.product.product_name %}.'
|
||||
title: About GitHub Enterprise Support
|
||||
intro: '{% data variables.contact.github_support %} can help you troubleshoot issues that arise on {% data variables.product.product_name %}.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/enterprise-support/about-github-enterprise-support
|
||||
- /admin/enterprise-support/about-github-enterprise-support
|
||||
@@ -11,84 +11,83 @@ type: overview
|
||||
topics:
|
||||
- Enterprise
|
||||
- Support
|
||||
shortTitle: Soporte para GitHub Enterprise
|
||||
shortTitle: GitHub Enterprise Support
|
||||
---
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: {% data reusables.support.data-protection-and-privacy %}
|
||||
**Note**: {% data reusables.support.data-protection-and-privacy %}
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Acerca de {% data variables.contact.enterprise_support %}
|
||||
## About {% data variables.contact.enterprise_support %}
|
||||
|
||||
{% data variables.product.product_name %} incluye {% data variables.contact.enterprise_support %} en inglés{% ifversion ghes %} y japonés{% endif %}.
|
||||
{% data variables.product.product_name %} includes {% data variables.contact.enterprise_support %} in English{% ifversion ghes %} and Japanese{% endif %}.
|
||||
|
||||
{% ifversion ghes %}
|
||||
Puedes contactar al {% data variables.contact.enterprise_support %} a través del {% data variables.contact.contact_enterprise_portal %} para obtener ayuda con:
|
||||
- Instalar y usar {% data variables.product.product_name %}
|
||||
- Inspeccionar y verificar las causas de errores sospechados
|
||||
You can contact {% data variables.contact.enterprise_support %} through {% data variables.contact.contact_enterprise_portal %} for help with:
|
||||
- Installing and using {% data variables.product.product_name %}
|
||||
- Identifying and verifying the causes of suspected errors
|
||||
|
||||
Adicionalmente a los beneficios de {% data variables.contact.enterprise_support %}, el soporte de {% data variables.contact.premium_support %} para {% data variables.product.product_name %} te ofrece:
|
||||
- Soporte técnico por escrito a través del portal de soporte de 24 horas por día, los 7 días de la semana
|
||||
- Soporte técnico telefónico las 24 horas del día, los 7 días de la semana
|
||||
- Un Acuerdo de nivel de servicio (SLA) con tiempos de respuesta iniciales garantizados.
|
||||
- Ingenieros de Confianza para el Cliente
|
||||
- Acceso a contenido prémium.
|
||||
- Revisiones de estado programadas.
|
||||
- Horas administrativas administradas
|
||||
In addition to all of the benefits of {% data variables.contact.enterprise_support %}, {% data variables.contact.premium_support %} support for {% data variables.product.product_name %} offers:
|
||||
- Written support through our support portal 24 hours per day, 7 days per week
|
||||
- Phone support 24 hours per day, 7 days per week
|
||||
- A Service Level Agreement (SLA) with guaranteed initial response times
|
||||
- Customer Reliability Engineers
|
||||
- Access to premium content
|
||||
- Scheduled health checks
|
||||
- Managed Admin hours
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
Para obtener más información, consulta "[Acerca de{% data variables.contact.premium_support %} para {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)".
|
||||
For more information, see "[About {% data variables.contact.premium_support %} for {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)."
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.support.scope-of-support %}
|
||||
|
||||
## Ponerte en contacto con {% data variables.contact.enterprise_support %}
|
||||
## Contacting {% data variables.contact.enterprise_support %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
{% data reusables.support.zendesk-deprecation %}
|
||||
{% data reusables.support.zendesk-old-tickets %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
Puedes contactar a {% data variables.contact.enterprise_support %} a través del {% ifversion ghes %}{% data variables.contact.contact_enterprise_portal %}{% elsif ghae %} del {% data variables.contact.ae_azure_portal %}{% endif %} para reportar los problemas por escrito. Para obtener más información, consulta la sección "[Recibir ayuda de {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)".
|
||||
You can contact {% data variables.contact.enterprise_support %} through {% ifversion ghes %}{% data variables.contact.contact_enterprise_portal %}{% elsif ghae %} the {% data variables.contact.ae_azure_portal %}{% endif %} to report issues in writing. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)."
|
||||
|
||||
{% ifversion ghes %}
|
||||
## Horas de operación
|
||||
## Hours of operation
|
||||
|
||||
### Soporte en inglés
|
||||
### Support in English
|
||||
|
||||
Para cuestiones estándar no urgentes, ofrecemos soporte en inglés las 24 horas del día, 5 días a la semana, excepto fines de semana y feriados nacionales de EE.UU. El tiempo de respuesta estándar es 24 horas.
|
||||
For standard non-urgent issues, we offer support in English 24 hours per day, 5 days per week, excluding weekends and national U.S. holidays. The standard response time is 24 hours.
|
||||
|
||||
Para asuntos urgentes, estamos disponibles las 24 horas del día, 7 días a la semana, incluso en días feriados de EE.UU.
|
||||
For urgent issues, we are available 24 hours per day, 7 days per week, even during national U.S. holidays.
|
||||
|
||||
### Soporte en japonés
|
||||
### Support in Japanese
|
||||
|
||||
Para cuestiones no urgentes, el soporte en japonés se encuentra disponible de lunes a viernes, de 9:00 a.m. a 5:00 p.m. (hora estándar en Japón), excepto los feriados nacionales en Japón. Para cuestiones urgentes, ofrecemos apoyo en inglés 24 horas al día, 7 días por semana, incluso durante las vacaciones nacionales de EE.UU.
|
||||
For non-urgent issues, support in Japanese is available Monday through Friday from 9:00 AM to 5:00 PM JST, excluding national holidays in Japan. For urgent issues, we offer support in English 24 hours per day, 7 days per week, even during national U.S. holidays.
|
||||
|
||||
Para obtener una lista de los días feriados nacionales de EE. UU. Para conocer una lista de los feriados nacionales de EE. UU. y Japón observados por {% data variables.contact.enterprise_support %}, consulta el [Cronograma de feriados](#holiday-schedules)".
|
||||
For a complete list of U.S. and Japanese national holidays observed by {% data variables.contact.enterprise_support %}, see "[Holiday schedules](#holiday-schedules)."
|
||||
|
||||
## Cronograma de feriados
|
||||
## Holiday schedules
|
||||
|
||||
Para asuntos urgentes, podemos ofrecerte ayudaeninglés 24 horas al día, 7 días por semana, incluyendo los días feriados de EE.UU. y Japón.
|
||||
For urgent issues, we can help you in English 24 hours per day, 7 days per week, including on U.S. and Japanese holidays.
|
||||
|
||||
### Feriados en los Estados Unidos
|
||||
### Holidays in the United States
|
||||
|
||||
{% data variables.contact.enterprise_support %} observa estos días festivos en Estados Unidos. {{ site.data.variables.contact.enterprise_support }} respeta estos días feriados en los EE.UU, aunque nuestro equipo de soporte global se encuentra disponible para atender tickets urgentes.
|
||||
{% data variables.contact.enterprise_support %} observes these U.S. holidays, although our global support team is available to answer urgent tickets.
|
||||
|
||||
{% data reusables.enterprise_enterprise_support.support-holiday-availability %}
|
||||
|
||||
### Feriados en Japón
|
||||
### Holidays in Japan
|
||||
|
||||
{% data variables.contact.enterprise_support %} no proporciona soporte en idioma japonés desde el 28 de diciembre hasta el 3 de enero, así como en los días feriados listados en [国民の祝日について - 内閣府](https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html).
|
||||
{% data variables.contact.enterprise_support %} does not provide Japanese-language support on December 28th through January 3rd as well as on the holidays listed in [国民の祝日について - 内閣府](https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html).
|
||||
|
||||
{% data reusables.enterprise_enterprise_support.installing-releases %}
|
||||
{% endif %}
|
||||
|
||||
## Asignar una prioridad a un ticket de soporte
|
||||
## Assigning a priority to a support ticket
|
||||
|
||||
Cuando contactas a {% data variables.contact.enterprise_support %}, puedes escoger una de cuatro prioridades para el ticket: {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, o{% data variables.product.support_ticket_priority_low %}.
|
||||
When you contact {% data variables.contact.enterprise_support %}, you can choose one of four priorities for the ticket: {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}.
|
||||
|
||||
{% data reusables.support.github-can-modify-ticket-priority %}
|
||||
|
||||
@@ -98,14 +97,14 @@ Cuando contactas a {% data variables.contact.enterprise_support %}, puedes escog
|
||||
{% data reusables.support.ghae-priorities %}
|
||||
{% endif %}
|
||||
|
||||
## Resolver y cerrar tickets de soporte
|
||||
## Resolving and closing support tickets
|
||||
|
||||
{% data reusables.support.enterprise-resolving-and-closing-tickets %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
{% ifversion ghes %}
|
||||
- Sección 10 sobre soporte en el "[Acuerdo de licencia de {% data variables.product.prodname_ghe_server %}](https://enterprise.github.com/license)"{% endif %}
|
||||
- "[recibir ayuda de {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)"{% ifversion ghes %}
|
||||
- "[Prepararse para emitir un ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)"{% endif %}
|
||||
- [Enviar un ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)"
|
||||
- Section 10 on Support in the "[{% data variables.product.prodname_ghe_server %} License Agreement](https://enterprise.github.com/license)"{% endif %}
|
||||
- "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)"{% ifversion ghes %}
|
||||
- "[Preparing to submit a ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)"{% endif %}
|
||||
- "[Submitting a ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca del soporte para Advanced Security
|
||||
intro: '{% data variables.contact.enterprise_support %} puede ayudarte a solucionar problemas que encuentras mientras usas {% data variables.product.prodname_advanced_security %}.'
|
||||
title: About support for Advanced Security
|
||||
intro: '{% data variables.contact.enterprise_support %} can help you troubleshoot issues you run into while using {% data variables.product.prodname_advanced_security %}.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/enterprise-support/about-support-for-advanced-security
|
||||
- /admin/enterprise-support/about-support-for-advanced-security
|
||||
@@ -10,68 +10,67 @@ type: overview
|
||||
topics:
|
||||
- Enterprise
|
||||
- Support
|
||||
shortTitle: Compatibilidad con la Seguridad Avanzada
|
||||
shortTitle: Support for Advanced Security
|
||||
---
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: {% data reusables.support.data-protection-and-privacy %}
|
||||
**Note**: {% data reusables.support.data-protection-and-privacy %}
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Acerca del soporte para {% data variables.product.prodname_advanced_security %}
|
||||
## About support for {% data variables.product.prodname_advanced_security %}
|
||||
|
||||
{% data variables.product.prodname_advanced_security %} incluye {% data variables.contact.enterprise_support %} en inglés, por correo electrónico.
|
||||
{% data variables.product.prodname_advanced_security %} includes {% data variables.contact.enterprise_support %} in English, by email.
|
||||
|
||||
## Alcance del soporte técnico
|
||||
## Scope of support
|
||||
|
||||
Si tu solicitud de soporte técnico está fuera del alcance de lo que puede hacer nuestro equipo para ayudarte, podemos recomendarte los siguientes pasos para resolver el problema por fuera del {% data variables.contact.enterprise_support %}. Es probable que tu solicitud de soporte técnico esté fuera del alcance del {% data variables.contact.enterprise_support %} si se trata principalmente de lo siguiente:
|
||||
- Integraciones de terceros
|
||||
- Configuración del hardware
|
||||
- Configuración de sistemas externos
|
||||
- Proyectos de código abierto
|
||||
- Creando proyectos o repositorios
|
||||
- Diseño de cluster LGTM
|
||||
- Crear o depurar el código de nuevas consultas para {% data variables.product.prodname_codeql %}
|
||||
If your support request is outside of the scope of what our team can help you with, we may recommend next steps to resolve your issue outside of {% data variables.contact.enterprise_support %}. Your support request is possibly out of {% data variables.contact.enterprise_support %}'s scope if it's primarily about:
|
||||
- Third party integrations
|
||||
- Hardware setup
|
||||
- Configuration of external systems
|
||||
- Open source projects
|
||||
- Building projects or repositories
|
||||
- LGTM cluster design
|
||||
- Writing or debugging new queries for {% data variables.product.prodname_codeql %}
|
||||
|
||||
Si no estás seguro de si el problema está fuera de nuestro alcance, abre un ticket y nos complacerá ayudarte a determinar la mejor manera de continuar.
|
||||
If you're uncertain if the issue is out of scope, open a ticket and we're happy to help you determine the best way to proceed.
|
||||
|
||||
## Ponerte en contacto con {% data variables.contact.enterprise_support %}
|
||||
## Contacting {% data variables.contact.enterprise_support %}
|
||||
|
||||
{% data reusables.support.zendesk-deprecation %}
|
||||
{% data reusables.support.zendesk-old-tickets %}
|
||||
|
||||
Puedes ponerte en contacto con {% data variables.contact.enterprise_support %} a través de {% data variables.contact.contact_enterprise_portal %} para obtener ayuda:
|
||||
- Instalar y usar {% data variables.product.prodname_advanced_security %}
|
||||
- Identificar y verificar las causas de los errores soportados
|
||||
You can contact {% data variables.contact.enterprise_support %} through the {% data variables.contact.contact_enterprise_portal %} for help with:
|
||||
- Installing and using {% data variables.product.prodname_advanced_security %}
|
||||
- Identifying and verifying the causes of supported errors
|
||||
|
||||
## Horas de operación
|
||||
## Hours of operation
|
||||
|
||||
Ofrecemos soporte para {% data variables.product.prodname_advanced_security %} en Inglés 24 horas al día, 5 días a la semana, excluyendo fines de semana y días festivos en Estados Unidos. EE.UU. El tiempo de respuesta estándar es de 1 día hábil.
|
||||
We offer support for {% data variables.product.prodname_advanced_security %} in English 24 hours per day, 5 days per week, excluding weekends and national U.S. holidays. The standard response time is 1 business day.
|
||||
|
||||
## Cronograma de feriados
|
||||
## Holiday schedule
|
||||
|
||||
{% data variables.contact.enterprise_support %} observa estos días festivos en Estados Unidos. EE.UU.
|
||||
{% data variables.contact.enterprise_support %} observes these U.S. holidays.
|
||||
|
||||
|
||||
{% data reusables.enterprise_enterprise_support.support-holiday-availability %}
|
||||
|
||||
|
||||
## Instalando actualizaciones de {% data variables.product.prodname_advanced_security %}
|
||||
## Installing {% data variables.product.prodname_advanced_security %} updates
|
||||
|
||||
Para asegurarse de que su instancia {% data variables.product.prodname_advanced_security %} es estable, debe instalar e implementar nuevas versiones cuando estén disponibles. Esto asegura que tengas las últimas características, modificaciones y mejoras así como cualquier actualización de las características, correcciones de código, parches u otras actualizaciones generales y correcciones para {% data variables.product.prodname_advanced_security %}.
|
||||
To ensure that your {% data variables.product.prodname_advanced_security %} instance is stable, you must install and implement new releases when they are made available. This ensures that you have the latest features, modifications, and enhancements as well as any updates to features, code corrections, patches, or other general updates and fixes to {% data variables.product.prodname_advanced_security %}.
|
||||
|
||||
## Asignar una prioridad a un ticket de soporte
|
||||
## Assigning a priority to a support ticket
|
||||
|
||||
Cuando contactas a {% data variables.contact.enterprise_support %} para obtener ayuda con {% data variables.product.prodname_advanced_security %}, puedes escoger una de tres prioridades para el ticket: {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, o {% data variables.product.support_ticket_priority_low %}.
|
||||
When you contact {% data variables.contact.enterprise_support %} for help with {% data variables.product.prodname_advanced_security %}, you can choose one of three priorities for the ticket: {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}.
|
||||
|
||||
{% data reusables.support.github-can-modify-ticket-priority %}
|
||||
|
||||
| Prioridad | Descripción |
|
||||
|:-------------------------------------------------------------:| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| {% data variables.product.support_ticket_priority_high %} | {% data variables.product.prodname_advanced_security %} no funciona o se detiene o se ve gravemente afectado de tal manera que el usuario final no puede seguir utilizando el software razonablemente y no hay solución disponible para solucionar el problema. |
|
||||
| {% data variables.product.support_ticket_priority_normal %} | {% data variables.product.prodname_advanced_security %} está funcionando de forma inconsistente, lo que provoca un deterioro de la productividad y el uso del usuario final. |
|
||||
| {% data variables.product.support_ticket_priority_low %} | {% data variables.product.prodname_advanced_security %} funciona consistentemente, pero el usuario final solicita cambios menores en el software, tales como actualizaciones de documentación, defectos cosméticos o mejoras. |
|
||||
| Priority | Description |
|
||||
| :---: | --- |
|
||||
| {% data variables.product.support_ticket_priority_high %} | {% data variables.product.prodname_advanced_security %} is not functioning or is stopped or severely impacted such that the end user cannot reasonably continue use of the software and no workaround is available. |
|
||||
| {% data variables.product.support_ticket_priority_normal %} | {% data variables.product.prodname_advanced_security %} is functioning inconsistently, causing impaired end user usage and productivity. |
|
||||
| {% data variables.product.support_ticket_priority_low %} | {% data variables.product.prodname_advanced_security %} is functioning consistently, but the end user requests minor changes in the software, such as documentation updates, cosmetic defects, or enhancements.|
|
||||
|
||||
## Resolver y cerrar tickets de soporte
|
||||
## Resolving and closing support tickets
|
||||
|
||||
{% data reusables.support.enterprise-resolving-and-closing-tickets %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Obtener soporte de GitHub
|
||||
intro: 'Contacta a {% data variables.contact.enterprise_support %} utilizando la {% ifversion ghes %}{% data variables.product.prodname_ghe_server %}{% data variables.enterprise.management_console %} o {% endif %} el portal de soporte.'
|
||||
title: Reaching GitHub Support
|
||||
intro: 'Contact {% data variables.contact.enterprise_support %} using the {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or{% endif %} the support portal.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/guides/enterprise-support/reaching-github-enterprise-support/
|
||||
- /enterprise/admin/enterprise-support/reaching-github-support
|
||||
@@ -12,49 +12,47 @@ topics:
|
||||
- Enterprise
|
||||
- Support
|
||||
---
|
||||
## Using automated ticketing systems
|
||||
|
||||
## Usar sistemas de tickets automatizado
|
||||
Though we'll do our best to respond to automated support requests, we typically need more information than an automated ticketing system can give us to solve your issue. Whenever possible, please initiate support requests from a person or machine that {% data variables.contact.enterprise_support %} can interact with. For more information, see "[Preparing to submit a ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)."
|
||||
|
||||
Si bien haremos todo lo mejor por responder a solicitudes de soporte automatizado, habitualmente necesitamos más información que un sistema de tickets automatizado que nos permita resolver tu problema. Siempre que sea posible, inicia las solicitudes de soporte de una persona o una máquina con la que {% data variables.contact.enterprise_support %} pueda interactuar. Para obtener más información, consulta "[Prepararse para enviar un ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)".
|
||||
## Contacting {% data variables.contact.enterprise_support %}
|
||||
|
||||
## Ponerte en contacto con {% data variables.contact.enterprise_support %}
|
||||
{% data reusables.support.zendesk-old-tickets %}
|
||||
|
||||
{% data reusables.support.zendesk-deprecation %}
|
||||
|
||||
Los clientes de {% data variables.contact.enterprise_support %} pueden abrir un ticket de soporte utilizando la {% ifversion ghes %}{% data variables.product.prodname_ghe_server %}{% data variables.enterprise.management_console %} o el {% data variables.contact.contact_enterprise_portal %}{% elsif ghae %} el {% data variables.contact.contact_ae_portal %}{% endif %}. Marca la prioridad del ticket como {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, o {% data variables.product.support_ticket_priority_low %}. Para obtener más información, consulta la sección "[Asignar una prioridad al ticket de soporte](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support#assigning-a-priority-to-a-support-ticket)" y "[Emitir un ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)".
|
||||
|
||||
## Ponerte en contacto con {% data variables.contact.enterprise_support %}
|
||||
{% data variables.contact.enterprise_support %} customers can open a support ticket using the {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or the {% data variables.contact.contact_enterprise_portal %}{% elsif ghae %} the {% data variables.contact.contact_ae_portal %}{% endif %}. For more information, see "[Submitting a ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)."
|
||||
|
||||
{% ifversion ghes %}
|
||||
### Ver tickets de soporte anteriores
|
||||
|
||||
Puedes usar el {% data variables.contact.enterprise_portal %} para ver tickets de soporte anteriores.
|
||||
## Contacting {% data variables.contact.premium_support %}
|
||||
|
||||
1. Navegar por el {% data variables.contact.contact_enterprise_portal %}.
|
||||
2. Da clic en **Mist tickets**. 
|
||||
{% data variables.contact.enterprise_support %} customers can open a support ticket using the {% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or the {% data variables.contact.contact_enterprise_portal %}. Mark its priority as {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}. For more information, see "[Assigning a priority to a support ticket](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server#assigning-a-priority-to-a-support-ticket)" and "[Submitting a ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)."
|
||||
|
||||
## Comunicarse con {% data variables.contact.premium_support %}
|
||||
### Viewing past support tickets
|
||||
|
||||
Los clientes de {% data variables.contact.enterprise_support %} pueden abrir un ticket de soporte mediante {% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} o {% data variables.contact.contact_enterprise_portal %}. Marca su prioridad como {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, o {% data variables.product.support_ticket_priority_low %}. Para obtener más información, consulta la sección "[Asignar una prioridad al ticket de soporte](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server#assigning-a-priority-to-a-support-ticket)" y "[Emitir un ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)".
|
||||
You can use the {% data variables.contact.enterprise_portal %} to view past support tickets.
|
||||
|
||||
1. Navigate to the {% data variables.contact.contact_enterprise_portal %}.
|
||||
2. Click **My tickets**.
|
||||
|
||||
{% endif %}
|
||||
## Contacto de ventas
|
||||
## Contacting sales
|
||||
|
||||
Para las preguntas relacionadas con precios, licenciamiento, renovaciones, cotizaciones, pagos y otras relacionadas, contacta a {% data variables.contact.contact_enterprise_sales %} o llama al [+1 (877) 448-4820](tel:+1-877-448-4820).
|
||||
For pricing, licensing, renewals, quotes, payments, and other related questions, contact {% data variables.contact.contact_enterprise_sales %} or call [+1 (877) 448-4820](tel:+1-877-448-4820).
|
||||
|
||||
{% ifversion ghes %}
|
||||
## Contacto de capacitación
|
||||
## Contacting training
|
||||
|
||||
Para conocer más sobre las opciones de capacitación, incluida la capacitación personalizada, consulta el sitio de capacitación de [{% data variables.product.company_short %}](https://services.github.com/).
|
||||
To learn more about training options, including customized trainings, see [{% data variables.product.company_short %}'s training site](https://services.github.com/).
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** La capacitación está incluida en el {% data variables.product.premium_plus_support_plan %}. Para obtener más información, consulta "[Acerca de{% data variables.contact.premium_support %} para {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)".
|
||||
**Note:** Training is included in the {% data variables.product.premium_plus_support_plan %}. For more information, see "[About {% data variables.contact.premium_support %} for {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)."
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Acerca de {% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support)"
|
||||
- "[Acerca de {% data variables.contact.premium_support %} para {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)".
|
||||
- "[About {% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support)"
|
||||
- "[About {% data variables.contact.premium_support %} for {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Envío de ticket
|
||||
intro: 'Puedes emitir un ticket de soporte utilizando la {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} o el portal de soporte {% elsif ghae %}{% data variables.contact.ae_azure_portal %}{% endif %}.'
|
||||
title: Submitting a ticket
|
||||
intro: 'You can submit a support ticket using {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or the support portal{% elsif ghae %}{% data variables.contact.ae_azure_portal %}{% endif %}.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/enterprise-support/submitting-a-ticket
|
||||
- /admin/enterprise-support/submitting-a-ticket
|
||||
@@ -12,76 +12,65 @@ topics:
|
||||
- Enterprise
|
||||
- Support
|
||||
---
|
||||
|
||||
## Acerca del envío de tickets
|
||||
## About submitting a ticket
|
||||
|
||||
{% ifversion ghae %}
|
||||
|
||||
Puedes emitir un ticket de soporte con {% data variables.product.prodname_ghe_managed %} desde el {% data variables.contact.ae_azure_portal %}.
|
||||
You can submit a ticket for support with {% data variables.product.prodname_ghe_managed %} from the {% data variables.contact.ae_azure_portal %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
Antes de enviar un ticket, deberías recopilar información útil para {% data variables.contact.github_support %} y elegir una persona de contacto. Para obtener más información, consulta "[Prepararse para enviar un ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)".
|
||||
Before submitting a ticket, you should gather helpful information for {% data variables.contact.github_support %} and choose a contact person. For more information, see "[Preparing to submit a ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)."
|
||||
|
||||
{% ifversion ghes %}
|
||||
Después de enviar una solicitud de soporte e información de diagnóstico opcional, {% data variables.contact.github_support %} puede solicitarte que descargues y compartas un paquete de soporte con nosotros. Para obtener más información, consulta "[Proporcionar datos a {% data variables.contact.github_support %}](/enterprise/admin/guides/enterprise-support/providing-data-to-github-support)".
|
||||
After submitting your support request and optional diagnostic information, {% data variables.contact.github_support %} may ask you to download and share a support bundle with us. For more information, see "[Providing data to {% data variables.contact.github_support %}](/enterprise/admin/guides/enterprise-support/providing-data-to-github-support)."
|
||||
|
||||
## Emitir un ticket utilizando el {% data variables.contact.enterprise_portal %}
|
||||
## Submitting a ticket using the {% data variables.contact.enterprise_portal %}
|
||||
|
||||
{% data reusables.support.zendesk-deprecation %}
|
||||
{% data reusables.support.zendesk-old-tickets %}
|
||||
|
||||
1. Navegar por el {% data variables.contact.contact_enterprise_portal %}.
|
||||
5. Da clic en **Emite un Ticket** 
|
||||
{% data reusables.enterprise_enterprise_support.submit-support-ticket-first-section %}
|
||||
{% data reusables.enterprise_enterprise_support.submit-support-ticket-second-section %}
|
||||
To submit a ticket about {% data variables.product.product_location_enterprise %}, you must be an owner, billing manager, or member with support entitlement. For more information, see "[Managing support entitlements for your enterprise](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)."
|
||||
|
||||
## Emitir un ticket utilizando tu cuenta empresarial
|
||||
If you cannot sign in to your account on {% data variables.product.prodname_dotcom_the_website %} or do not have support entitlement, you can still submit a ticket by providing your license or a diagnostics file from your server.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
3. En la barra lateral izquierda, da clic en **Licenciamiento empresarial**. 
|
||||
4. Debajo de "Ayuda de {% data variables.product.prodname_enterprise %}", da clic en **Portal de {% data variables.contact.enterprise_support %}**. 
|
||||
5. Da clic en **Emite un Ticket** 
|
||||
{% data reusables.enterprise_enterprise_support.submit-support-ticket-first-section %}
|
||||
{% data reusables.enterprise_enterprise_support.submit-support-ticket-second-section %}
|
||||
1. Navigate to the {% data variables.contact.contact_support_portal %}.
|
||||
{% data reusables.support.submit-a-ticket %}
|
||||
|
||||
## Enviar un ticket mediante el {% data variables.product.product_name %} {% data variables.enterprise.management_console %}
|
||||
## Submitting a ticket using the {% data variables.product.product_name %} {% data variables.enterprise.management_console %}
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
{% data reusables.enterprise_management_console.type-management-console-password %}
|
||||
{% data reusables.enterprise_management_console.support-link %}
|
||||
5. Si deseas incluir los diagnósticos con tu ticket de soporte, en "Diagnostics" (Diagnóstico), haz clic en **Download diagnostic info** (Descargar información de diagnóstico) y guarda el archivo localmente. Adjuntarás este archivo a tu ticket de soporte posteriormente. 
|
||||
6. En "Open Support Request" (Abrir solicitud de soporte", haz clic en **New support request** (Nueva solicitud de soporte). 
|
||||
5. Da clic en **Emite un Ticket** 
|
||||
{% data reusables.enterprise_enterprise_support.submit-support-ticket-first-section %}
|
||||
14. Para incluir los diagnósticos con tu ticket de soporte, haz clic en **Add file** (Agregar archivo), luego adjunta el archivo de diagnóstico que descargaste. 
|
||||
{% data reusables.enterprise_enterprise_support.submit-support-ticket-second-section %}
|
||||
7. Haz clic en **Submit** (enviar).
|
||||
5. If you'd like to include diagnostics with your support ticket, Under "Diagnostics", click **Download diagnostic info** and save the file locally. You'll attach this file to your support ticket later.
|
||||

|
||||
6. To complete your ticket and display the {% data variables.contact.enterprise_portal %}, under "Open Support Request", click **New support request**.
|
||||

|
||||
{% data reusables.support.submit-a-ticket %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghae %}
|
||||
|
||||
## Prerrequisitos
|
||||
## Prerequisites
|
||||
|
||||
Para emitir un ticket para {% data variables.product.prodname_ghe_managed %} en el {% data variables.contact.ae_azure_portal %}, debes proporcionar la ID para tu suscripción de {% data variables.product.prodname_ghe_managed %} en Azure a tu Administrador de Cuentas y Satisfacción del Cliente (CSAM, por sus siglas en inglés) en Microsoft.
|
||||
To submit a ticket for {% data variables.product.prodname_ghe_managed %} in the {% data variables.contact.ae_azure_portal %}, you must provide the ID for your {% data variables.product.prodname_ghe_managed %} subscription in Azure to your Customer Success Account Manager (CSAM) at Microsoft.
|
||||
|
||||
## Enviar un ticket mediante el {% data variables.contact.ae_azure_portal %}
|
||||
## Submitting a ticket using the {% data variables.contact.ae_azure_portal %}
|
||||
|
||||
Los clientes comerciales pueden emitir una solicitud de soporte en el {% data variables.contact.contact_ae_portal %}. Los clientes de gobierno deben utilizar el [portal de Azure para clientes de gobierno](https://portal.azure.us/#blade/Microsoft_Azure_Support/HelpAndSupportBlade). Para obtener más información, consulta la sección [Crear una solicitud de soporte de Azure](https://docs.microsoft.com/azure/azure-portal/supportability/how-to-create-azure-support-request) en los documentos de Microsoft.
|
||||
Commercial customers can submit a support request in the {% data variables.contact.contact_ae_portal %}. Government customers should use the [Azure portal for government customers](https://portal.azure.us/#blade/Microsoft_Azure_Support/HelpAndSupportBlade). For more information, see [Create an Azure support request](https://docs.microsoft.com/azure/azure-portal/supportability/how-to-create-azure-support-request) in the Microsoft Docs.
|
||||
|
||||
## Solución de problemas en el {% data variables.contact.ae_azure_portal %}
|
||||
## Troubleshooting problems in the {% data variables.contact.ae_azure_portal %}
|
||||
|
||||
{% data variables.product.company_short %} no puede solucionar los problemas de acceso y de suscripción en el portal de Azure. Para obtener ayuda con el protal de Azure, contacta a tu CSAM en Microsoft para revisar la siguiente información.
|
||||
{% data variables.product.company_short %} is unable to troubleshoot access and subscription issues in the Azure portal. For help with the Azure portal, contact your CSAM at Microsoft or review the following information.
|
||||
|
||||
- Si no puedes iniciar sesión en el portal de Azure, consulta la sección [Solución de problemas para el inicio de sesión en las suscripciones de Azure](https://docs.microsoft.com/en-US/azure/cost-management-billing/manage/troubleshoot-sign-in-issue) en los Documentos de Microsoft o [envía una solicitud directamente](https://support.microsoft.com/en-us/supportrequestform/84faec50-2cbc-9b8a-6dc1-9dc40bf69178).
|
||||
- If you cannot sign into the Azure portal, see [Troubleshoot Azure subscription sign-in issues](https://docs.microsoft.com/en-US/azure/cost-management-billing/manage/troubleshoot-sign-in-issue) in the Microsoft Docs or [submit a request directly](https://support.microsoft.com/en-us/supportrequestform/84faec50-2cbc-9b8a-6dc1-9dc40bf69178).
|
||||
|
||||
- Si puedes iniciar sesión en el portal de Azure, pero no puedes emitir un ticket para {% data variables.product.prodname_ghe_managed %}, revisa los prerequisitos para emitir un ticket. Para obtener más información, consulta la sección "[Prerrequisitos](#prerequisites)".
|
||||
- If you can sign into the Azure portal but you cannot submit a ticket for {% data variables.product.prodname_ghe_managed %}, review the prerequisites for submitting a ticket. For more information, see "[Prerequisites](#prerequisites)".
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Acerca de {% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support)"{% ifversion ghes %}
|
||||
- "[Acerca de {% data variables.contact.premium_support %} para {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)".{% endif %}
|
||||
- "[About {% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support)"{% ifversion ghes %}
|
||||
- "[About {% data variables.contact.premium_support %} for {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)."{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Solucionar problemas en las GitHub Actions de tu empresa
|
||||
intro: 'Solucionar problemas comunes que ocurren cuando se utilizan {% data variables.product.prodname_actions %} en {% data variables.product.prodname_ghe_server %}.'
|
||||
title: Troubleshooting GitHub Actions for your enterprise
|
||||
intro: 'Troubleshooting common issues that occur when using {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}.'
|
||||
permissions: 'Site administrators can troubleshoot {% data variables.product.prodname_actions %} issues and modify {% data variables.product.prodname_ghe_server %} configurations.'
|
||||
versions:
|
||||
ghes: '*'
|
||||
@@ -11,69 +11,68 @@ topics:
|
||||
- Troubleshooting
|
||||
redirect_from:
|
||||
- /admin/github-actions/troubleshooting-github-actions-for-your-enterprise
|
||||
shortTitle: Solucionar problemas de las GitHub Actions
|
||||
shortTitle: Troubleshoot GitHub Actions
|
||||
---
|
||||
## Configuring self-hosted runners when using a self-signed certificate for {% data variables.product.prodname_ghe_server %}
|
||||
|
||||
## Configurar los ejecutores auto-hospedados cuando utilizas un certificado auto-firmado para {% data variables.product.prodname_ghe_server %}
|
||||
{% data reusables.actions.enterprise-self-signed-cert %} For more information, see "[Configuring TLS](/admin/configuration/configuring-tls)."
|
||||
|
||||
{% data reusables.actions.enterprise-self-signed-cert %} Para obtener más información, consulta la sección "[Configurar TLS](/admin/configuration/configuring-tls)".
|
||||
### Installing the certificate on the runner machine
|
||||
|
||||
### Instalar el certificado en la máquina ejecutora
|
||||
For a self-hosted runner to connect to a {% data variables.product.prodname_ghe_server %} using a self-signed certificate, you must install the certificate on the runner machine so that the connection is security hardened.
|
||||
|
||||
Para que un ejecutor auto-hospedado se conecte a {% data variables.product.prodname_ghe_server %} utilizando un certificado auto-firmado, debes instalarlo en la máquina ejecutora para que la seguridad de la conexión se fortalezca.
|
||||
For the steps required to install a certificate, refer to the documentation for your runner's operating system.
|
||||
|
||||
Para encontrar los pasos necesarios para instalar un certificado, refiérete a la documentación del sistema operativo de tu ejecutor.
|
||||
### Configuring Node.JS to use the certificate
|
||||
|
||||
### Configurar Node.JS para utilizar el certificado
|
||||
Most actions are written in JavaScript and run using Node.js, which does not use the operating system certificate store. For the self-hosted runner application to use the certificate, you must set the `NODE_EXTRA_CA_CERTS` environment variable on the runner machine.
|
||||
|
||||
La mayoría de las acciones se escriben en JavaScript y se ejecutan utilizando Node.js, lo cual no utiliza el almacenamiento del certificado del sistema operativo. Para que la aplicación ejecutora auto-hospedada utilice el certificado, debes configurar la variable de ambiente `NODE_EXTRA_CA_CERTS` en la máquina ejecutora.
|
||||
You can set the environment variable as a system environment variable, or declare it in a file named _.env_ in the self-hosted runner application directory.
|
||||
|
||||
Puedes configurar la variable de ambiente como una variable de ambiente de sistema, o declararla en un archivo que se llame _.env_ en el directorio de aplicaciones del ejecutor auto-hospedado.
|
||||
|
||||
Por ejemplo:
|
||||
For example:
|
||||
|
||||
```shell
|
||||
NODE_EXTRA_CA_CERTS=/usr/share/ca-certificates/extra/mycertfile.crt
|
||||
```
|
||||
|
||||
Las variables de ambiente se leen cuando la aplicación ejecutora auto-hospedada inicia, así que debes configurar la variable de ambiente antes de configurar o iniciar la aplicación ejecutora auto-hospedada. Si cambia la configuración de tu certificado, debes reiniciar la aplicación ejecutora auto-hospedada.
|
||||
Environment variables are read when the self-hosted runner application starts, so you must set the environment variable before configuring or starting the self-hosted runner application. If your certificate configuration changes, you must restart the self-hosted runner application.
|
||||
|
||||
### Configurar los contenedores de Docker para que utilicen el certificado
|
||||
### Configuring Docker containers to use the certificate
|
||||
|
||||
Si utilizas las acciones de contenedor de Docker o los contenedores de servicio en tus flujos de trabajo, puede que también necesites instalar el certificado en tu imagen de Docker adicionalmente a configurar la variable de ambiente anterior.
|
||||
If you use Docker container actions or service containers in your workflows, you might also need to install the certificate in your Docker image in addition to setting the above environment variable.
|
||||
|
||||
## Configurar los ajustes de proxy HTTP para {% data variables.product.prodname_actions %}
|
||||
## Configuring HTTP proxy settings for {% data variables.product.prodname_actions %}
|
||||
|
||||
{% data reusables.actions.enterprise-http-proxy %}
|
||||
|
||||
Si estos ajustes no se configuran adecuadamente, podrías recibir errores tales como `Resource unexpectedly moved to https://<IP_ADDRESS>` cuando ajustes o cambies tu configuración de {% data variables.product.prodname_actions %}.
|
||||
If these settings aren't correctly configured, you might receive errors like `Resource unexpectedly moved to https://<IP_ADDRESS>` when setting or changing your {% data variables.product.prodname_actions %} configuration.
|
||||
|
||||
## Los ejecutores no se conectan a {% data variables.product.prodname_ghe_server %} después de cambiar el nombre de host
|
||||
## Runners not connecting to {% data variables.product.prodname_ghe_server %} after changing the hostname
|
||||
|
||||
Si cambias el nombre de host de {% data variables.product.product_location %}, los ejecutores auto-hospedados no podrán conectarse al nombre de host antiguo y no podrán ejecutar ningún job.
|
||||
If you change the hostname of {% data variables.product.product_location %}, self-hosted runners will be unable to connect to the old hostname, and will not execute any jobs.
|
||||
|
||||
Necesitarás actualizar la configuración de tus ejecutores auto-hospedados para utilizar el nuevo nombre de host para {% data variables.product.product_location %}. Cada ejecutor auto-hospedado necesitará alguno de los siguientes procedimientos:
|
||||
You will need to update the configuration of your self-hosted runners to use the new hostname for {% data variables.product.product_location %}. Each self-hosted runner will require one of the following procedures:
|
||||
|
||||
* En el directorio de la aplicación ejecutora auto-hospedada, edita los archivos `.runner` y `.credentials` para reemplazar todas las menciones del nombre de host antiguo con el nuevo, posteriormente, reinicia la aplicación ejecutora auto-hospedada.
|
||||
* Elimina al ejecutor de {% data variables.product.prodname_ghe_server %} utilizando la IU, y vuelve a agregarlo. Para obtener más información, consulta "[Eliminar ejecutores autoalojados](/actions/hosting-your-own-runners/removing-self-hosted-runners) y [Agregar ejecutores autoalojados](/actions/hosting-your-own-runners/adding-self-hosted-runners)."
|
||||
* In the self-hosted runner application directory, edit the `.runner` and `.credentials` files to replace all mentions of the old hostname with the new hostname, then restart the self-hosted runner application.
|
||||
* Remove the runner from {% data variables.product.prodname_ghe_server %} using the UI, and re-add it. For more information, see "[Removing self-hosted runners](/actions/hosting-your-own-runners/removing-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."
|
||||
|
||||
## Jobs atorados y límites de CPU y de memoria de las {% data variables.product.prodname_actions %}
|
||||
## Stuck jobs and {% data variables.product.prodname_actions %} memory and CPU limits
|
||||
|
||||
{% data variables.product.prodname_actions %} se compone de varios servicios que se ejecutan en {% data variables.product.product_location %}. Predeterminadamente, estos servicios se configuran con límites predeterminados de CPU y de memoria que deberían funcionar con la mayoría de las instancias. Sin embargo, los usuarios asiduos de {% data variables.product.prodname_actions %} podrían encesitar ajustar esta configuración.
|
||||
{% data variables.product.prodname_actions %} is composed of multiple services running on {% data variables.product.product_location %}. By default, these services are set up with default CPU and memory limits that should work for most instances. However, heavy users of {% data variables.product.prodname_actions %} might need to adjust these settings.
|
||||
|
||||
Puede que estés llegando a los límites de CPU o de memoria si notas que los jobs no están iniciando (aún si hay ejecutores inactivos), o si el progreso del job no se actualiza o cambia en la IU.
|
||||
You may be hitting the CPU or memory limits if you notice that jobs are not starting (even though there are idle runners), or if the job's progress is not updating or changing in the UI.
|
||||
|
||||
### 1. Verifica el uso total de memoria y CPU en la consola de administración
|
||||
### 1. Check the overall CPU and memory usage in the management console
|
||||
|
||||
Accede a la consola de administración y utiliza el tablero de monitoreo para inspeccionar las gráficas del total de memoria y de CPU debajo de "Salud del Sistema". Para obtener más información, consulta la sección "[Acceder al tablero de monitoreo](/admin/enterprise-management/accessing-the-monitor-dashboard)".
|
||||
Access the management console and use the monitor dashboard to inspect the overall CPU and memory graphs under "System Health". For more information, see "[Accessing the monitor dashboard](/admin/enterprise-management/accessing-the-monitor-dashboard)."
|
||||
|
||||
Si la "Salud del sistema" para el uso total de CPU es cercano a 100%, o si ya no hay memoria disponible restante, entonces {% data variables.product.product_location %} se está ejecutando al total de su capacidad y necesita escalarse. Para obtener más información, consulta "[Aumentar los recursos de memoria o la CPU](/admin/enterprise-management/increasing-cpu-or-memory-resources)."
|
||||
If the overall "System Health" CPU usage is close to 100%, or there is no free memory left, then {% data variables.product.product_location %} is running at capacity and needs to be scaled up. For more information, see "[Increasing CPU or memory resources](/admin/enterprise-management/increasing-cpu-or-memory-resources)."
|
||||
|
||||
### 2. Verifica el uso de CPU y memoria de los jobs nómadas en la consola de administración
|
||||
### 2. Check the Nomad Jobs CPU and memory usage in the management console
|
||||
|
||||
Si la "Salud del sistema" para el uso total de CPU y memoria están bien, desplázate a la parte inferior de la página, hacia la sección de "Jobs nómadas", y revisa las g´raficas de "Valor porcentual de CPU" y de "Uso de memoria".
|
||||
If the overall "System Health" CPU and memory usage is OK, scroll down the monitor dashboard page to the "Nomad Jobs" section, and look at the "CPU Percent Value" and "Memory Usage" graphs.
|
||||
|
||||
Cada sección en estas gráficas corresponde a un servicio. Para los servicios de {% data variables.product.prodname_actions %}, busca:
|
||||
Each plot in these graphs corresponds to one service. For {% data variables.product.prodname_actions %} services, look for:
|
||||
|
||||
* `mps_frontend`
|
||||
* `mps_backend`
|
||||
@@ -82,18 +81,18 @@ Cada sección en estas gráficas corresponde a un servicio. Para los servicios d
|
||||
* `actions_frontend`
|
||||
* `actions_backend`
|
||||
|
||||
Si cualquiera de estos servicios estan cerca de o en 100% de uso de CPU, o si la memoria está cerca de su límite (2 GB, predeterminadamente), entonces el recurso de asignación para estos servicios podría necesitar un aumento. Toma nota de cuáles de los servicios antes descritos están cerca de o en su límite.
|
||||
If any of these services are at or near 100% CPU utilization, or the memory is near their limit (2 GB by default), then the resource allocation for these services might need increasing. Take note of which of the above services are at or near their limit.
|
||||
|
||||
### 3. Incrementa la asignación de recursos para los servicios en su límite
|
||||
### 3. Increase the resource allocation for services at their limit
|
||||
|
||||
1. Ingresa en el shell administrativo utilizando SSH. Para obtener más información, consulta "[Acceder al shell administrativo (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)."
|
||||
1. Ejecuta el siguiente comando para ver qué recursos se encuentran disponibles para su asignación:
|
||||
1. Log in to the administrative shell using SSH. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)."
|
||||
1. Run the following command to see what resources are available for allocation:
|
||||
|
||||
```shell
|
||||
nomad node status -self
|
||||
```
|
||||
|
||||
En la salida, encuentra la sección de "Recursos asignados". Se debe ver similar al siguiente ejemplo:
|
||||
In the output, find the "Allocated Resources" section. It looks similar to the following example:
|
||||
|
||||
```
|
||||
Allocated Resources
|
||||
@@ -101,25 +100,25 @@ Si cualquiera de estos servicios estan cerca de o en 100% de uso de CPU, o si la
|
||||
7740/49600 MHZ 23 GiB/32 GiB 4.4 GiB/7.9 GiB
|
||||
```
|
||||
|
||||
Para la memoria y el CPU, esta muestra cuánto se asigna al **total** de **todos** los servicios (el valor de la izquierda) y cuánto queda disponible (el valor de la derecha). En el ejemplo anterior, hay 23 GiB de memoria asignada de los 32 GiB totales. Esto significa que hay 9 GiB de memoria disponibles para asignar.
|
||||
For CPU and memory, this shows how much is allocated to the **total** of **all** services (the left value) and how much is available (the right value). In the example above, there is 23 GiB of memory allocated out of 32 GiB total. This means there is 9 GiB of memory available for allocation.
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** Ten cuidado de no asignar más del total de los recursos disponibles o los servicios no podrán iniciar.
|
||||
**Warning:** Be careful not to allocate more than the total available resources, or services will fail to start.
|
||||
|
||||
{% endwarning %}
|
||||
1. Cambia el directorio a `/etc/consul-templates/etc/nomad-jobs/actions`:
|
||||
1. Change directory to `/etc/consul-templates/etc/nomad-jobs/actions`:
|
||||
|
||||
```shell
|
||||
cd /etc/consul-templates/etc/nomad-jobs/actions
|
||||
```
|
||||
|
||||
En este directorio hay tres archivos que corresponden a los servicios de {% data variables.product.prodname_actions %} descritos anteriormente:
|
||||
In this directory there are three files that correspond to the {% data variables.product.prodname_actions %} services from above:
|
||||
|
||||
* `mps.hcl.ctmpl`
|
||||
* `token.hcl.ctmpl`
|
||||
* `actions.hcl.ctmpl`
|
||||
1. Para los servicios en los que identificaste una necesidad de ajuste, abre el archivo correspondiente y ubica el grupo `resources` que se ve como el siguiente ejemplo:
|
||||
1. For the services that you identified that need adjustment, open the corresponding file and locate the `resources` group that looks like the following:
|
||||
|
||||
```
|
||||
resources {
|
||||
@@ -131,9 +130,9 @@ Si cualquiera de estos servicios estan cerca de o en 100% de uso de CPU, o si la
|
||||
}
|
||||
```
|
||||
|
||||
Los valores están en MHz para los recursos de CPU y en MB para los recursos de memoria.
|
||||
The values are in MHz for CPU resources, and MB for memory resources.
|
||||
|
||||
Por ejemplo, para incrementar los límites de recursos en el ejemplo anterior a 1 GHz para el CPU y 4 GB de memoria, cámbialos a:
|
||||
For example, to increase the resource limits in the above example to 1 GHz for the CPU and 4 GB of memory, change it to:
|
||||
|
||||
```
|
||||
resources {
|
||||
@@ -144,8 +143,38 @@ Si cualquiera de estos servicios estan cerca de o en 100% de uso de CPU, o si la
|
||||
}
|
||||
}
|
||||
```
|
||||
1. Guarda el cambio y sal del archivo.
|
||||
1. Ejecuta `ghe-config-apply` para aplicar los cambios.
|
||||
1. Save and exit the file.
|
||||
1. Run `ghe-config-apply` to apply the changes.
|
||||
|
||||
Cuando ejecutes `ghe-config-apply`, si ves una salida como `Failed to run nomad job '/etc/nomad-jobs/<name>.hcl'`, entonces el cambio seguramente sobreasignó recursos de CPU o de memoria. Si esto sucede, edita los archivos de configuración nuevamente y baja los recursos de CPU o de memoria y luego vuelve a ejecutar `ghe-config-apply`.
|
||||
1. Después de aplicar la configuración, ejecuta `ghe-actions-check` para verificar que los servicios de {% data variables.product.prodname_actions %} estén operando.
|
||||
When running `ghe-config-apply`, if you see output like `Failed to run nomad job '/etc/nomad-jobs/<name>.hcl'`, then the change has likely over-allocated CPU or memory resources. If this happens, edit the configuration files again and lower the allocated CPU or memory, then re-run `ghe-config-apply`.
|
||||
1. After the configuration is applied, run `ghe-actions-check` to verify that the {% data variables.product.prodname_actions %} services are operational.
|
||||
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
## Troubleshooting failures when {% data variables.product.prodname_dependabot %} triggers existing workflows
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
After you set up {% data variables.product.prodname_dependabot %} updates for {% data variables.product.product_location %}, you may see failures when existing workflows are triggered by {% data variables.product.prodname_dependabot %} events.
|
||||
|
||||
By default, {% data variables.product.prodname_actions %} workflow runs that are triggered by {% data variables.product.prodname_dependabot %} from `push`, `pull_request`, `pull_request_review`, or `pull_request_review_comment` events are treated as if they were opened from a repository fork. Unlike workflows triggered by other actors, this means they receive a read-only `GITHUB_TOKEN` and do not have access to any secrets that are normally available. This will cause any workflows that attempt to write to the repository to fail when they are triggered by {% data variables.product.prodname_dependabot %}.
|
||||
|
||||
There are three ways to resolve this problem:
|
||||
|
||||
1. You can update your workflows so that they are no longer triggered by {% data variables.product.prodname_dependabot %} using an expression like: `if: github.actor != 'dependabot[bot]'`. For more information, see "[Expressions](/actions/learn-github-actions/expressions)."
|
||||
2. You can modify your workflows to use a two-step process that includes `pull_request_target` which does not have these limitations. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions#responding-to-events)."
|
||||
3. You can provide workflows triggered by {% data variables.product.prodname_dependabot %} access to secrets and allow the `permissions` term to increase the default scope of the `GITHUB_TOKEN`. For more information, see "[Providing workflows triggered by{% data variables.product.prodname_dependabot %} access to secrets and increased permissions](#providing-workflows-triggered-by-dependabot-access-to-secrets-and-increased-permissions)" below.
|
||||
|
||||
### Providing workflows triggered by {% data variables.product.prodname_dependabot %} access to secrets and increased permissions
|
||||
|
||||
1. Log in to the administrative shell using SSH. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)."
|
||||
1. To remove the limitations on workflows triggered by {% data variables.product.prodname_dependabot %} on {% data variables.product.product_location %}, use the following command.
|
||||
``` shell
|
||||
$ ghe-config app.actions.disable-dependabot-enforcement true
|
||||
```
|
||||
1. Apply the configuration.
|
||||
```shell
|
||||
$ ghe-config-apply
|
||||
```
|
||||
1. Return to {% data variables.product.prodname_ghe_server %}.
|
||||
|
||||
{% endif %}
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
title: Habilitar GitHub Actions para GitHub Enterprise Server
|
||||
intro: 'Aprende cómo configurar el almacenamiento y habilita las {% data variables.product.prodname_actions %} en {% data variables.product.prodname_ghe_server %}.'
|
||||
title: Enabling GitHub Actions for GitHub Enterprise Server
|
||||
intro: 'Learn how to configure storage and enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}.'
|
||||
versions:
|
||||
ghes: '*'
|
||||
topics:
|
||||
- Enterprise
|
||||
children:
|
||||
- /getting-started-with-github-actions-for-github-enterprise-server
|
||||
- /enabling-github-actions-with-azure-blob-storage
|
||||
- /enabling-github-actions-with-amazon-s3-storage
|
||||
- /enabling-github-actions-with-minio-gateway-for-nas-storage
|
||||
shortTitle: Habiligar GitHub Actions
|
||||
- /setting-up-dependabot-updates
|
||||
shortTitle: Enable GitHub Actions
|
||||
---
|
||||
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
---
|
||||
title: Administrar GitHub Actions para tu empresa
|
||||
intro: 'Habilita las {% data variables.product.prodname_actions %} en {% ifversion ghae %}{% data variables.product.prodname_ghe_managed %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}, y administra las políticas y configuraciones de {% data variables.product.prodname_actions %}.'
|
||||
title: Managing GitHub Actions for your enterprise
|
||||
intro: 'Enable {% data variables.product.prodname_actions %} on {% ifversion ghae %}{% data variables.product.prodname_ghe_managed %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}, and manage {% data variables.product.prodname_actions %} policies and settings.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/github-actions
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Enterprise
|
||||
children:
|
||||
- /getting-started-with-github-actions-for-your-enterprise
|
||||
- /using-github-actions-in-github-ae
|
||||
- /enabling-github-actions-for-github-enterprise-server
|
||||
- /managing-access-to-actions-from-githubcom
|
||||
- /advanced-configuration-and-troubleshooting
|
||||
shortTitle: Administrar las GitHub Actions
|
||||
shortTitle: Manage GitHub Actions
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Habilitar el acceso automático a las acciones de GitHub.com utilizando GitHub Connect
|
||||
intro: 'Para permitir que las {% data variables.product.prodname_actions %} en tu empresa utilicen acciones de {% data variables.product.prodname_dotcom_the_website %}, puedes conectar tu instancia empresarial a {% data variables.product.prodname_ghe_cloud %}.'
|
||||
title: Enabling automatic access to GitHub.com actions using GitHub Connect
|
||||
intro: 'To allow {% data variables.product.prodname_actions %} in your enterprise to use actions from {% data variables.product.prodname_dotcom_the_website %}, you can connect your enterprise instance to {% data variables.product.prodname_ghe_cloud %}.'
|
||||
permissions: 'Site administrators for {% data variables.product.product_name %} who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable access to all {% data variables.product.prodname_dotcom_the_website %} actions.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect
|
||||
@@ -13,20 +13,25 @@ topics:
|
||||
- Actions
|
||||
- Enterprise
|
||||
- GitHub Connect
|
||||
shortTitle: Utilizar GitHub Connect para las acciones
|
||||
shortTitle: Use GitHub Connect for actions
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
## About automatic access to {% data variables.product.prodname_dotcom_the_website %} actions
|
||||
|
||||
By default, {% data variables.product.prodname_actions %} workflows on {% data variables.product.product_name %} cannot use actions directly from {% data variables.product.prodname_dotcom_the_website %} or [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions).
|
||||
|
||||
To make all actions from {% data variables.product.prodname_dotcom_the_website %} available on your enterprise instance, you can use {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. For other ways of accessing actions from {% data variables.product.prodname_dotcom_the_website %}, see "[About using actions in your enterprise](/admin/github-actions/about-using-actions-in-your-enterprise)."
|
||||
|
||||
To use actions from {% data variables.product.prodname_dotcom_the_website %}, your self-hosted runners must be able to download public actions from `api.github.com`.
|
||||
|
||||
## Enabling automatic access to all {% data variables.product.prodname_dotcom_the_website %} actions
|
||||
|
||||
{% data reusables.actions.enterprise-github-connect-warning %}
|
||||
|
||||
Predeterminadamente, los flujos de trabajo de {% data variables.product.prodname_actions %} en {% data variables.product.product_name %} no pueden utilizar las acciones directamente desde {% data variables.product.prodname_dotcom_the_website %} o desde [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions).
|
||||
|
||||
Para que todas las acciones de {% data variables.product.prodname_dotcom_the_website %} se hagan disponibles para tu instancia empresarial, puedes utilizar {% data variables.product.prodname_github_connect %} para integrar a {% data variables.product.product_name %} con {% data variables.product.prodname_ghe_cloud %}. Para encontrar otras formas de acceder a las acciones desde {% data variables.product.prodname_dotcom_the_website %}, consulta la sección "[Acerca de utilizar las acciones en tu empresa](/admin/github-actions/about-using-actions-in-your-enterprise)".
|
||||
|
||||
## Habilitar el acceso automático a todas las acciones de {% data variables.product.prodname_dotcom_the_website %}
|
||||
|
||||
Antes de habilitar el acceso para todas las acciones desde {% data variables.product.prodname_dotcom_the_website %} en tu instancia empresarial, debes conectar a tu empresa con {% data variables.product.prodname_dotcom_the_website %}. Para obtener más información, consulta la sección "[Conectar empresa a {% data variables.product.prodname_ghe_cloud %}](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud)".
|
||||
Before enabling access to all actions from {% data variables.product.prodname_dotcom_the_website %} on your enterprise instance, you must connect your enterprise to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Connecting your enterprise to {% data variables.product.prodname_ghe_cloud %}](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud)."
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{%- ifversion ghes < 3.1 %}
|
||||
@@ -34,8 +39,34 @@ Antes de habilitar el acceso para todas las acciones desde {% data variables.pro
|
||||
{%- endif %}
|
||||
{% data reusables.enterprise-accounts.github-connect-tab %}
|
||||
{%- ifversion ghes > 3.0 or ghae %}
|
||||
1. Debajo de "Los usuarios pueden utilizar acciones de GitHub.com en las ejecuciones de flujo de trabajo", utiliza el menú desplegable y selecciona **Habilitado**. 
|
||||
1. Under "Users can utilize actions from GitHub.com in workflow runs", use the drop-down menu and select **Enabled**.
|
||||

|
||||
{%- else %}
|
||||
1. Debajo de "El servidor puede utilizar acciones de GitHub.com en las ejecuciones de flujo de trabajo", utiliza el menú desplegable y selecciona **Habilitado**. 
|
||||
1. Under "Server can use actions from GitHub.com in workflows runs", use the drop-down menu and select **Enabled**.
|
||||

|
||||
{%- endif %}
|
||||
1. {% data reusables.actions.enterprise-limit-actions-use %}
|
||||
|
||||
{% ifversion ghes > 3.2 or ghae-issue-4815 %}
|
||||
|
||||
## Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website %}
|
||||
|
||||
When you enable {% data variables.product.prodname_github_connect %}, users see no change in behavior for existing workflows because {% data variables.product.prodname_actions %} searches {% data variables.product.product_location %} for each action before falling back to {% data variables.product.prodname_dotcom_the_website%}. This ensures that any custom versions of actions your enterprise has created are used in preference to their counterparts on {% data variables.product.prodname_dotcom_the_website%}.
|
||||
|
||||
Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website %} blocks the potential for a man-in-the-middle attack by a malicious user with access to {% data variables.product.product_location %}. When an action on {% data variables.product.prodname_dotcom_the_website %} is used for the first time, that namespace is retired in {% data variables.product.product_location %}. This blocks any user creating an organization and repository in your enterprise that matches that organization and repository name on {% data variables.product.prodname_dotcom_the_website %}. This ensures that when a workflow runs, the intended action is always run.
|
||||
|
||||
After using an action from {% data variables.product.prodname_dotcom_the_website %}, if you want to create an action in {% data variables.product.product_location %} with the same name, first you need to make the namespace for that organization and repository available.
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
2. In the left sidebar, under **Site admin** click **Retired namespaces**.
|
||||
3. Locate the namespace that you want use in {% data variables.product.product_location %} and click **Unretire**.
|
||||

|
||||
4. Go to the relevant organization and create a new repository.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** When you unretire a namespace, always create the new repository with that name as soon as possible. If a workflow calls the associated action on {% data variables.product.prodname_dotcom_the_website %} before you create the local repository, the namespace will be retired again. For actions used in workflows that run frequently, you may find that a namespace is retired again before you have time to create the local repository. In this case, you can temporarily disable the relevant workflows until you have created the new repository.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Sincronizar manualmente las acciones de GitHub.com
|
||||
intro: 'Para los usuarios que necesiten acceso a las acciones de {% data variables.product.prodname_dotcom_the_website %}, puedes sincronizar las acciones específicas a tu empresa.'
|
||||
title: Manually syncing actions from GitHub.com
|
||||
intro: 'For users that need access to actions from {% data variables.product.prodname_dotcom_the_website %}, you can sync specific actions to your enterprise.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/github-actions/manually-syncing-actions-from-githubcom
|
||||
- /admin/github-actions/manually-syncing-actions-from-githubcom
|
||||
@@ -11,7 +11,7 @@ type: tutorial
|
||||
topics:
|
||||
- Actions
|
||||
- Enterprise
|
||||
shortTitle: Sincronziar acciones manualmente
|
||||
shortTitle: Manually sync actions
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
@@ -22,31 +22,39 @@ shortTitle: Sincronziar acciones manualmente
|
||||
|
||||
{% ifversion ghes or ghae-next %}
|
||||
|
||||
El acercamiento recomendado para habilitar el acceso a las acciones de {% data variables.product.prodname_dotcom_the_website %} es habilitar el acceso automático para todas las acciones. Puedes hacer esto si utilizas {% data variables.product.prodname_github_connect %} para integrar a {% data variables.product.product_name %} con {% data variables.product.prodname_ghe_cloud %}. Para obtener más información, consulta la sección "[Habilitar el acceso automático a las acciones de {% data variables.product.prodname_dotcom_the_website %} utilizando{% data variables.product.prodname_github_connect %}](/enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)".
|
||||
The recommended approach of enabling access to actions from {% data variables.product.prodname_dotcom_the_website %} is to enable automatic access to all actions. You can do this by using {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)."
|
||||
|
||||
Sin embargo, si quieres tener un control más estricto sobre qué acciones se permiten en tu empresa, puedes{% else %}Puedes{% endif %} seguir esta guía para utilizar la herramienta [`actions-sync`](https://github.com/actions/actions-sync) de código abierto de {% data variables.product.company_short %} para sincronizar los repositorios de acciones individuales desde {% data variables.product.prodname_dotcom_the_website %} hacia tu empresa.
|
||||
However, if you want stricter control over which actions are allowed in your enterprise, you{% else %}You{% endif %} can follow this guide to use {% data variables.product.company_short %}'s open source [`actions-sync`](https://github.com/actions/actions-sync) tool to sync individual action repositories from {% data variables.product.prodname_dotcom_the_website %} to your enterprise.
|
||||
|
||||
## Acerca de la herramienta `actions-sync`
|
||||
## About the `actions-sync` tool
|
||||
|
||||
La herramienta `actions-sync` debe ejecutarse en una máquina que pueda acceder a la API de {% data variables.product.prodname_dotcom_the_website %} y a la API de tu instancia de {% data variables.product.product_name %}. La máquina no necesita estar conectada a ambas al mismo tiempo.
|
||||
The `actions-sync` tool must be run on a machine that can access the {% data variables.product.prodname_dotcom_the_website %} API and your {% data variables.product.product_name %} instance's API. The machine doesn't need to be connected to both at the same time.
|
||||
|
||||
Si tu máquina tiene acceso a ambos sistemas al mismo tiempo, puedes hacer la sincronización con un simple comando de `actions-sync sync`. Si sólo puedes acceder a un sistema a la vez, puedes utilizar los comandos `actions-sync pull` y `push`.
|
||||
If your machine has access to both systems at the same time, you can do the sync with a single `actions-sync sync` command. If you can only access one system at a time, you can use the `actions-sync pull` and `push` commands.
|
||||
|
||||
La herramienta `actions-sync` solo puede descargar acciones de {% data variables.product.prodname_dotcom_the_website %} que estén almacenadas en repositorios públicos.
|
||||
The `actions-sync` tool can only download actions from {% data variables.product.prodname_dotcom_the_website %} that are stored in public repositories.
|
||||
|
||||
## Prerrequisitos
|
||||
{% ifversion ghes > 3.2 or ghae-issue-4815 %}
|
||||
{% note %}
|
||||
|
||||
* Antes de utilizar la herramienta `actions-sync`, debes asegurarte de que todas las organizaciones de destino ya existan en tu empresa. El siguiente ejemplo demuestra cómo sincronizar acciones a una organización que se llama `synced-actions`. Para obtener más información, consulta la sección "[Crear una organización nueva desde cero](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)".
|
||||
* Debes crear un token de acceso personal (PAT) en tu empresa que pueda crear y escribir en los repositorios de las organizaciones destino. Para obtener más información, consulta la sección "[Crear un token de acceso personal](/github/authenticating-to-github/creating-a-personal-access-token)".{% ifversion ghes %}
|
||||
* Si quieresSi quieres sincronizar las acciones incluidas en la organización `actions` en {% data variables.product.product_location %}, debes ser un propietario de la organización `actions`.
|
||||
**Note:** The `actions-sync` tool is intended for use in systems where {% data variables.product.prodname_github_connect %} is not enabled. If you run the tool on a system with {% data variables.product.prodname_github_connect %} enabled, you may see the error `The repository <repo_name> has been retired and cannot be reused`. This indicates that a workflow has used that action directly on {% data variables.product.prodname_dotcom_the_website %} and the namespace is retired on {% data variables.product.product_location %}. For more information, see "[Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website%}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)."
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* Before using the `actions-sync` tool, you must ensure that all destination organizations already exist in your enterprise. The following example demonstrates how to sync actions to an organization named `synced-actions`. For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)."
|
||||
* You must create a personal access token (PAT) on your enterprise that can create and write to repositories in the destination organizations. For more information, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)."{% ifversion ghes %}
|
||||
* If you want to sync the bundled actions in the `actions` organization on {% data variables.product.product_location %}, you must be an owner of the `actions` organization.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Predeterminadamente, incluso los administradores de sitio no son propietarios de la organización empaquetada `actions`.
|
||||
|
||||
|
||||
**Note:** By default, even site administrators are not owners of the bundled `actions` organization.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Los administradores de sitio pueden utilizar el comando `ghe-org-admin-promote` en el shell administrativo para promover a un usuario para que sea propietario de la organización empaquetada `actions`. Para obtener más información, consulta la sección "[Acceder al shell administrativo (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" y "[`ghe-org-admin-promote`](/admin/configuration/command-line-utilities#ghe-org-admin-promote)".
|
||||
Site administrators can use the `ghe-org-admin-promote` command in the administrative shell to promote a user to be an owner of the bundled `actions` organization. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" and "[`ghe-org-admin-promote`](/admin/configuration/command-line-utilities#ghe-org-admin-promote)."
|
||||
|
||||
```shell
|
||||
ghe-org-admin-promote -u <em>USERNAME</em> -o actions
|
||||
@@ -63,7 +71,7 @@ This example demonstrates using the `actions-sync` tool to sync an individual ac
|
||||
{% endnote %}
|
||||
|
||||
1. Download and extract the latest [`actions-sync` release](https://github.com/actions/actions-sync/releases) for your machine's operating system.
|
||||
1. Crea un directorio para almacenar los archivos de caché para la herramienta.
|
||||
1. Create a directory to store cache files for the tool.
|
||||
1. Run the `actions-sync sync` command:
|
||||
|
||||
```shell
|
||||
@@ -74,20 +82,20 @@ This example demonstrates using the `actions-sync` tool to sync an individual ac
|
||||
--repo-name "actions/stale:synced-actions/actions-stale"
|
||||
```
|
||||
|
||||
El comando anterior utiliza los siguientes argumentos:
|
||||
|
||||
* `--cache-dir`: El directorio del caché en la máquina que ejecuta el comando.
|
||||
* `--destination-token`: Un token de acceso personal para la instancia empresarial de destino.
|
||||
* `--destination-url`: La URL de la instancia empresarial de destino.
|
||||
* `--repo-name`: El repositorio de acción a sincronizar. Esto adopta el formato de `owner/repository:destination_owner/destination_repository`.
|
||||
|
||||
* El ejemplo anterior sincroniza el repositorio [`actions/stale`](https://github.com/actions/stale) con el repositorio `synced-actions/actions-stale` en la instancia empresarial de destino. Debes crear la organización denominada `synced-actions` en tu empresa antes de ejecutar el comando anterior.
|
||||
* Si omites el `:destination_owner/destination_repository`, la herramienta utilizará el nombre de propietario y de repositorio originales para tu empresa. Antes de ejecutar el comando, debes crear una organización nueva en tu empresa, la cual empate con el nombre de propietario de la acción. Considera utilizar una organización central para almacenar las acciones sincronizadas en tu empresa, ya que esto significa que no necesitarás crear varias organizaciones nuevas si sincronizas las acciones de propietarios diferentes.
|
||||
* Puedes sincronizar varias acciones si reemplazas el parámetro `--repo-name` con `--repo-name-list` o con `--repo-name-list-file`. Para obtener más información, consulta el [README de `actions-sync`](https://github.com/actions/actions-sync#actions-sync).
|
||||
1. Después de que se haya creado el repositorio de acción en tu empresa, las personas en tu empresa pueden utilizar el repositorio de destino para referenciar la acción en sus flujos de trabajo. Para la acción de ejemplo que se muestra a continuación:
|
||||
The above command uses the following arguments:
|
||||
|
||||
* `--cache-dir`: The cache directory on the machine running the command.
|
||||
* `--destination-token`: A personal access token for the destination enterprise instance.
|
||||
* `--destination-url`: The URL of the destination enterprise instance.
|
||||
* `--repo-name`: The action repository to sync. This takes the format of `owner/repository:destination_owner/destination_repository`.
|
||||
|
||||
* The above example syncs the [`actions/stale`](https://github.com/actions/stale) repository to the `synced-actions/actions-stale` repository on the destination enterprise instance. You must create the organization named `synced-actions` in your enterprise before running the above command.
|
||||
* If you omit `:destination_owner/destination_repository`, the tool uses the original owner and repository name for your enterprise. Before running the command, you must create a new organization in your enterprise that matches the owner name of the action. Consider using a central organization to store the synced actions in your enterprise, as this means you will not need to create multiple new organizations if you sync actions from different owners.
|
||||
* You can sync multiple actions by replacing the `--repo-name` parameter with `--repo-name-list` or `--repo-name-list-file`. For more information, see the [`actions-sync` README](https://github.com/actions/actions-sync#actions-sync).
|
||||
1. After the action repository is created in your enterprise, people in your enterprise can use the destination repository to reference the action in their workflows. For the example action shown above:
|
||||
|
||||
```yaml
|
||||
uses: synced-actions/actions-stale@v1
|
||||
```
|
||||
|
||||
Para obtener más información, consultala sección "[Sintaxis de flujo de trabajo para GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsuses)".
|
||||
For more information, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsuses)."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Utilizar la última versión de las acciones empaquetadas oficiales
|
||||
intro: 'Puedes actualizar las acciones que vienen en paquete para tu empresa o utilizarlas directamente desde {% data variables.product.prodname_dotcom_the_website %}.'
|
||||
title: Using the latest version of the official bundled actions
|
||||
intro: 'You can update the actions that are bundled with your enterprise, or use actions directly from {% data variables.product.prodname_dotcom_the_website %}.'
|
||||
versions:
|
||||
ghes: '*'
|
||||
ghae: next
|
||||
@@ -11,34 +11,47 @@ topics:
|
||||
- GitHub Connect
|
||||
redirect_from:
|
||||
- /admin/github-actions/using-the-latest-version-of-the-official-bundled-actions
|
||||
shortTitle: Utilizar las acciones empaquetadas más recientes
|
||||
shortTitle: Use the latest bundled actions
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
Tu instancia empresarial incluye varias acciones integradas que puedes utilizar en tus flujos de trabajo. Para obtener más información sobre las acciones en paquete, consulta la sección "[Acciones oficiales que vienen en paquete con tu instancia empresarial](/admin/github-actions/about-using-actions-in-your-enterprise#official-actions-bundled-with-your-enterprise-instance)".
|
||||
Your enterprise instance includes a number of built-in actions that you can use in your workflows. For more information about the bundled actions, see "[Official actions bundled with your enterprise instance](/admin/github-actions/about-using-actions-in-your-enterprise#official-actions-bundled-with-your-enterprise-instance)."
|
||||
|
||||
Estas acciones que vienen en paquete son una captura de un punto en el tiempo de las acciones oficiales que se encuentran en https://github.com/actions, así que podría haber versiones nuevas disponibles de estas. Puedes utilizar la herramienta de `actions-sync` para actualizar estas acciones o puedes configurar {% data variables.product.prodname_github_connect %} para permitir el acceso a las últimas acciones en {% data variables.product.prodname_dotcom_the_website %}. Estas opciones se describen en las siguietnes secciones.
|
||||
These bundled actions are a point-in-time snapshot of the official actions found at https://github.com/actions, so there may be newer versions of these actions available. You can use the `actions-sync` tool to update these actions, or you can configure {% data variables.product.prodname_github_connect %} to allow access to the latest actions on {% data variables.product.prodname_dotcom_the_website %}. These options are described in the following sections.
|
||||
|
||||
## Utilizar `actions-sync` para actualizar las acciones que vienen en paquete
|
||||
## Using `actions-sync` to update the bundled actions
|
||||
|
||||
Para actualizar las acciones que vienen en paquete, puedes utilizar la herramienta `actions-sync` para actualizar esta captura. Para obtener más información sobre cómo utilizar `actions-sync`, consulta la sección "[Sincronizar manualmente las acciones desde {% data variables.product.prodname_dotcom_the_website %}](/admin/github-actions/manually-syncing-actions-from-githubcom)".
|
||||
To update the bundled actions, you can use the `actions-sync` tool to update the snapshot. For more information on using `actions-sync`, see "[Manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}](/admin/github-actions/manually-syncing-actions-from-githubcom)."
|
||||
|
||||
## Utilizar {% data variables.product.prodname_github_connect %} para acceder a las últimas acciones
|
||||
## Using {% data variables.product.prodname_github_connect %} to access the latest actions
|
||||
|
||||
Puedes utilizar {% data variables.product.prodname_github_connect %} para permitir que {% data variables.product.product_name %} utilice acciones desde {% data variables.product.prodname_dotcom_the_website %}. Para obtener más información, consulta la sección "[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/enabling-automatic-access-to-githubcom-actions-using-github-connect)".
|
||||
You can use {% data variables.product.prodname_github_connect %} to allow {% data variables.product.product_name %} to use actions from {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)."
|
||||
|
||||
Una vez que se configura {% data variables.product.prodname_github_connect %}, puedes utilizar la versión más reciente de una acción si borras su repositorio local en la organización `actions` en tu instancia. Por ejemplo, si tu instancia empresarial está utilizando la acción `actions/checkout@v1` y necesitas utilizar `actions/checkout@v2`, el cual no está disponible en esta, lleva a cabo los siguietnes pasos para que puedas utilizar la acción más reciente de `checkout` desde {% data variables.product.prodname_dotcom_the_website %}:
|
||||
Once {% data variables.product.prodname_github_connect %} is configured, you can use the latest version of an action by deleting its local repository in the `actions` organization on your instance. For example, if your enterprise instance is using the `actions/checkout@v1` action, and you need to use `actions/checkout@v2` which isn't available on your enterprise instance, perform the following steps to be able to use the latest `checkout` action from {% data variables.product.prodname_dotcom_the_website %}:
|
||||
|
||||
1. Desde una cuenta de propietario de empresa en {% data variables.product.product_name %}, navega al repositorio que quieras borrar desde la organización *actions* (en este `checkout` de ejemplo).
|
||||
1. Predeterminadamente, los administradores de sitio no son propietarios de la organización integrada de *actions*. Para obtener el acceso requerido para borrar el repositorio `checkout`, debes utilizar las herramientas de administrador de sitio. Haz clic en {% octicon "rocket" aria-label="The rocket ship" %} en la esquina superior derecha de cualquier página de este repositorio. 
|
||||
1. Haz clic en {% octicon "shield-lock" %} **Seguridad** para ver el resumen de seguridad del repositorio. 
|
||||
1. Debajo de "Acceso privilegiado", haz clic en **Desbloquear**. 
|
||||
1. Debajo de **Razón**, teclea una razón para desbloquear el repositorio y luego haz clic en **Desbloquear**. 
|
||||
1. Ahora que el repositorio se desbloqueó, puedes salir de las páginas de administrador de sitio y borrar el repositorio dentro de la organización `actions`. En la parte superior de la página, haz clic en el nombre de repositorio, que en este ejemplo es **checkout**, para regresar a la página de resumen. 
|
||||
1. Debajo de "Información de repositorio", haz clic en **Ver código** para salir de las páginas de administrador del sitio y que se muestre el repositorio `checkout`.
|
||||
1. Borra el repositorio `checkout` dentro de la organización `actions`. Para obtener más información sobre cómo borrar un repositorio, consulta la sección "[Borrar un repositorio](/github/administering-a-repository/deleting-a-repository)". 
|
||||
1. Configura el YAML de tu flujo de trabajo para que utilice `actions/checkout@v2`.
|
||||
1. Cada vez que se ejecute tu flujo de trabajo, el ejecutor utilizará la versión `v2` de `actions/checkout` desde {% data variables.product.prodname_dotcom_the_website %}.
|
||||
1. From an enterprise owner account on {% data variables.product.product_name %}, navigate to the repository you want to delete from the *actions* organization (in this example `checkout`).
|
||||
1. By default, site administrators are not owners of the bundled *actions* organization. To get the access required to delete the `checkout` repository, you must use the site admin tools. Click {% octicon "rocket" aria-label="The rocket ship" %} in the upper-right corner of any page in that repository.
|
||||

|
||||
1. Click {% octicon "shield-lock" %} **Security** to see the security overview for the repository.
|
||||

|
||||
1. Under "Privileged access", click **Unlock**.
|
||||

|
||||
1. Under **Reason**, type a reason for unlocking the repository, then click **Unlock**.
|
||||

|
||||
1. Now that the repository is unlocked, you can leave the site admin pages and delete the repository within the `actions` organization. At the top of the page, click the repository name, in this example **checkout**, to return to the summary page.
|
||||

|
||||
1. Under "Repository info", click **View code** to leave the site admin pages and display the `checkout` repository.
|
||||
1. Delete the `checkout` repository within the `actions` organization. For information on how to delete a repository, see "[Deleting a repository](/github/administering-a-repository/deleting-a-repository)."
|
||||

|
||||
1. Configure your workflow's YAML to use `actions/checkout@v2`.
|
||||
1. Each time your workflow runs, the runner will use the `v2` version of `actions/checkout` from {% data variables.product.prodname_dotcom_the_website %}.
|
||||
|
||||
{% ifversion ghes > 3.2 or ghae-issue-4815 %}
|
||||
{% note %}
|
||||
|
||||
**Note:** The first time the `checkout` action is used from {% data variables.product.prodname_dotcom_the_website %}, the `actions/checkout` namespace is automatically retired on {% data variables.product.product_location %}. If you ever want to revert to using a local copy of the action, you first need to remove the namespace from retirement. For more information, see "[Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website%}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)."
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
title: Utilizar GitHub Actions en GitHub AE
|
||||
intro: 'Aprende cómo configurar las {% data variables.product.prodname_actions %} en {% data variables.product.prodname_ghe_managed %}.'
|
||||
title: Using GitHub Actions in GitHub AE
|
||||
intro: 'Learn how to configure {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}.'
|
||||
versions:
|
||||
ghae: '*'
|
||||
children:
|
||||
- /getting-started-with-github-actions-for-github-ae
|
||||
- /using-actions-in-github-ae
|
||||
shortTitle: Utilizar las acciones en GitHub AE
|
||||
shortTitle: Use Actions in GitHub AE
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Guías de Github Enterprise
|
||||
shortTitle: Guías
|
||||
intro: 'Aprende cómo incrementar la productividad de desarrollador y calidad de código con {% data variables.product.product_name %}.'
|
||||
title: GitHub Enterprise guides
|
||||
shortTitle: Guides
|
||||
intro: 'Learn how to increase developer productivity and code quality with {% data variables.product.product_name %}.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
layout: product-sublanding
|
||||
versions:
|
||||
@@ -9,14 +9,15 @@ versions:
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
learningTracks:
|
||||
- '{% ifversion ghec %}get_started_with_your_enterprise_account{% endif %}'
|
||||
- '{% ifversion ghae %}get_started_with_github_ae{% endif %}'
|
||||
- '{% ifversion ghes %}deploy_an_instance{% endif %}'
|
||||
- '{% ifversion ghes %}upgrade_your_instance{% endif %}'
|
||||
- adopting_github_actions_for_your_enterprise
|
||||
- '{% ifversion ghes %}increase_fault_tolerance{% endif %}'
|
||||
- '{% ifversion ghes %}improve_security_of_your_instance{% endif %}'
|
||||
- '{% ifversion ghes > 2.22 %}configure_github_actions{% endif %}'
|
||||
- '{% ifversion ghes > 2.22 %}configure_github_advanced_security{% endif %}'
|
||||
- '{% ifversion ghec %}get_started_with_your_enterprise_account{% endif %}'
|
||||
includeGuides:
|
||||
- /admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider
|
||||
- /admin/authentication/changing-authentication-methods
|
||||
@@ -134,5 +135,6 @@ includeGuides:
|
||||
- /admin/user-management/removing-users-from-teams-and-organizations
|
||||
- /admin/user-management/requiring-two-factor-authentication-for-an-organization
|
||||
- /admin/user-management/suspending-and-unsuspending-users
|
||||
- /admin/overview/creating-an-enterprise-account
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Documentación para administradores empresariales
|
||||
shortTitle: Administradores empresariales
|
||||
title: Enterprise administrator documentation
|
||||
shortTitle: Enterprise administrators
|
||||
intro: 'Documentation and guides for enterprise administrators{% ifversion ghes %}, system administrators,{% endif %} and security specialists who {% ifversion ghes %}deploy, {% endif %}configure{% ifversion ghes %},{% endif %} and manage {% data variables.product.product_name %}.'
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account
|
||||
@@ -101,6 +101,7 @@ featuredLinks:
|
||||
- '{% ifversion ghec %}/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise{% endif %}'
|
||||
- '{% ifversion ghec %}/admin/user-management/managing-organizations-in-your-enterprise/viewing-the-audit-logs-for-organizations-in-your-enterprise{% endif %}'
|
||||
- '{% ifversion ghec %}/admin/user-management/monitoring-activity-in-your-enterprise/managing-global-webhooks{% endif %}'
|
||||
- '{% ifversion ghec %}/billing/managing-your-license-for-github-enterprise/using-visual-studio-subscription-with-github-enterprise/setting-up-visual-studio-subscription-with-github-enterprise{% endif %}'
|
||||
- /admin/enterprise-support/about-github-enterprise-support
|
||||
layout: product-landing
|
||||
versions:
|
||||
|
||||
@@ -1,63 +1,63 @@
|
||||
---
|
||||
title: Instalar el servidor de GitHub Enterprise en XenServer
|
||||
intro: 'Para instalar {% data variables.product.prodname_ghe_server %} en XenServer, debes implementar la imagen de disco {% data variables.product.prodname_ghe_server %} a un servidor XenServer.'
|
||||
title: Installing GitHub Enterprise Server on XenServer
|
||||
intro: 'To install {% data variables.product.prodname_ghe_server %} on XenServer, you must deploy the {% data variables.product.prodname_ghe_server %} disk image to a XenServer host.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/guides/installation/installing-github-enterprise-on-xenserver/
|
||||
- /enterprise/admin/installation/installing-github-enterprise-server-on-xenserver
|
||||
- /admin/installation/installing-github-enterprise-server-on-xenserver
|
||||
versions:
|
||||
ghes: '*'
|
||||
ghes: '<=3.2'
|
||||
type: tutorial
|
||||
topics:
|
||||
- Administrator
|
||||
- Enterprise
|
||||
- Infrastructure
|
||||
- Set up
|
||||
shortTitle: Instalar en XenServer
|
||||
shortTitle: Install on XenServer
|
||||
---
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Se descontinuará la compatibilidad con {% data variables.product.prodname_ghe_server %} en XenServer desde {% data variables.product.prodname_ghe_server %} 3.3. Para obtener más información, consulta la sección de [notas de lanzamiento para {% data variables.product.prodname_ghe_server %} 3.1](/admin/release-notes#3.1.0)
|
||||
**Note:** Support for {% data variables.product.prodname_ghe_server %} on XenServer will be discontinued in {% data variables.product.prodname_ghe_server %} 3.3. For more information, see the [{% data variables.product.prodname_ghe_server %} 3.1 release notes](/admin/release-notes#3.1.0)
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Prerrequisitos
|
||||
## Prerequisites
|
||||
|
||||
- {% data reusables.enterprise_installation.software-license %}
|
||||
- Debes instalar el XenServer Hypervisor en la máquina que ejecutará tu máquina virtual (VM) {% data variables.product.prodname_ghe_server %}. Admitimos versiones 6.0 a 7.0.
|
||||
- Recomendamos utilizar XenCenter Windows Management Console para la configuración inicial. Abajo se incluyen instrucciones utilizando XenCenter Windows Management Console. Para obtener más información, consulta la guía de Citrix "[Cómo descargar e instalar una nueva versión de XenCenter](https://support.citrix.com/article/CTX118531)."
|
||||
- You must install the XenServer Hypervisor on the machine that will run your {% data variables.product.prodname_ghe_server %} virtual machine (VM). We support versions 6.0 through 7.0.
|
||||
- We recommend using the XenCenter Windows Management Console for initial setup. Instructions using the XenCenter Windows Management Console are included below. For more information, see the Citrix guide "[How to Download and Install a New Version of XenCenter](https://support.citrix.com/article/CTX118531)."
|
||||
|
||||
## Consideraciones relativas al hardware
|
||||
## Hardware considerations
|
||||
|
||||
{% data reusables.enterprise_installation.hardware-considerations-all-platforms %}
|
||||
|
||||
## Descargar la imagen {% data variables.product.prodname_ghe_server %}
|
||||
## Downloading the {% data variables.product.prodname_ghe_server %} image
|
||||
|
||||
{% data reusables.enterprise_installation.enterprise-download-procedural %}
|
||||
{% data reusables.enterprise_installation.download-license %}
|
||||
{% data reusables.enterprise_installation.download-appliance %}
|
||||
4. Selecciona {% data variables.product.prodname_dotcom %} local, después haz clic en **XenServer (VHD)**.
|
||||
5. Para descargar tu archivo de licencia, haz clic en **Download license (Descargar licencia)**.
|
||||
4. Select {% data variables.product.prodname_dotcom %} On-premises, then click **XenServer (VHD)**.
|
||||
5. To download your license file, click **Download license**.
|
||||
|
||||
## Crear la instancia {% data variables.product.prodname_ghe_server %}
|
||||
## Creating the {% data variables.product.prodname_ghe_server %} instance
|
||||
|
||||
{% data reusables.enterprise_installation.create-ghe-instance %}
|
||||
|
||||
1. En XenCenter, importa la imagen {% data variables.product.prodname_ghe_server %} que descargaste. Para obtener instrucciones, consulta la guía de XenCenter "[Importar imágenes de disco](https://docs.citrix.com/en-us/xencenter/current-release/vms-importdiskimage.html)."
|
||||
- Para el paso "Enable Operating System Fixup (Habilitar Ajuste del sistema en funcionamiento)", selecciona **Don't use Operating System Fixup (No usar Ajuste del sistema en funcionamiento)**.
|
||||
- Deja la VM apagada cuando hayas finalizado.
|
||||
{% data reusables.enterprise_installation.create-attached-storage-volume %} Para obtener instrucciones, consulta la guía de XenCenter "[Agregar discos virtuales](https://docs.citrix.com/en-us/xencenter/current-release/vms-storage-addnewdisk.html)."
|
||||
1. In XenCenter, import the {% data variables.product.prodname_ghe_server %} image you downloaded. For instructions, see the XenCenter guide "[Import Disk Images](https://docs.citrix.com/en-us/xencenter/current-release/vms-importdiskimage.html)."
|
||||
- For the "Enable Operating System Fixup" step, select **Don't use Operating System Fixup**.
|
||||
- Leave the VM powered off when you're finished.
|
||||
{% data reusables.enterprise_installation.create-attached-storage-volume %} For instructions, see the XenCenter guide "[Add Virtual Disks](https://docs.citrix.com/en-us/xencenter/current-release/vms-storage-addnewdisk.html)."
|
||||
|
||||
## Configurar la instancia de {% data variables.product.prodname_ghe_server %}
|
||||
## Configuring the {% data variables.product.prodname_ghe_server %} instance
|
||||
|
||||
{% data reusables.enterprise_installation.copy-the-vm-public-dns-name %}
|
||||
{% data reusables.enterprise_installation.upload-a-license-file %}
|
||||
{% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} Para obtener más información, consulta "[Configurar el aparato de {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)."
|
||||
{% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "[Configuring the {% data variables.product.prodname_ghe_server %} appliance](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)."
|
||||
{% data reusables.enterprise_installation.instance-will-restart-automatically %}
|
||||
{% data reusables.enterprise_installation.visit-your-instance %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Resumen del sistema](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %}
|
||||
- "[Acerca de las mejoras a los lanzamientos nuevos](/admin/overview/about-upgrades-to-new-releases)"{% endif %}
|
||||
- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %}
|
||||
- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de las cuentas de empresa
|
||||
intro: 'Con {% data variables.product.product_name %}, puedes utilizar una cuenta empresarial para {% ifversion ghec %}habilitar la colaboración entre tus organizaciones, mientras que proporcionas{% elsif ghes or ghae %}dar{% endif %} a los administradores un punto único de visibilidad y administración.'
|
||||
title: About enterprise accounts
|
||||
intro: 'With {% data variables.product.product_name %}, you can use an enterprise account to {% ifversion ghec %}enable collaboration between your organizations, while giving{% elsif ghes or ghae %}give{% endif %} administrators a single point of visibility and management.'
|
||||
redirect_from:
|
||||
- /articles/about-github-business-accounts/
|
||||
- /articles/about-enterprise-accounts
|
||||
@@ -20,81 +20,83 @@ topics:
|
||||
- Fundamentals
|
||||
---
|
||||
|
||||
## Acerca de las cuentas empresariales en {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% else %}{% data variables.product.product_name %}{% endif %}
|
||||
## About enterprise accounts on {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% else %}{% data variables.product.product_name %}{% endif %}
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
Tu cuenta empresarial en {% data variables.product.prodname_dotcom_the_website %} te permite administrar organizaciones múltiples. Tu cuenta de empresa debe tener un controlador, como una organización o cuenta personal en {% data variables.product.prodname_dotcom %}.
|
||||
Your enterprise account on {% data variables.product.prodname_dotcom_the_website %} allows you to manage multiple organizations. Your enterprise account must have a handle, like an organization or personal account on {% data variables.product.prodname_dotcom %}.
|
||||
|
||||
{% elsif ghes or ghae %}
|
||||
|
||||
La cuenta empresarial en {% ifversion ghes %}{% data variables.product.product_location_enterprise %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} te permite administrar las organizaciones{% ifversion ghes %} en{% elsif ghae %} que pertenecen a{% endif %} tu {% ifversion ghes %}instancia de {% data variables.product.prodname_ghe_server %}{% elsif ghae %}empresa{% endif %}.
|
||||
The enterprise account on {% ifversion ghes %}{% data variables.product.product_location_enterprise %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} allows you to manage the organizations{% ifversion ghes %} on{% elsif ghae %} owned by{% endif %} your {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} instance{% elsif ghae %}enterprise{% endif %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
Las organizaciones son cuentas compartidas en donde los miembros de las empresas pueden colaborar a través de muchos proyectos al mismo tiempo. Los propietarios de la organización pueden administrar el acceso a los datos y proyectos de esta con seguridad y características administrativas sofisticadas. Para obtener más información, consulta la sección {% ifversion ghec %}"[Acerca de las organizaciones](/organizations/collaborating-with-groups-in-organizations/about-organizations)".{% elsif ghes or ghae %}"[Acerca de las organizaciones](/organizations/collaborating-with-groups-in-organizations/about-organizations)" y "[Administrar usuarios, organizaciones y repositorios](/admin/user-management)".{% endif %}
|
||||
Organizations are shared accounts where enterprise members can collaborate across many projects at once. Organization owners can manage access to the organization's data and projects with sophisticated security and administrative features. For more information, see {% ifversion ghec %}"[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)."{% elsif ghes or ghae %}"[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)" and "[Managing users, organizations, and repositories](/admin/user-management)."{% endif %}
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
Los propietarios de las empresas pueden crear organizaciones y enlazarlas a la empresa. Alternatively, you can invite an existing organization to join your enterprise account. Después de que agregues organizaciones a tu cuenta empresarial, puedes administrar y requerir políticas para dichas organizaciones. Las opciones de cumplimiento específicas varían según el parámetro, generalmente, puedes elegir implementar una política única para cada organización en tu cuenta de empresa o puedes permitirle a los propietarios configurar la política en el nivel de organización. For more information, see "[Setting policies for your enterprise](/admin/policies)."
|
||||
Enterprise owners can create organizations and link the organizations to the enterprise. Alternatively, you can invite an existing organization to join your enterprise account. After you add organizations to your enterprise account, you can manage and enforce policies for the organizations. Specific enforcement options vary by setting; generally, you can choose to enforce a single policy for every organization in your enterprise account or allow owners to set policy on the organization level. For more information, see "[Setting policies for your enterprise](/admin/policies)."
|
||||
|
||||
{% data reusables.enterprise.create-an-enterprise-account %} For more information, see "[Creating an enterprise account](/admin/overview/creating-an-enterprise-account)."
|
||||
|
||||
{% elsif ghes or ghae %}
|
||||
|
||||
Para obtener más información sobre la administración de políticas para tu cuenta empresarial, consulta la sección "[Configurar las políticas de tu empresa](/admin/policies)".
|
||||
For more information about the management of policies for your enterprise account, see "[Setting policies for your enterprise](/admin/policies)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Acerca de la administración de tu cuenta empresarial
|
||||
## About administration of your enterprise account
|
||||
|
||||
{% ifversion ghes or ghae %}
|
||||
|
||||
Desde tu cuenta empresarial en {% ifversion ghae %}{% data variables.product.product_name %}{% elsif ghes %}una instancia de {% data variables.product.prodname_ghe_server %}{% endif %}, los administradores pueden ver la membrecía empresrial y administrar lo siguiente para la instancia de {% ifversion ghes %}{% data variables.product.prodname_ghe_server %}{% elsif ghae %}empresa en {% data variables.product.prodname_ghe_managed %}{% endif %}.
|
||||
From your enterprise account on {% ifversion ghae %}{% data variables.product.product_name %}{% elsif ghes %}a {% data variables.product.prodname_ghe_server %} instance{% endif %}, administrators can view enterprise membership and manage the following for the {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} instance{% elsif ghae %}enterprise on {% data variables.product.prodname_ghe_managed %}{% endif %}.
|
||||
|
||||
{% ifversion ghes %}
|
||||
- Uso de licencia{% endif %}
|
||||
- Seguridad ({% ifversion ghae %}inicio de sesión único, listas de IP permitidas, {% endif %}autoridades de certificados SSH, autenticación bifactorial)
|
||||
- Políticas empresariales para las organizaciones que pertenezcan a la cuenta empresarial
|
||||
- License usage{% endif %}
|
||||
- Security ({% ifversion ghae %}single sign-on, IP allow lists, {% endif %}SSH certificate authorities, two-factor authentication)
|
||||
- Enterprise policies for organizations owned by the enterprise account
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
### Acerca de la administración de tu cuenta empresarial en {% data variables.product.prodname_ghe_cloud %}
|
||||
### About administration of your enterprise account on {% data variables.product.prodname_ghe_cloud %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghec or ghes %}Cuando pruebas o compras {% data variables.product.prodname_enterprise %}, también {% ifversion ghes %} puedes{% endif %} crear una cuenta empresarial para {% data variables.product.prodname_ghe_cloud %} en {% data variables.product.prodname_dotcom_the_website %}. Los administradores de la cuenta empresarial en {% data variables.product.prodname_dotcom_the_website %} pueden ver la membrecía y administrar lo siguiente para la cuenta empresarial{% ifversion ghes %} en {% data variables.product.prodname_dotcom_the_website %}{% endif %}.
|
||||
{% ifversion ghec or ghes %}When you try or purchase {% data variables.product.prodname_enterprise %}, you can{% ifversion ghes %} also{% endif %} create an enterprise account for {% data variables.product.prodname_ghe_cloud %} on {% data variables.product.prodname_dotcom_the_website %}. Administrators for the enterprise account on {% data variables.product.prodname_dotcom_the_website %} can view membership and manage the following for the enterprise account{% ifversion ghes %} on {% data variables.product.prodname_dotcom_the_website %}{% endif %}.
|
||||
|
||||
- Facturación y uso (Servicios en {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_GH_advanced_security %}, licencias de usuario)
|
||||
- Seguridad (Inicio de sesión único, listas de IP permitidas, autoridades de certificados SSH, autenticación bifactorial)
|
||||
- Políticas empresariales para las organizaciones que pertenezcan a la cuenta empresarial
|
||||
- Billing and usage (services on {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_GH_advanced_security %}, user licenses)
|
||||
- Security (single sign-on, IP allow lists, SSH certificate authorities, two-factor authentication)
|
||||
- Enterprise policies for organizations owned by the enterprise account
|
||||
|
||||
Si utilizas tanto {% data variables.product.prodname_ghe_cloud %} como {% data variables.product.prodname_ghe_server %}, también puedes administrar lo siguiente para {% data variables.product.prodname_ghe_server %} desde tu cuenta empresarial en {% data variables.product.prodname_dotcom_the_website %}.
|
||||
If you use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}, you can also manage the following for {% data variables.product.prodname_ghe_server %} from your enterprise account on {% data variables.product.prodname_dotcom_the_website %}.
|
||||
|
||||
- Facturación y uso de las instancias de {% data variables.product.prodname_ghe_server %}
|
||||
- Solicitudes y paquetes de soporte compartidos con {% data variables.contact.enterprise_support %}
|
||||
- Billing and usage for {% data variables.product.prodname_ghe_server %} instances
|
||||
- Requests and support bundle sharing with {% data variables.contact.enterprise_support %}
|
||||
|
||||
También puedes conectar la cuenta empresarial en {% data variables.product.product_location_enterprise %} a tu cuenta empresarial en {% data variables.product.prodname_dotcom_the_website %} para ver los detalles de uso de licencia para tu suscripción de {% data variables.product.prodname_enterprise %} desde {% data variables.product.prodname_dotcom_the_website %}. For more information, see {% ifversion ghec %}"[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/enterprise-server/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}"[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)."{% endif %}
|
||||
You can also connect the enterprise account on {% data variables.product.product_location_enterprise %} to your enterprise account on {% data variables.product.prodname_dotcom_the_website %} to see license usage details for your {% data variables.product.prodname_enterprise %} subscription from {% data variables.product.prodname_dotcom_the_website %}. For more information, see {% ifversion ghec %}"[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/enterprise-server/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}"[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)."{% endif %}
|
||||
|
||||
Para obtener más información acerca de las diferencias entre {% data variables.product.prodname_ghe_cloud %} y {% data variables.product.prodname_ghe_server %}, consulta la sección "[ productos de {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/githubs-products)". {% data reusables.enterprise-accounts.to-upgrade-or-get-started %}
|
||||
For more information about the differences between {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}, see "[{% data variables.product.prodname_dotcom %}'s products](/get-started/learning-about-github/githubs-products)." {% data reusables.enterprise-accounts.to-upgrade-or-get-started %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
## Acerca de {% data variables.product.prodname_emus %}
|
||||
## About {% data variables.product.prodname_emus %}
|
||||
|
||||
{% data reusables.enterprise-accounts.emu-short-summary %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Acerca de la facturación para tu cuenta empresarial
|
||||
## About billing for your enterprise account
|
||||
|
||||
La factura de tu cuenta empresarial incluye el costo mensual de cada miembro de ella. The bill includes {% ifversion ghec %}any paid licenses in organizations outside of your enterprise account, subscriptions to apps in {% data variables.product.prodname_marketplace %}, {% endif %}{% ifversion ghec or ghae %}additional paid services for your enterprise{% ifversion ghec %} like data packs for {% data variables.large_files.product_name_long %},{% endif %} and{% endif %} usage for {% data variables.product.prodname_GH_advanced_security %}.
|
||||
The bill for your enterprise account includes the monthly cost for each member of your enterprise. The bill includes {% ifversion ghec %}any paid licenses in organizations outside of your enterprise account, subscriptions to apps in {% data variables.product.prodname_marketplace %}, {% endif %}{% ifversion ghec or ghae %}additional paid services for your enterprise{% ifversion ghec %} like data packs for {% data variables.large_files.product_name_long %},{% endif %} and{% endif %} usage for {% data variables.product.prodname_GH_advanced_security %}.
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
Para obtener más información sobre la facturación de tu suscripción de {% data variables.product.prodname_ghe_cloud %}, consulta las secciones "[Ver la suscripción y el uso de tu cuenta empresarial](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)" y "[Acerca de la facturación de tu empresa](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise)".
|
||||
For more information about billing for your {% data variables.product.prodname_ghe_cloud %} subscription, see "[Viewing the subscription and usage for your enterprise account](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)" and "[About billing for your enterprise](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise)."
|
||||
|
||||
{% elsif ghes %}
|
||||
|
||||
@@ -108,10 +110,10 @@ For more information about billing for {% ifversion ghec %}{% data variables.pro
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
{% data variables.product.prodname_enterprise %} ofrece opciones de despliegue. Adicionalmente a las {% data variables.product.prodname_ghe_cloud %}, puedes utilizar {% data variables.product.prodname_ghe_server %} para hospedar trabajo de desarrollo para tu empresa en tu centro de datos o proveedor compatible en la nube. {% endif %}Los propietarios empresariales en {% data variables.product.prodname_dotcom_the_website %} pueden utilizar una cuenta empresarial para administrar el pago y el licenciamiento de las instancias de {% data variables.product.prodname_ghe_server %}. Para obtener más información, consulta las secciones "[ productos de {% data variables.product.company_short %}](/get-started/learning-about-github/githubs-products#github-enterprise)" y "[Administrar tu licencia para {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise)".
|
||||
{% data variables.product.prodname_enterprise %} offers two deployment options. In addition to {% data variables.product.prodname_ghe_cloud %}, you can use {% data variables.product.prodname_ghe_server %} to host development work for your enterprise in your data center or supported cloud provider. {% endif %}Enterprise owners on {% data variables.product.prodname_dotcom_the_website %} can use an enterprise account to manage payment and licensing for {% data variables.product.prodname_ghe_server %} instances. For more information, see "[{% data variables.product.company_short %}'s products](/get-started/learning-about-github/githubs-products#github-enterprise)" and "[Managing your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Cuentas empresariales](/graphql/guides/managing-enterprise-accounts)" en la documentación de la API de GraphQL
|
||||
- "[Enterprise accounts](/graphql/guides/managing-enterprise-accounts)" in the GraphQL API documentation
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Resumen
|
||||
intro: 'Puedes aprender sobre {% data variables.product.product_name %} y administrar cuentas de{% ifversion ghes %} y accesos, licencias, y{% endif %} facturación.'
|
||||
title: Overview
|
||||
intro: 'You can learn about {% data variables.product.product_name %} and manage{% ifversion ghes %} accounts and access, licenses, and{% endif %} billing.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/overview
|
||||
versions:
|
||||
@@ -14,6 +14,6 @@ children:
|
||||
- /about-enterprise-accounts
|
||||
- /system-overview
|
||||
- /about-the-github-enterprise-api
|
||||
- /creating-an-enterprise-account
|
||||
---
|
||||
|
||||
Para obtener más información, o para comprar {% data variables.product.prodname_enterprise %}, consulta [{% data variables.product.prodname_enterprise %}](https://github.com/enterprise).
|
||||
For more information, or to purchase {% data variables.product.prodname_enterprise %}, see [{% data variables.product.prodname_enterprise %}](https://github.com/enterprise).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Habilitar los GitHub Packages con MinIO
|
||||
intro: 'Configura el {% data variables.product.prodname_registry %} con MinIO como tu almacenamiento externo.'
|
||||
title: Enabling GitHub Packages with MinIO
|
||||
intro: 'Set up {% data variables.product.prodname_registry %} with MinIO as your external storage.'
|
||||
versions:
|
||||
ghes: '*'
|
||||
type: tutorial
|
||||
@@ -8,21 +8,23 @@ topics:
|
||||
- Enterprise
|
||||
- Packages
|
||||
- Storage
|
||||
shortTitle: Habilitar los paquetes con MinIO
|
||||
shortTitle: Enable Packages with MinIO
|
||||
---
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencias:**
|
||||
- Es crítico que configures las políticas de acceso restrictivo que necesites para tu bucket de almacenamiento, ya que {% data variables.product.company_short %} no aplica permisos de objeto específicos o listas de control de acceso adicionales (ACLs) a tu configuración de bucket de almacenamiento. Por ejemplo, si haces a tu bucket público, el público general en la internet podrá acceder a ellos.
|
||||
- Te recomendamos utilizar un bucket dedicado para {% data variables.product.prodname_registry %}, separado de aquél que utilices para almacenar {% data variables.product.prodname_actions %}.
|
||||
- Asegúrate de configurar el bucket que quieres utilizar en el futuro. No te recomendamos cambiar tu almacenamiento después de que comienzas a utilizar {% data variables.product.prodname_registry %}.
|
||||
**Warnings:**
|
||||
- It is critical that you set the restrictive access policies you need for your storage bucket, because {% data variables.product.company_short %} does not apply specific object permissions or additional access control lists (ACLs) to your storage bucket configuration. For example, if you make your bucket public, data in the bucket will be accessible on the public internet.
|
||||
- We recommend using a dedicated bucket for {% data variables.product.prodname_registry %}, separate from the bucket you use for {% data variables.product.prodname_actions %} storage.
|
||||
- Make sure to configure the bucket you'll want to use in the future. We do not recommend changing your storage after you start using {% data variables.product.prodname_registry %}.
|
||||
|
||||
{% endwarning %}
|
||||
## Prerrequisitos
|
||||
Antes de que puedas habilitar y configurar el {% data variables.product.prodname_registry %} en {% data variables.product.product_location_enterprise %}, necesitas preparar tu bucket de almacenamiento de MinIO. Para ayudarte a configurar el bucket de MinIO rápidamente y navegar a las opciones de personalización de MinIO, consulta la [Guía de inicio rápido para configurar tu bucket de almacenamiento de MinIO para el {% data variables.product.prodname_registry %}](/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages)".
|
||||
|
||||
Asegúrate que tu ID de clave de acceso y secreto de almacenamiento externo de MinIO tenga estos permisos:
|
||||
## Prerequisites
|
||||
|
||||
Before you can enable and configure {% data variables.product.prodname_registry %} on {% data variables.product.product_location_enterprise %}, you need to prepare your MinIO storage bucket. To help you quickly set up a MinIO bucket and navigate MinIO's customization options, see the "[Quickstart for configuring your MinIO storage bucket for {% data variables.product.prodname_registry %}](/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages)."
|
||||
|
||||
Ensure your MinIO external storage access key ID and secret have these permissions:
|
||||
- `s3:PutObject`
|
||||
- `s3:GetObject`
|
||||
- `s3:ListBucketMultipartUploads`
|
||||
@@ -31,9 +33,9 @@ Asegúrate que tu ID de clave de acceso y secreto de almacenamiento externo de M
|
||||
- `s3:DeleteObject`
|
||||
- `s3:ListBucket`
|
||||
|
||||
## Habilitar el {% data variables.product.prodname_registry %} con el almacenamiento externo de MinIO
|
||||
## Enabling {% data variables.product.prodname_registry %} with MinIO external storage
|
||||
|
||||
Although MinIO does not currently appear in the user interface under "Package Storage", MinIO is still supported by {% data variables.product.prodname_registry %} on {% data variables.product.prodname_enterprise %}. También debes tomar en cuenta que el almacenamiento de objetos de MinIO es compatible con la API de S3 y puedes ingresar los detalles del bucket de MinIO en vez de aquellos de AWS S3.
|
||||
Although MinIO does not currently appear in the user interface under "Package Storage", MinIO is still supported by {% data variables.product.prodname_registry %} on {% data variables.product.prodname_enterprise %}. Also, note that MinIO's object storage is compatible with the S3 API and you can enter MinIO's bucket details in place of AWS S3 details.
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
@@ -41,16 +43,16 @@ Although MinIO does not currently appear in the user interface under "Package St
|
||||
{% data reusables.package_registry.enable-enterprise-github-packages %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
1. Debajo de "Almacenamiento de Paquetes", selecciona **Amazon S3**.
|
||||
1. Ingresa tus detalles de bucket de almacenamiento de MinIO en la configuración de almacenamiento de AWS.
|
||||
- **AWS Service URL:** La URL de hospedaje para tu bucket de MinIO.
|
||||
- **AWS S3 Bucket:** El nombre de tu bucket de MinIO compatible con S3 dedicado para el {% data variables.product.prodname_registry %}.
|
||||
- **AWS S3 Access Key** y **AWS S3 Secret Key**: Ingresa la ID de clave de acceso y clave secreta de MinIO para acceder a tu bucket.
|
||||
1. Under "Packages Storage", select **Amazon S3**.
|
||||
1. Enter your MinIO storage bucket's details in the AWS storage settings.
|
||||
- **AWS Service URL:** The hosting URL for your MinIO bucket.
|
||||
- **AWS S3 Bucket:** The name of your S3-compatible MinIO bucket dedicated to {% data variables.product.prodname_registry %}.
|
||||
- **AWS S3 Access Key** and **AWS S3 Secret Key**: Enter the MinIO access key ID and secret key to access your bucket.
|
||||
|
||||

|
||||

|
||||
{% endif %}
|
||||
{% data reusables.enterprise_management_console.save-settings %}
|
||||
|
||||
## Pasos siguientes
|
||||
## Next steps
|
||||
|
||||
{% data reusables.package_registry.next-steps-for-packages-enterprise-setup %}
|
||||
|
||||
@@ -14,36 +14,46 @@ topics:
|
||||
- Administrator
|
||||
- Enterprise
|
||||
- Organizations
|
||||
shortTitle: Agregar organizaciones
|
||||
shortTitle: Add organizations
|
||||
---
|
||||
|
||||
## Acerca de las organizaciones
|
||||
## About organizations
|
||||
|
||||
Your enterprise account can own organizations. Members of your enterprise can collaborate across related projects within an organization. Para obtener más información, consulta "[Acerca de las organizaciones](/organizations/collaborating-with-groups-in-organizations/about-organizations)".
|
||||
Your enterprise account can own organizations. Members of your enterprise can collaborate across related projects within an organization. For more information, see "[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)."
|
||||
|
||||
Enterprise owners can create new organizations within an enterprise account's settings or invite existing organizations to join an enterprise. To add an organization to your enterprise, you must create the organization from within the enterprise account settings.
|
||||
|
||||
## Crear una organización en tu cuenta de empresa
|
||||
You can only add organizations this way to an existing enterprise account. {% data reusables.enterprise.create-an-enterprise-account %} For more information, see "[Creating an enterprise account](/admin/overview/creating-an-enterprise-account)."
|
||||
|
||||
Las organizaciones nuevas que crees dentro de los parámetros de la cuenta de empresa se incluyen en la suscripción de la cuenta de empresa de {% data variables.product.prodname_ghe_cloud %}.
|
||||
## Creating an organization in your enterprise account
|
||||
|
||||
Los propietarios de empresas que creen una organización que es propiedad de una cuenta de empresa se convierten automáticamente en los propietarios de la organización. For more information about organization owners, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."
|
||||
New organizations you create within your enterprise account settings are included in your enterprise account's {% data variables.product.prodname_ghe_cloud %} subscription.
|
||||
|
||||
Enterprise owners who create an organization owned by the enterprise account automatically become organization owners. For more information about organization owners, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
2. En la pestaña **Organizations** (Organizaciones), encima de la lista d elas organizaciones, haz clic en **New organization** (Organización nueva). 
|
||||
3. En "Organization name" (Nombre de la organización) escribe un nombre para tu organización. 
|
||||
4. Haz clic en **Create organization** (Crear organización).
|
||||
5. En "Invite owners" (Invitar propietarios), escribe el nombre de usuario de una persona a la que te gustaría invitar para convertir en propietario de la organización, luego clic en **Invite** (Invitar). 
|
||||
6. Da clic en **Finalizar**.
|
||||
2. On the **Organizations** tab, above the list of organizations, click **New organization**.
|
||||

|
||||
3. Under "Organization name", type a name for your organization.
|
||||

|
||||
4. Click **Create organization**.
|
||||
5. Under "Invite owners", type the username of a person you'd like to invite to become an organization owner, then click **Invite**.
|
||||

|
||||
6. Click **Finish**.
|
||||
|
||||
## Invitar a una organización para que se una a tu cuenta empresarial
|
||||
## Inviting an organization to join your enterprise account
|
||||
|
||||
Los propietarios de las empresas pueden invitar a las organizaciones existentes para que se unan a su cuenta empresarial. Si la organización que quieres invitar ya pertenece a otra empresa, no podrás emitir una invitación hasta que la empresa anterior deje la propiedad de esta.
|
||||
Enterprise owners can invite existing organizations to join their enterprise account. If the organization you want to invite is already owned by another enterprise, you will not be able to issue an invitation until the previous enterprise gives up ownership of the organization.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
2. En la pestaña **Organizaciones**, sobre la lista de las organizaciones, haz clic en **Invitar organización**. 
|
||||
3. Debajo de "Nombre de organización", comienza a teclear el nombre de la organización que quieras invitar y selecciónalo cuando se muestre en la lista desplegable. 
|
||||
4. Haz clic en **Invitar organización**.
|
||||
5. Los propietarios de la organización recibirán un mensaje de correo electrónico invitándolos a unirse a la organización. Por lo menos el propietario necesita aceptar la invitación antes de que el proceso pueda continuar. Puedes cancelar o reenviar la invitación en cualquier momento antes de que un propietario la apruebe. 
|
||||
6. Una vez que un propietario de la organización haya aprobado la invitación, puedes ver su estado en la lista de invitaciones pendientes. 
|
||||
7. Haz clic en **Aprobar** para completar la transferencia o en **Cancelar** para cancelarla. 
|
||||
2. On the **Organizations** tab, above the list of organizations, click **Invite organization**.
|
||||

|
||||
3. Under "Organization name", start typing the name of the organization you want to invite and select it when it appears in the drop-down list.
|
||||

|
||||
4. Click **Invite organization**.
|
||||
5. The organization owners will receive an email inviting them to join the organization. At least one owner needs to accept the invitation before the process can continue. You can cancel or resend the invitation at any time before an owner approves it.
|
||||

|
||||
6. Once an organization owner has approved the invitation, you can view its status in the list of pending invitations.
|
||||

|
||||
7. Click **Approve** to complete the transfer, or **Cancel** to cancel it.
|
||||

|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Crear equipos
|
||||
intro: 'Los equipos les permiten a las organizaciones crear grupos de miembros y controlar el acceso a los repositorios. A los miembros del equipo se les pueden otorgar permisos de lectura, escritura o administración para repositorios específicos.'
|
||||
title: Creating teams
|
||||
intro: 'Teams give organizations the ability to create groups of members and control access to repositories. Team members can be granted read, write, or admin permissions to specific repositories.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/user-management/creating-teams
|
||||
- /admin/user-management/creating-teams
|
||||
@@ -13,16 +13,15 @@ topics:
|
||||
- Teams
|
||||
- User account
|
||||
---
|
||||
Teams are central to many of {% data variables.product.prodname_dotcom %}'s collaborative features, such as team @mentions to notify appropriate parties that you'd like to request their input or attention. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."
|
||||
|
||||
Los equipos son centrales para muchas de las características colaborativas de {% data variables.product.prodname_dotcom %}, como las @menciones del equipo para notificar a las partes correspondientes que les quieres solicitar su colaboración o atención. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."
|
||||
A team can represent a group within your company or include people with certain interests or expertise. For example, a team of accessibility experts on {% data variables.product.product_location %} could comprise of people from several different departments. Teams can represent functional concerns that complement a company's existing divisional hierarchy.
|
||||
|
||||
Un equipo puede representar a un grupo dentro de tu empresa o incluir personas con ciertos intereses o experiencia. Por ejemplo, un equipo de expertos en accesibilidad en {% data variables.product.product_location %} podría estar compuesto por personas de diferentes departamentos. Los equipos pueden representar inquietudes de carácter funcional que complementan la jerarquía divisional existente de una empresa.
|
||||
Organizations can create multiple levels of nested teams to reflect a company or group's hierarchy structure. For more information, see "[About teams](/enterprise/{{ currentVersion }}/user/articles/about-teams/#nested-teams)."
|
||||
|
||||
Las organizaciones pueden crear varios niveles de equipos anidados para reflejar la estructura de jerarquía de una empresa o grupo. Para obtener más información, consulta "[Acerca de los equipos](/enterprise/{{ currentVersion }}/user/articles/about-teams/#nested-teams)".
|
||||
## Creating a team
|
||||
|
||||
## Crear un equipo
|
||||
|
||||
Una combinación prudente de equipos es una manera eficaz de controlar el acceso a los repositorios. Por ejemplo, si tu organización solo permite que tu equipo de ingeniería en lanzamientos suba código a la rama predeterminada de cualquier repositorio, puedes otorgar únicamente a este equipo el permiso de **administrador** para los repositorios de tu organización y darle al resto de los equipos permisos de **lectura**.
|
||||
A prudent combination of teams is a powerful way to control repository access. For example, if your organization allows only your release engineering team to push code to the default branch of any repository, you could give only the release engineering team **admin** permissions to your organization's repositories and give all other teams **read** permissions.
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.user_settings.access_org %}
|
||||
@@ -33,27 +32,30 @@ Una combinación prudente de equipos es una manera eficaz de controlar el acceso
|
||||
{% data reusables.organizations.create-team-choose-parent %}
|
||||
{% data reusables.organizations.create_team %}
|
||||
|
||||
## Crear equipos con la sincronización LDAP activada
|
||||
## Creating teams with LDAP Sync enabled
|
||||
|
||||
Las instancias que usan LDAP para la autenticación de usuarios pueden usar la sincronización LDAP para administrar los miembros de un equipo. Al poner el **Nombre Distintivo** (DN) del grupo en el campo **LDAP group** (Grupo LDAP), se le asignará un equipo a un grupo LDAP en tu servidor LDAP. Si usas la sincronización LDAP para administrar los miembros de un equipo, no podrás administrar tu equipo dentro de {% data variables.product.product_location %}. Cuando la sincronización LDAP está activada, el equipo asignado sincroniza sus miembros en segundo plano de manera periódica con el intervalo configurado. Para obtener más información, consulta "[Activar sincronización LDAP](/enterprise/{{ page.version }}/admin/guides/user-management/using-ldap#enabling-ldap-sync)".
|
||||
Instances using LDAP for user authentication can use LDAP Sync to manage a team's members. Setting the group's **Distinguished Name** (DN) in the **LDAP group** field will map a team to an LDAP group on your LDAP server. If you use LDAP Sync to manage a team's members, you won't be able to manage your team within {% data variables.product.product_location %}. The mapped team will sync its members in the background and periodically at the interval configured when LDAP Sync is enabled. For more information, see "[Enabling LDAP Sync](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync)."
|
||||
|
||||
You must be a site admin and an organization owner to create a team with LDAP sync enabled.
|
||||
|
||||
{% data reusables.enterprise_user_management.ldap-sync-nested-teams %}
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Notas:**
|
||||
- La sincronización LDAP solo administra la lista de miembros del equipo. Debes administrar los permisos y repositorios del equipo desde dentro del {% data variables.product.prodname_ghe_server %}.
|
||||
- Si se elimina un grupo LDAP asignado a un DN, o si se borra un grupo LDAP, todos los miembros se eliminan del equipo sincronizado del {% data variables.product.prodname_ghe_server %}. Para solucionar esto, asigna el equipo a un nuevo DN, vuelve a agregar a los miembros del equipo y [sincroniza de forma manual la asignación](/enterprise/{{ page.version }}/admin/guides/user-management/using-ldap/#manually-syncing-ldap-accounts).
|
||||
- Si se elimina a una persona de un repositorio cuando la sincronización LDAP está activada, perderá el acceso, pero sus bifurcaciones no se borrarán. Si se agrega a esa persona a un equipo con acceso al repositorio original de la organización dentro de los tres meses posteriores, en la siguiente sincronización, se reestablecerá automáticamente su acceso a las bifurcaciones.
|
||||
**Notes:**
|
||||
- LDAP Sync only manages the team's member list. You must manage the team's repositories and permissions from within {% data variables.product.prodname_ghe_server %}.
|
||||
- If an LDAP group mapping to a DN is removed, such as if the LDAP group is deleted, then every member is removed from the synced {% data variables.product.prodname_ghe_server %} team. To fix this, map the team to a new DN, add the team members back, and [manually sync the mapping](/enterprise/admin/authentication/using-ldap#manually-syncing-ldap-accounts).
|
||||
- When LDAP Sync is enabled, if a person is removed from a repository, they will lose access but their forks will not be deleted. If the person is added to a team with access to the original organization repository within three months, their access to the forks will be automatically restored on the next sync.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
1. Asegúrate de que [La sincronización LDAP esté activada](/enterprise/{{ page.version }}/admin/guides/user-management/using-ldap#enabling-ldap-sync).
|
||||
1. Ensure that [LDAP Sync is enabled](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync).
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.user_settings.access_org %}
|
||||
{% data reusables.organizations.new_team %}
|
||||
{% data reusables.organizations.team_name %}
|
||||
6. Busca el DN de un grupo LDAP al que asignar el equipo. Si no conoces el DN, escribe el nombre del grupo LDAP. El {% data variables.product.prodname_ghe_server %} buscará y completará automáticamente cualquier coincidencia. 
|
||||
6. Search for an LDAP group's DN to map the team to. If you don't know the DN, type the LDAP group's name. {% data variables.product.prodname_ghe_server %} will search for and autocomplete any matches.
|
||||

|
||||
{% data reusables.organizations.team_description %}
|
||||
{% data reusables.organizations.team_visibility %}
|
||||
{% data reusables.organizations.create-team-choose-parent %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Auditar a los usuarios a lo largo de tu empresa
|
||||
intro: 'El tablero de bitácoras de auditoría muestra a los administradores de sitio las acciones que realizan todos los usuarios y organizaciones en toda la empresa durante los últimos 90 días, incluyendo detalles tales como quién realizó la acción, de qué acción se trata, y cuándo se llevó a cabo.'
|
||||
title: Auditing users across your enterprise
|
||||
intro: 'The audit log dashboard shows site administrators the actions performed by all users and organizations across your enterprise within the current month and previous six months. The audit log includes details such as who performed the action, what the action was, and when the action was performed.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/guides/user-management/auditing-users-across-an-organization/
|
||||
- /enterprise/admin/user-management/auditing-users-across-your-instance
|
||||
@@ -16,105 +16,104 @@ topics:
|
||||
- Organizations
|
||||
- Security
|
||||
- User account
|
||||
shortTitle: Auditar usuarios
|
||||
shortTitle: Audit users
|
||||
---
|
||||
## Accessing the audit log
|
||||
|
||||
## Acceder al registro de auditoría
|
||||
The audit log dashboard gives you a visual display of audit data across your enterprise.
|
||||
|
||||
El tablero de bitácoras de auditoría te proporciona una presentación visual de los datos de auditoría a lo largo de tu empresa.
|
||||
|
||||

|
||||

|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.audit-log-tab %}
|
||||
|
||||
Dentro del mapa, puedes usar panorámica y zoom para ver eventos en todo el mundo. Mantén el puntero sobre un país para ver un recuento rápido de los eventos de ese país.
|
||||
Within the map, you can pan and zoom to see events around the world. Hover over a country to see a quick count of events from that country.
|
||||
|
||||
## Buscar eventos a través de tu empresa
|
||||
## Searching for events across your enterprise
|
||||
|
||||
La bitácora de auditoría lista la siguiente información sobre las acciones que se llevan a cabo dentro de tu empresa:
|
||||
The audit log lists the following information about actions made within your enterprise:
|
||||
|
||||
* [El repositorio](#search-based-on-the-repository) en el cual una acción fue realizada.
|
||||
* [El usuario](#search-based-on-the-user) que realizó la acción.
|
||||
* [La organización](#search-based-on-the-organization) a la cual pertenece la acción.
|
||||
* [La acción](#search-based-on-the-action-performed) que fue realizada.
|
||||
* [El país](#search-based-on-the-location) en el que la acción fue realizada.
|
||||
* [La fecha y la hora](#search-based-on-the-time-of-action) en que ocurrió la acción.
|
||||
* [The repository](#search-based-on-the-repository) an action was performed in
|
||||
* [The user](#search-based-on-the-user) who performed the action
|
||||
* [Which organization](#search-based-on-the-organization) an action pertained to
|
||||
* [The action](#search-based-on-the-action-performed) that was performed
|
||||
* [Which country](#search-based-on-the-location) the action took place in
|
||||
* [The date and time](#search-based-on-the-time-of-action) the action occurred
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Notas:**
|
||||
**Notes:**
|
||||
|
||||
- Si bien no puedes utilizar texto para buscar entradas de auditoría, puedes crear consultas de búsqueda usando una variedad de filtros. {% data variables.product.product_name %} es compatible con muchos operadores para hacer búsquedas a través de {% data variables.product.product_name %}. Para obtener más información, consulta [Acerca de buscar en {% data variables.product.prodname_dotcom %}](/github/searching-for-information-on-github/about-searching-on-github)".
|
||||
- Para buscar eventos de más de 90 días, usa el calificador `created`.
|
||||
- While you can't use text to search for audit entries, you can construct search queries using a variety of filters. {% data variables.product.product_name %} supports many operators for searching across {% data variables.product.product_name %}. For more information, see "[About searching on {% data variables.product.prodname_dotcom %}](/github/searching-for-information-on-github/about-searching-on-github)."
|
||||
- Audit records are available for the current month and every day of the previous six months.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
### Búsqueda basada en el repositorio
|
||||
### Search based on the repository
|
||||
|
||||
El calificador `repo` limita las acciones a un repositorio específico que le pertenece a tu organización. Por ejemplo:
|
||||
The `repo` qualifier limits actions to a specific repository owned by your organization. For example:
|
||||
|
||||
* `repo:my-org/our-repo` encuentra todos los eventos que ocurrieron para el repositorio `our-repo` en la organización `my-org`.
|
||||
* `repo:my-org/our-repo repo:my-org/another-repo` encuentra todos los eventos que ocurrieron tanto para los repositorios `our-repo` como `another-repo` en la organización `my-org`.
|
||||
* `-repo:my-org/not-this-repo` excluye todos los eventos que ocurrieron para el repositorio `not-this-repo` en la organización `my-org`.
|
||||
* `repo:my-org/our-repo` finds all events that occurred for the `our-repo` repository in the `my-org` organization.
|
||||
* `repo:my-org/our-repo repo:my-org/another-repo` finds all events that occurred for both the `our-repo` and `another-repo` repositories in the `my-org` organization.
|
||||
* `-repo:my-org/not-this-repo` excludes all events that occurred for the `not-this-repo` repository in the `my-org` organization.
|
||||
|
||||
Debes incluir el nombre de tu organización dentro del calificador `repo`; si buscas solo `repo:our-repo` no funcionará.
|
||||
You must include your organization's name within the `repo` qualifier; searching for just `repo:our-repo` will not work.
|
||||
|
||||
### Búsqueda basada en el usuario
|
||||
### Search based on the user
|
||||
|
||||
El calificador `actor` examina eventos basados en el miembro de tu organización que realizó la acción. Por ejemplo:
|
||||
The `actor` qualifier scopes events based on the member of your organization that performed the action. For example:
|
||||
|
||||
* `actor:octocat` encuentra todos los eventos realizados por `octocat`.
|
||||
* `actor:octocat actor:hubot` encuentra todos los eventos realizados tanto por `octocat` como por `hubot`.
|
||||
* `-actor:hubot` excluye todos los eventos realizados por `hubot`.
|
||||
* `actor:octocat` finds all events performed by `octocat`.
|
||||
* `actor:octocat actor:hubot` finds all events performed by both `octocat` and `hubot`.
|
||||
* `-actor:hubot` excludes all events performed by `hubot`.
|
||||
|
||||
Solo puedes usar un nombre de usuario {% data variables.product.product_name %}, no el nombre real de un individuo.
|
||||
You can only use a {% data variables.product.product_name %} username, not an individual's real name.
|
||||
|
||||
### Búsqueda basada en la organización
|
||||
### Search based on the organization
|
||||
|
||||
El calificador `org` limita las acciones a una organización específica. Por ejemplo:
|
||||
The `org` qualifier limits actions to a specific organization. For example:
|
||||
|
||||
* `org:my-org` encuentra todos los eventos que ocurrieron para la organización `my-org`.
|
||||
* `org:my-org action:team` encuentra todos los eventos del equipo realizados dentro de la organización `my-org`.
|
||||
* `-org:my-org` excluye todos los eventos que ocurrieron para la organización `my-org`.
|
||||
* `org:my-org` finds all events that occurred for the `my-org` organization.
|
||||
* `org:my-org action:team` finds all team events performed within the `my-org` organization.
|
||||
* `-org:my-org` excludes all events that occurred for the `my-org` organization.
|
||||
|
||||
### Búsqueda basada en la acción realizada
|
||||
### Search based on the action performed
|
||||
|
||||
El calificador `action` busca los eventos específicos, agrupados dentro de categorías. Para obtener más información sobre los eventos asociados con estas categorías, consulta la sección "[Acciones auditadas](/admin/user-management/audited-actions)".
|
||||
The `action` qualifier searches for specific events, grouped within categories. For information on the events associated with these categories, see "[Audited actions](/admin/user-management/audited-actions)".
|
||||
|
||||
| Nombre de la categoría | Descripción |
|
||||
| ---------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `gancho` | Contiene todas las actividades relacionadas con los webhooks. |
|
||||
| `org` | Contiene todas las actividades relacionadas con los miembros de la organización. |
|
||||
| `repo` | Contiene todas las actividades relacionadas con los repositorios que le pertenecen a tu organización. |
|
||||
| `equipo` | Contiene todas las actividades relacionadas con los equipos en tu organización. |
|
||||
| Category name | Description
|
||||
|------------------|-------------------
|
||||
| `hook` | Contains all activities related to webhooks.
|
||||
| `org` | Contains all activities related organization membership
|
||||
| `repo` | Contains all activities related to the repositories owned by your organization.
|
||||
| `team` | Contains all activities related to teams in your organization.
|
||||
|
||||
Puedes buscar conjuntos específicos de acciones utilizando estos términos. Por ejemplo:
|
||||
You can search for specific sets of actions using these terms. For example:
|
||||
|
||||
* `action:team` encuentra todos los eventos agrupados dentro de la categoría de equipo.
|
||||
* `-action:billing` excluye todos los eventos en la categoría de facturación.
|
||||
* `action:team` finds all events grouped within the team category.
|
||||
* `-action:billing` excludes all events in the billing category.
|
||||
|
||||
Cada categoría tiene un conjunto de eventos asociados con los que puedes filtrar. Por ejemplo:
|
||||
Each category has a set of associated events that you can filter on. For example:
|
||||
|
||||
* `action:team.create` encuentra todos los eventos donde se creó un equipo.
|
||||
* `-action:billing.change_email` excluye todos los eventos donde se modificó el correo electrónico de facturación.
|
||||
* `action:team.create` finds all events where a team was created.
|
||||
* `-action:billing.change_email` excludes all events where the billing email was changed.
|
||||
|
||||
### Búsqueda basada en la ubicación
|
||||
### Search based on the location
|
||||
|
||||
El calificador `country` filtra las acciones por el país de origen.
|
||||
- Puedes utilizar un código corto de dos letras del país o el nombre completo.
|
||||
- Los países con espacios en sus nombres deben encerrarse entre comillas. Por ejemplo:
|
||||
* `country:de` encuentra todos los eventos ocurridos en Alemania.
|
||||
* `country:Mexico` encuentra todos los eventos ocurridos en México.
|
||||
* `country:"United States"` encuentra todos los eventos que ocurrieron en Estados Unidos.
|
||||
The `country` qualifier filters actions by the originating country.
|
||||
- You can use a country's two-letter short code or its full name.
|
||||
- Countries with spaces in their name must be wrapped in quotation marks. For example:
|
||||
* `country:de` finds all events that occurred in Germany.
|
||||
* `country:Mexico` finds all events that occurred in Mexico.
|
||||
* `country:"United States"` all finds events that occurred in the United States.
|
||||
|
||||
### Búsqueda basada en la fecha de acción
|
||||
### Search based on the time of action
|
||||
|
||||
El calificador `created` filtra las acciones por la fecha en la que ocurrieron.
|
||||
- Define fechas usando el formato `YYYY-MM-DD`-- es decir, año, seguido del mes, seguido del día.
|
||||
- Las fechas admiten [ calificadores mayor que, menor que y rango](/enterprise/{{ currentVersion }}/user/articles/search-syntax). Por ejemplo:
|
||||
* `created:2014-07-08` encuentra todos los eventos ocurridos el 8 de julio de 2014.
|
||||
* `created:>=2014-07-01` encuentra todos los eventos ocurridos el 8 de julio de 2014 o posteriormente.
|
||||
* `created:<=2014-07-01` encuentra todos los eventos ocurridos el 8 de julio de 2014 o anteriormente.
|
||||
* `created:2014-07-01..2014-07-31` encuentra todos los eventos ocurridos en el mes de julio de 2014.
|
||||
The `created` qualifier filters actions by the time they occurred.
|
||||
- Define dates using the format of `YYYY-MM-DD`--that's year, followed by month, followed by day.
|
||||
- Dates support [greater than, less than, and range qualifiers](/enterprise/{{ currentVersion }}/user/articles/search-syntax). For example:
|
||||
* `created:2014-07-08` finds all events that occurred on July 8th, 2014.
|
||||
* `created:>=2014-07-01` finds all events that occurred on or after July 8th, 2014.
|
||||
* `created:<=2014-07-01` finds all events that occurred on or before July 8th, 2014.
|
||||
* `created:2014-07-01..2014-07-31` finds all events that occurred in the month of July 2014.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Administrar los usuarios en tu empresa
|
||||
intro: Puedes auditar la actividad de los usuarios y administrar sus configuraciones de usuario.
|
||||
title: Managing users in your enterprise
|
||||
intro: You can audit user activity and manage user settings.
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise
|
||||
- /enterprise/admin/guides/user-management/enabling-avatars-and-identicons/
|
||||
@@ -26,12 +26,12 @@ children:
|
||||
- /viewing-people-in-your-enterprise
|
||||
- /viewing-and-managing-a-users-saml-access-to-your-enterprise
|
||||
- /auditing-users-across-your-enterprise
|
||||
- /impersonating-a-user
|
||||
- /managing-dormant-users
|
||||
- /suspending-and-unsuspending-users
|
||||
- /placing-a-legal-hold-on-a-user-or-organization
|
||||
- /auditing-ssh-keys
|
||||
- /customizing-user-messages-for-your-enterprise
|
||||
- /rebuilding-contributions-data
|
||||
shortTitle: Administrar usuarios
|
||||
shortTitle: Manage users
|
||||
---
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
---
|
||||
title: Administrar usuarios inactivos
|
||||
title: Managing dormant users
|
||||
redirect_from:
|
||||
- /enterprise/admin/articles/dormant-users/
|
||||
- /enterprise/admin/articles/viewing-dormant-users/
|
||||
- /enterprise/admin/articles/determining-whether-a-user-account-is-dormant/
|
||||
- /enterprise/admin/user-management/managing-dormant-users
|
||||
- /admin/user-management/managing-dormant-users
|
||||
intro: 'Se considera una cuenta de usuario como durmiente si no ha tenido actividad por lo menos en todo un mes.{% ifversion ghes %} Puedes elegir suspender a los usuarios durmientes para liberar licencias de usuario.{% endif %}'
|
||||
intro: '{% data reusables.enterprise-accounts.dormant-user-activity-threshold %}'
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
type: how_to
|
||||
@@ -16,38 +17,56 @@ topics:
|
||||
- Enterprise
|
||||
- Licensing
|
||||
---
|
||||
{% data reusables.enterprise-accounts.dormant-user-activity %}
|
||||
|
||||
"Actividad" incluye, entre otros:
|
||||
- Iniciar sesión en {% data variables.product.product_name %}.
|
||||
- Comentar en propuestas y en solicitudes de extracción.
|
||||
- Crear, eliminar, observar y destacar repositorios.
|
||||
- Subir confirmaciones.{% ifversion ghes or ghae %}
|
||||
- Acceder a los recursos utilizando un token de acceso personal o llave de SSH.{% endif %}
|
||||
{% ifversion ghes or ghae%}
|
||||
## Viewing dormant users
|
||||
|
||||
## Visualizar usuarios inactivos
|
||||
|
||||
Puedes ver una lista de todos los usuarios inactivos que no han sido suspendidos y que no son administradores del sitio.
|
||||
{% data reusables.enterprise-accounts.viewing-dormant-users %}
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
3. En la barra lateral de la izquierda, haz clic en **Usuarios inactivos**. {% ifversion ghes %}
|
||||
4. Para suspender todos los usuarios inactivos de esta lista, haz clic en **Suspender todos**, en la parte superior de la página. {% endif %}
|
||||
3. In the left sidebar, click **Dormant users**.
|
||||
{% ifversion ghes %}
|
||||
4. To suspend all the dormant users in this list, at the top of the page, click **Suspend all**.
|
||||
{% endif %}
|
||||
|
||||
## Determinar si un usuario está inactivo
|
||||
## Determining whether a user account is dormant
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.search-user %}
|
||||
{% data reusables.enterprise_site_admin_settings.click-user %}
|
||||
5. En la sección **Información del usuario**, un punto rojo con la palabra "Inactiva" indica que la cuenta del usuario está inactiva, y un punto verde con la palabra "Activa" indica que la cuenta del usuario está activa.  
|
||||
5. In the **User info** section, a red dot with the word "Dormant" indicates the user account is dormant, and a green dot with the word "Active" indicates the user account is active.
|
||||

|
||||

|
||||
|
||||
## Configurar el umbral de inactividad
|
||||
## Configuring the dormancy threshold
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.dormancy-threshold %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% ifversion ghes or ghae %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% else %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% endif %}
|
||||
{% data reusables.enterprise-accounts.options-tab %}
|
||||
4. En "Umbral de inactividad", usa el menú desplegable y haz clic en el umbral de inactividad deseado. 
|
||||
4. Under "Dormancy threshold", use the drop-down menu, and click the desired dormancy threshold.
|
||||

|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
{% data reusables.enterprise-accounts.dormant-user-release-phase %}
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Note:** During the private beta, ongoing improvements to the report download feature may limit its availability.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
## Downloading the dormant users report from your enterprise account
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.enterprise-accounts-compliance-tab %}
|
||||
1. To download your Dormant Users (beta) report as a CSV file, under "Other", click {% octicon "download" aria-label="The Download icon" %} **Download**.
|
||||

|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Visualizar a las personas en tu empresa
|
||||
intro: 'Para auditar el acceso a los recursos que pertenezcan a tu empresa o al uso de licencias de usuario, los propietarios de la empresa pueden ver a cada administrador y miembro de la misma.'
|
||||
title: Viewing people in your enterprise
|
||||
intro: 'To audit access to enterprise-owned resources or user license usage, enterprise owners can view every administrator and member of the enterprise.'
|
||||
product: '{% data reusables.gated-features.enterprise-accounts %}'
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-your-enterprise-account/viewing-people-in-your-enterprise-account
|
||||
@@ -13,31 +13,35 @@ versions:
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Enterprise
|
||||
shortTitle: Visualizar a las personas en tu empresa
|
||||
shortTitle: View people in your enterprise
|
||||
---
|
||||
## Viewing enterprise owners{% ifversion ghec %} and billing managers{% endif %}
|
||||
|
||||
## Visualizar a los propietarios{% ifversion ghec %} y gerentes de facturación de la empresa{% endif %}
|
||||
|
||||
Puedes ver a los propietarios {% ifversion ghec %}y gerentes de facturación de la empresa, {% endif %}así como una lista de invitaciones pendientes para convertirse en propietarios{% ifversion ghec %} y gerentes de facturación. Puedes filtrar la lista de administradores de la empresa por rol{% endif %}. Puedes encontrar una persona específica al buscar por su nombre de usuario o nombre completo.
|
||||
You can view enterprise owners {% ifversion ghec %} and billing managers, {% endif %}as well as a list of pending invitations to become owners{% ifversion ghec %} and billing managers. You can filter the list of enterprise administrators by role{% endif %}. You can find a specific person by searching for their username or full name.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.people-tab %}
|
||||
{% data reusables.enterprise-accounts.administrators-tab %}
|
||||
{% ifversion ghec %}1. Opcionalmente, para ver una lista de invitaciones pendientes, da clic en **_CANTIDAD_ pendientes**.
|
||||
{% endif %}
|
||||
{% ifversion ghec %}1. Optionally, to view a list of pending invitations, click **_NUMBER_ pending**.
|
||||
{% endif %}
|
||||
|
||||
## Ver miembros y colaboradores externos
|
||||
## Viewing members and outside collaborators
|
||||
|
||||
Puedes ver la cantidad de miembros y colaboradores externos pendientes. Puedes filtrar la lista de miembros por {% ifversion ghec %}despliegue ({% data variables.product.prodname_ghe_cloud %} o {% data variables.product.prodname_ghe_server %}),{% endif %} rol{% ifversion ghec %}, y{% else %} u{% endif %} organización. Puedes filtrar la lista de colaboradores externos por la visibilidad de los repositorios a los que el colaborador tiene acceso. Puedes encontrar una persona específica al buscar por su nombre de usuario o nombre que se muestra.
|
||||
You can view the number of pending members and outside collaborators. You can filter the list of members by {% ifversion ghec %}deployment ({% data variables.product.prodname_ghe_cloud %} or {% data variables.product.prodname_ghe_server %}),{% endif %} role{% ifversion ghec %}, and{% else %} or {% endif %} organization. You can filter the list of outside collaborators by the visibility of the repositories the collaborator has access to. You can find a specific person by searching for their username or display name.
|
||||
|
||||
Puedes ver {% ifversion ghec %}todas las organizaciones de {% data variables.product.prodname_ghe_cloud %} e instancias de {% data variables.product.prodname_ghe_server %} a las cuales pertenece un miembro, y {% endif %}a qué repositorios tiene acceso un colaborador externo{% ifversion ghec %}, {% endif %} dand clic en el nombre de una persona.
|
||||
You can view {% ifversion ghec %}all the {% data variables.product.prodname_ghe_cloud %} organizations and {% data variables.product.prodname_ghe_server %} instances that a member belongs to, and {% endif %}which repositories an outside collaborator has access to{% ifversion ghec %}, {% endif %} by clicking on the person's name.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.people-tab %}
|
||||
1. De manera opcional, para ver una lista de colaboradores externos en lugar de una lista de miembros, haz clic en **Outside collaborators (Colaboradores externos)**. 
|
||||
{% ifversion ghec %}1. Opcionalmente, para ver una lista de invitaciones pendientes, da clic en **_CANTIDAD_ pendientes**.
|
||||
{% endif %}
|
||||
1. Optionally, to view a list of outside collaborators rather than the list of members, click **Outside collaborators**.
|
||||

|
||||
{% ifversion ghec %}1. Optionally, to view a list of pending invitations, click **_NUMBER_ pending**.
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Viewing dormant users
|
||||
|
||||
- "[Roles en una empresa](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)"
|
||||
You can view a list of all dormant users {% ifversion ghes or ghae %} who have not been suspended and {% endif %}who are not site administrators. {% data reusables.enterprise-accounts.dormant-user-activity-threshold %} For more information, see "[Managing dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)."
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[Roles in an enterprise](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Exportar datos de migración desde GitHub.com
|
||||
intro: 'Puedes exportar los dtos de migración desde una organización en {% data variables.product.prodname_dotcom_the_website %} si utilizas la API para seleccionar los repositorios que deseas migrar y luego generas un archivo de migración que puedas importar en una instancia de {% data variables.product.prodname_ghe_server %}.'
|
||||
title: Exporting migration data from GitHub.com
|
||||
intro: 'You can export migration data from an organization on {% data variables.product.prodname_dotcom_the_website %} by using the API to select repositories to migrate, then generating a migration archive that you can import into a {% data variables.product.prodname_ghe_server %} instance.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/guides/migrations/exporting-migration-data-from-github-com
|
||||
- /enterprise/admin/migrations/exporting-migration-data-from-githubcom
|
||||
@@ -17,76 +17,75 @@ topics:
|
||||
- API
|
||||
- Enterprise
|
||||
- Migration
|
||||
shortTitle: Exportar datos desde GitHub.com
|
||||
shortTitle: Export data from GitHub.com
|
||||
---
|
||||
## Preparing the source organization on {% data variables.product.prodname_dotcom %}
|
||||
|
||||
## Preparar la orgnanización origen en {% data variables.product.prodname_dotcom %}
|
||||
1. Ensure that you have [owner permissions](/articles/permission-levels-for-an-organization/) on the source organization's repositories.
|
||||
|
||||
1. Asegúrate de tener [permisos de propietario](/articles/permission-levels-for-an-organization/) en los repositorios de la organización de origen.
|
||||
|
||||
2. {% data reusables.enterprise_migrations.token-generation %} en {% data variables.product.prodname_dotcom_the_website %}.
|
||||
2. {% data reusables.enterprise_migrations.token-generation %} on {% data variables.product.prodname_dotcom_the_website %}.
|
||||
|
||||
{% data reusables.enterprise_migrations.make-a-list %}
|
||||
|
||||
## Exportar los repositorios de la organización
|
||||
## Exporting the organization's repositories
|
||||
|
||||
{% data reusables.enterprise_migrations.fork-persistence %}
|
||||
|
||||
Para exportar datos del repositorio desde {% data variables.product.prodname_dotcom_the_website %}, usa la <a href="/rest/reference/migrations" class="dotcom-only">API de Migraciones</a>.
|
||||
To export repository data from {% data variables.product.prodname_dotcom_the_website %}, use <a href="/rest/reference/migrations" class="dotcom-only">the Migrations API</a>.
|
||||
|
||||
La API de Migraciones se encuentra actualmente en un período de previsualización, lo que significa que los puntos finales y los parámetros pueden cambiar en el futuro. Para acceder a la API de Migraciones, debes proporcionar un [tipo de medio](/rest/overview/media-types) personalizado en el encabezado `Accept` (Aceptar): `application/vnd.github.wyandotte-preview+json`. Los ejemplos a continuación incluyen el tipo de medio personalizado.
|
||||
The Migrations API is currently in a preview period, which means that the endpoints and parameters may change in the future. To access the Migrations API, you must provide a custom [media type](/rest/overview/media-types) in the `Accept` header: `application/vnd.github.wyandotte-preview+json`. The examples below include the custom media type.
|
||||
|
||||
## Generar un archivo de migración
|
||||
## Generating a migration archive
|
||||
|
||||
{% data reusables.enterprise_migrations.locking-repositories %}
|
||||
|
||||
1. Notifica a los miembros de tu organización que harás una migración. La exportación puede durar varios minutos, en función de la cantidad de repositorios que se exporten. La migración completa, incluida la importación, puede durar varias horas. Por lo tanto, te recomendamos que hagas una prueba para determinar cuánto tiempo tomará el proceso completo. Para obtener más información, consulta "[Acerca de las migraciones](/enterprise/admin/migrations/about-migrations#types-of-migrations)".
|
||||
1. Notify members of your organization that you'll be performing a migration. The export can take several minutes, depending on the number of repositories being exported. The full migration including import may take several hours so we recommend doing a trial run in order to determine how long the full process will take. For more information, see "[About Migrations](/enterprise/admin/migrations/about-migrations#types-of-migrations)."
|
||||
|
||||
2. Inicia una migración enviando una solicitud de `POST` a <a href="/rest/reference/migrations#start-an-organization-migration" class="dotcom-only">la terminal de migración</a>. Necesitarás:
|
||||
* Tu token de acceso para autenticación.
|
||||
* Una [lista de los repositorios](/rest/reference/repos#list-organization-repositories) que deseas migrar:
|
||||
2. Start a migration by sending a `POST` request to <a href="/rest/reference/migrations#start-an-organization-migration" class="dotcom-only">the migration endpoint</a>. You'll need:
|
||||
* Your access token for authentication.
|
||||
* A [list of the repositories](/rest/reference/repos#list-organization-repositories) you want to migrate:
|
||||
```shell
|
||||
curl -H "Autorización: token <em>GITHUB_ACCESS_TOKEN</em>" -X POST \
|
||||
-H "Aceptar: application/vnd.github.wyandotte-preview+json" \
|
||||
curl -H "Authorization: token <em>GITHUB_ACCESS_TOKEN</em>" -X POST \
|
||||
-H "Accept: application/vnd.github.wyandotte-preview+json" \
|
||||
-d'{"lock_repositories":true,"repositories":["<em>orgname</em>/<em>reponame</em>", "<em>orgname</em>/<em>reponame</em>"]}' \
|
||||
https://api.github.com/orgs/<em>orgname</em>/migrations
|
||||
```
|
||||
* Si deseas bloquear los repositorios antes de migrarlos, asegúrate de que `lock_repositories`esté establecido en `true` (true). Esto es altamente recomendable.
|
||||
* Puedes excluir archivos adjuntos pasando `exclude_attachments: true` al punto final. {% data reusables.enterprise_migrations.exclude-file-attachments %} El tamaño final del archivo debe ser inferior a 20 GB.
|
||||
* If you want to lock the repositories before migrating them, make sure `lock_repositories` is set to `true`. This is highly recommended.
|
||||
* You can exclude file attachments by passing `exclude_attachments: true` to the endpoint. {% data reusables.enterprise_migrations.exclude-file-attachments %} The final archive size must be less than 20 GB.
|
||||
|
||||
Esta solicitud devuelve un `id` único que representa tu migración. Lo necesitarás para solicitudes posteriores a la API de Migraciones.
|
||||
This request returns a unique `id` which represents your migration. You'll need it for subsequent calls to the Migrations API.
|
||||
|
||||
3. Envía una solicitud de `GET` al <a href="/rest/reference/migrations#get-an-organization-migration-status" class="dotcom-only"> punto final del estado de la migración</a> para extraer el estado de una migración. Necesitarás:
|
||||
* Tu token de acceso para autenticación.
|
||||
* El `id` único de la migración:
|
||||
3. Send a `GET` request to <a href="/rest/reference/migrations#get-an-organization-migration-status" class="dotcom-only">the migration status endpoint</a> to fetch the status of a migration. You'll need:
|
||||
* Your access token for authentication.
|
||||
* The unique `id` of the migration:
|
||||
```shell
|
||||
curl -H "Autorización: token <em>GITHUB_ACCESS_TOKEN</em>" \
|
||||
-H "Aceptar: application/vnd.github.wyandotte-preview+json" \
|
||||
curl -H "Authorization: token <em>GITHUB_ACCESS_TOKEN</em>" \
|
||||
-H "Accept: application/vnd.github.wyandotte-preview+json" \
|
||||
https://api.github.com/orgs/<em>orgname</em>/migrations/<em>id</em>
|
||||
```
|
||||
|
||||
Una migración puede estar en uno de los siguientes estados:
|
||||
* `pending` (pendiente), lo que significa que la migración aún no se ha iniciado.
|
||||
* `exporting` (exportando), lo que significa que la migración está en curso.
|
||||
* `exported` (exportada), lo que significa que la migración finalizó correctamente.
|
||||
* `failed` (fallida), lo que significa que la migración falló.
|
||||
A migration can be in one of the following states:
|
||||
* `pending`, which means the migration hasn't started yet.
|
||||
* `exporting`, which means the migration is in progress.
|
||||
* `exported`, which means the migration finished successfully.
|
||||
* `failed`, which means the migration failed.
|
||||
|
||||
4. Una vez que se haya exportado tu migración, descarga el archivo de migración enviando una solicitud de `GET` al <a href="/rest/reference/migrations#download-an-organization-migration-archive" class="dotcom-only">punto final de descarga de migración</a>. Necesitarás:
|
||||
* Tu token de acceso para autenticación.
|
||||
* El `id` único de la migración:
|
||||
4. After your migration has exported, download the migration archive by sending a `GET` request to <a href="/rest/reference/migrations#download-an-organization-migration-archive" class="dotcom-only">the migration download endpoint</a>. You'll need:
|
||||
* Your access token for authentication.
|
||||
* The unique `id` of the migration:
|
||||
```shell
|
||||
curl -H "Aceptar: application/vnd.github.wyandotte-preview+json" \
|
||||
-u <em>GITHUB_USERNAME</em>:<em>GITHUB_ACCESS_TOKEN</em> \
|
||||
curl -H "Authorization: token <em>GITHUB_ACCESS_TOKEN</em>" \
|
||||
-H "Accept: application/vnd.github.wyandotte-preview+json" \
|
||||
-L -o migration_archive.tar.gz \
|
||||
https://api.github.com/orgs/<em>orgname</em>/migrations/<em>id</em>/archive
|
||||
```
|
||||
|
||||
5. El archivo de migración se elimina automáticamente después de siete días. Si prefieres eliminarlo antes, puedes enviar una solicitud `DELETE` al <a href="/rest/reference/migrations#delete-an-organization-migration-archive" class="dotcom-only">punto final de eliminación del archivo de migración</a>. Necesitarás:
|
||||
* Tu token de acceso para autenticación.
|
||||
* El `id` único de la migración:
|
||||
5. The migration archive is automatically deleted after seven days. If you would prefer to delete it sooner, you can send a `DELETE` request to <a href="/rest/reference/migrations#delete-an-organization-migration-archive" class="dotcom-only">the migration archive delete endpoint</a>. You'll need:
|
||||
* Your access token for authentication.
|
||||
* The unique `id` of the migration:
|
||||
```shell
|
||||
curl -H "Autorización: token <em>GITHUB_ACCESS_TOKEN</em>" -X DELETE \
|
||||
-H "Aceptar: application/vnd.github.wyandotte-preview+json" \
|
||||
curl -H "Authorization: token <em>GITHUB_ACCESS_TOKEN</em>" -X DELETE \
|
||||
-H "Accept: application/vnd.github.wyandotte-preview+json" \
|
||||
https://api.github.com/orgs/<em>orgname</em>/migrations/<em>id</em>/archive
|
||||
```
|
||||
{% data reusables.enterprise_migrations.ready-to-import-migrations %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acciones auditadas
|
||||
intro: Puedes buscar el registro de auditoría para una gran variedad de acciones.
|
||||
title: Audited actions
|
||||
intro: You can search the audit log for a wide variety of actions.
|
||||
miniTocMaxHeadingLevel: 3
|
||||
redirect_from:
|
||||
- /enterprise/admin/articles/audited-actions/
|
||||
@@ -17,20 +17,27 @@ topics:
|
||||
- Security
|
||||
---
|
||||
|
||||
## Autenticación
|
||||
## Authentication
|
||||
|
||||
| Acción | Descripción |
|
||||
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `oauth_access.create` | Un [Token de acceso de OAuth][] fue [generado][generate token] para la cuenta de un usuario. |
|
||||
| `oauth_access.destroy` | Un [Token de acceso de OAuth][] se eliminó de la cuenta de un usuario. |
|
||||
| `oauth_application.destroy` | Una [Aplicación de OAuth][] se eliminó de la cuenta de un usuario o de una organización. |
|
||||
| `oauth_application.reset_secret` | Se restableció una [clave secreta de una aplicación de OAuth][]. |
|
||||
| `oauth_application.transfer` | Una [aplicación de OAuth][] se transfirió de una cuenta de usuario o de organización a otra. |
|
||||
| `public_key.create` | Una clave SSH se [agregó][add key] a una cuenta de usuario o una [llave de implementación][] se agregó a un repositorio. |
|
||||
| `public_key.delete` | Una clave SSH se eliminó de una cuenta de usuario o una [llave de implementación][] se eliminó de un repositorio. |
|
||||
| `public_key.update` | Se actualizó una llave SSH de una cuenta de usuario o una [llave de despliegue][] de un repositorio.{% ifversion ghes %}
|
||||
| `two_factor_authentication.enabled` | [Se habilitó la autenticación de dos factores][2fa] para una cuenta de usuario. |
|
||||
| `two_factor_authentication.disabled` | Se inhabilitó la [Autenticación bifactorial][2fa] para una cuenta de usuario.{% endif %}
|
||||
Action | Description
|
||||
------------------------------------ | ----------------------------------------
|
||||
`oauth_access.create` | An [OAuth access token][] was [generated][generate token] for a user account.
|
||||
`oauth_access.destroy` | An [OAuth access token][] was deleted from a user account.
|
||||
`oauth_application.destroy` | An [OAuth application][] was deleted from a user or organization account.
|
||||
`oauth_application.reset_secret` | An [OAuth application][]'s secret key was reset.
|
||||
`oauth_application.transfer` | An [OAuth application][] was transferred from one user or organization account to another.
|
||||
`public_key.create` | An SSH key was [added][add key] to a user account or a [deploy key][] was added to a repository.
|
||||
`public_key.delete` | An SSH key was removed from a user account or a [deploy key][] was removed from a repository.
|
||||
`public_key.update` | A user account's SSH key or a repository's [deploy key][] was updated.{% ifversion ghes %}
|
||||
`two_factor_authentication.enabled` | [Two-factor authentication][2fa] was enabled for a user account.
|
||||
`two_factor_authentication.disabled` | [Two-factor authentication][2fa] was disabled for a user account.{% endif %}
|
||||
|
||||
[add key]: /articles/adding-a-new-ssh-key-to-your-github-account
|
||||
[deploy key]: /guides/managing-deploy-keys/#deploy-keys
|
||||
[generate token]: /articles/creating-an-access-token-for-command-line-use
|
||||
[OAuth access token]: /developers/apps/authorizing-oauth-apps
|
||||
[OAuth application]: /guides/basics-of-authentication/#registering-your-app
|
||||
[2fa]: /articles/about-two-factor-authentication
|
||||
|
||||
{% ifversion ghes %}
|
||||
## {% data variables.product.prodname_actions %}
|
||||
@@ -39,153 +46,159 @@ topics:
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Ganchos
|
||||
## Hooks
|
||||
|
||||
| Acción | Descripción |
|
||||
| --------------------- | --------------------------------------------------- |
|
||||
| `hook.create` | Se agregó un enlace nuevo a un repositorio. |
|
||||
| `hook.config_changed` | Se cambió la configuración de un enlace. |
|
||||
| `hook.destroy` | Se eliminó un enlace. |
|
||||
| `hook.events_changed` | Se cambiaron los eventos configurados de un enlace. |
|
||||
Action | Description
|
||||
--------------------------------- | -------------------------------------------
|
||||
`hook.create` | A new hook was added to a repository.
|
||||
`hook.config_changed` | A hook's configuration was changed.
|
||||
`hook.destroy` | A hook was deleted.
|
||||
`hook.events_changed` | A hook's configured events were changed.
|
||||
|
||||
## Configuración de ajustes de empresa
|
||||
## Enterprise configuration settings
|
||||
|
||||
| Acción | Descripción |
|
||||
| ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |{% ifversion ghes > 3.0 or ghae-next %}
|
||||
| `business.advanced_security_policy_update` | Un adminsitrador de sitio crea, actualiza o elimina una política para la {% data variables.product.prodname_GH_advanced_security %}. Para obtener más información, consulta la sección "[Requerir políticas para la {% data variables.product.prodname_advanced_security %} en tu empresa](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)".{% endif %}
|
||||
| `business.clear_members_can_create_repos` | Un administrador de sitio elimina una restricción para la creación de repositorios en las organizciones de la empresa. 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)".{% ifversion ghes > 3.1 %}
|
||||
| `business.referrer_override_enable` | Un administrador de sitio habilita la anulación de la política del referente. 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` | Un administrador de sitio inhabilita la anulación de la política del referente. 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 %}
|
||||
| `business.update_member_repository_creation_permission` | Un administrador de sitio restringe la creación de repositorios en las organizaciones de la empresa. 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)".{% ifversion ghes %}
|
||||
| `enterprise.config.lock_anonymous_git_access` | Un administrador de sitio bloquea el acceso de lectura anónima a Git para prevenir que los administradores de repositorio cambien dicha configuración para los repositorios de la empresa. 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#configuring-anonymous-git-read-access)". |
|
||||
| `enterprise.config.unlock_anonymous_git_access` | Un administrador de sitio desbloquea el acceso de lectura anónima a Git para permitir que los administradores de repositorio cambien dicha configuración en los repositorios de la empresa. 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#configuring-anonymous-git-read-access)".{% endif %}
|
||||
Action | Description
|
||||
----------------------------------------------- | -------------------------------------------{% ifversion ghes > 3.0 or ghae-next %}
|
||||
`business.advanced_security_policy_update` | A site admin creates, updates, or removes a policy for {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)."{% endif %}
|
||||
`business.clear_members_can_create_repos` | A site admin clears a restriction on repository creation in organizations in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)."{% ifversion ghes > 3.1 %}
|
||||
`business.referrer_override_enable` | A site admin enables the referrer policy override. For more information, see "[Configuring the referrer policy for your enterprise](/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise)."
|
||||
`business.referrer_override_disable` | A site admin disables the referrer policy override. For more information, see "[Configuring the referrer policy for your enterprise](/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise)."{% endif %}
|
||||
`business.update_member_repository_creation_permission` | A site admin restricts repository creation in organizations in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)."{% ifversion ghes %}
|
||||
`enterprise.config.lock_anonymous_git_access` | A site admin locks anonymous Git read access to prevent repository admins from changing existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)."
|
||||
`enterprise.config.unlock_anonymous_git_access` | A site admin unlocks anonymous Git read access to allow repository admins to change existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)."{% endif %}
|
||||
|
||||
{% ifversion ghae %}
|
||||
|
||||
## Listas de IP permitidas
|
||||
## IP allow lists
|
||||
|
||||
| Nombre | Descripción |
|
||||
| ------------------------------------------:| ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `ip_allow_list_entry.create` | Se agregó una dirección IP a una lista de IP permitidas. |
|
||||
| `ip_allow_list_entry.update` | Se cambió una dirección IP o su descripción. |
|
||||
| `ip_allow_list_entry.destroy` | Se borró una dirección IP de una lista de IP permitidas. |
|
||||
| `ip_allow_list.enable` | Se habilitó una lista de IP permitidas. |
|
||||
| `ip_allow_list.enable_for_installed_apps` | Se habilitó una lista de IP permitidas para las {% data variables.product.prodname_github_apps %} instaladas. |
|
||||
| `ip_allow_list.disable` | Se inhabilitó una lista de IP permitidas. |
|
||||
| `ip_allow_list.disable_for_installed_apps` | Se inhabilitó una lista de IP permitidas para las {% data variables.product.prodname_github_apps %} instaladas. |
|
||||
Name | Description
|
||||
------------------------------------:| -----------------------------------------------------------
|
||||
`ip_allow_list_entry.create` | An IP address was added to an IP allow list.
|
||||
`ip_allow_list_entry.update` | An IP address or its description was changed.
|
||||
`ip_allow_list_entry.destroy` | An IP address was deleted from an IP allow list.
|
||||
`ip_allow_list.enable` | An IP allow list was enabled.
|
||||
`ip_allow_list.enable_for_installed_apps` | An IP allow list was enabled for installed {% data variables.product.prodname_github_apps %}.
|
||||
`ip_allow_list.disable` | An IP allow list was disabled.
|
||||
`ip_allow_list.disable_for_installed_apps` | An IP allow list was disabled for installed {% data variables.product.prodname_github_apps %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Problemas
|
||||
## Issues
|
||||
|
||||
| Acción | Descripción |
|
||||
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue.update` | Cambió el texto del cuerpo de un problema (comentario inicial). |
|
||||
| `issue_comment.update` | Cambió un comentario sobre un problema (diferente al inicial). |
|
||||
| `issue.destroy` | Se eliminó un problema del repositorio. Para obtener más información, consulta la sección "[Borrar una propuesta](/github/managing-your-work-on-github/deleting-an-issue)". |
|
||||
Action | Description
|
||||
------------------------------------ | -----------------------------------------------------------
|
||||
`issue.update` | An issue's body text (initial comment) changed.
|
||||
`issue_comment.update` | A comment on an issue (other than the initial one) changed.
|
||||
`issue.destroy` | An issue was deleted from the repository. For more information, see "[Deleting an issue](/github/managing-your-work-on-github/deleting-an-issue)."
|
||||
|
||||
## Organizaciones
|
||||
## Organizations
|
||||
|
||||
| Acción | Descripción |
|
||||
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `org.async_delete` | Un usuario inició una tarea en segundo plano para eliminar una organización. |
|
||||
| `org.delete` | Un job en segundo plano que inició un usuario ocasionó que una organización se borrara.{% ifversion not ghae %}
|
||||
| `org.transform` | Una cuenta de usuario se convirtió en una organización. Para obtener más información, consulta la sección "[Convertir a un usuario en una organización](/github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization)".{% endif %}
|
||||
Action | Description
|
||||
------------------ | ----------------------------------------------------------
|
||||
`org.async_delete` | A user initiated a background job to delete an organization.
|
||||
`org.delete` | An organization was deleted by a user-initiated background job.{% ifversion not ghae %}
|
||||
`org.transform` | A user account was converted into an organization. For more information, see "[Converting a user into an organization](/github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization)."{% endif %}
|
||||
|
||||
## Solicitudes de cambios
|
||||
## Pull requests
|
||||
|
||||
| Acción | Descripción| | :- | :- |{% ifversion ghes > 3.1 or ghae-next %} | `pull_request.create` | Se creó una solicitud de cambios. Para obtener más información, consulta la sección"[Crear una solicitud de extracción](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)." | | `pull_request.close` | Se cerró una solicitud de cambios sin haberse fusionado. Para obtener más información, consulta la sección "[Cerrar una solicitud de cambios](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request)". | | `pull_request.reopen` | Se volvió a abrir una solicitud de cambios después de haberla cerrado previamente. | | `pull_request.merge` | Se fusionó una solicitud de cambios. Para obtener más información, consulta "[Fusionar una solicitud de extracción](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)". | | `pull_request.indirect_merge` | Se consideró a una solicitud de cambios como fusionada porque las confirmaciones de esta se fusionaron en la rama destino. | | `pull_request.ready_for_review` | Se marcó a una solicitud de cambios como lista para revisión. 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.converted_to_draft` | Se convirtió a una solicitud de cambios en borrador. 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#converting-a-pull-request-to-a-draft)". | | `pull_request.create_review_request` | Se solicitó una revisión en una solicitud de cambios. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | | `pull_request.remove_review_request` | Se eliminó una solicitud de revisión de una solicitud de cambios. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | | `pull_request_review.submit` | Se emitió una revisión para una solicitud de cambios. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | | `pull_request_review.dismiss` | Se descartó una revisión en una solicitud de cambios. Para obtener más información, consulta "[Descartar una revisión de solicitud de extracción](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)". | | `pull_request_review.delete` | Se eliminó una revisión en una solicitud de cambios. | | `pull_request_review_comment.create` | Se agregó un comentario de revisión a una solicitud de cambios. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | | `pull_request_review_comment.update` | Se cambió un comentario de revisión en una solicitud de cambios. |{% endif %} | `pull_request_review_comment.delete` | Se borró un comentario de revisión en una solicitud de cambios. |
|
||||
| Action | Description |
|
||||
| :- | :- |{% ifversion ghes > 3.1 or ghae-next %}
|
||||
| `pull_request.create` | A pull request was created. For more information, see "[Creating a pull request](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)." |
|
||||
| `pull_request.close` | A pull request was closed without being merged. For more information, see "[Closing a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request)." |
|
||||
| `pull_request.reopen` | A pull request was reopened after previously being closed. |
|
||||
| `pull_request.merge` | A pull request was merged. For more information, see "[Merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)." |
|
||||
| `pull_request.indirect_merge` | A pull request was considered merged because the pull request's commits were merged into the target branch. |
|
||||
| `pull_request.ready_for_review` | A pull request was marked as ready for review. For more information, see "[Changing the stage of a pull request](/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.converted_to_draft` | A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft)." |
|
||||
| `pull_request.create_review_request` | A review was requested on a pull request. For more information, see "[About pull request reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." |
|
||||
| `pull_request.remove_review_request` | A review request was removed from a pull request. For more information, see "[About pull request reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." |
|
||||
| `pull_request_review.submit` | A review was submitted for a pull request. For more information, see "[About pull request reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." |
|
||||
| `pull_request_review.dismiss` | A review on a pull request was dismissed. For more information, see "[Dismissing a pull request review](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)." |
|
||||
| `pull_request_review.delete` | A review on a pull request was deleted. |
|
||||
| `pull_request_review_comment.create` | A review comment was added to a pull request. For more information, see "[About pull request reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." |
|
||||
| `pull_request_review_comment.update` | A review comment on a pull request was changed. |{% endif %}
|
||||
| `pull_request_review_comment.delete` | A review comment on a pull request was deleted. |
|
||||
|
||||
## Ramas protegidas
|
||||
## Protected branches
|
||||
|
||||
| Acción | Descripción |
|
||||
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
|
||||
| `protected_branch.create` | La protección de rama está habilitada para una rama. |
|
||||
| `protected_branch.destroy` | La protección de rama está inhabilitada para una rama. |
|
||||
| `protected_branch.update_admin_enforced` | La protección de rama es obligatoria para los administradores de repositorios. |
|
||||
| `protected_branch.update_require_code_owner_review` | Se atualiza la imposición de las revisiones requeridas de los propietarios del código en una rama. |
|
||||
| `protected_branch.dismiss_stale_reviews` | El cumplimiento de las solicitudes de extracción en espera descartadas está actualizado para una rama. |
|
||||
| `protected_branch.update_signature_requirement_enforcement_level` | El cumplimiento de la firma de confirmación obligatoria está actualizado para una rama. |
|
||||
| `protected_branch.update_pull_request_reviews_enforcement_level` | El cumplimiento de la revisión obligatoria de solicitud de extracción está actualizado para una rama. |
|
||||
| `protected_branch.update_required_status_checks_enforcement_level` | El cumplimiento de las verificaciones de estado obligatorias está actualizado para una rama. |
|
||||
| `protected_branch.rejected_ref_update` | Se rechaza el intento de actualización de una rama. |
|
||||
| `protected_branch.policy_override` | Un administrador de repositorios anula el requisito de protección de una rama. |
|
||||
Action | Description
|
||||
-------------------------- | ----------------------------------------------------------
|
||||
`protected_branch.create ` | Branch protection is enabled on a branch.
|
||||
`protected_branch.destroy` | Branch protection is disabled on a branch.
|
||||
`protected_branch.update_admin_enforced ` | Branch protection is enforced for repository administrators.
|
||||
`protected_branch.update_require_code_owner_review ` | Enforcement of required code owner review is updated on a branch.
|
||||
`protected_branch.dismiss_stale_reviews ` | Enforcement of dismissing stale pull requests is updated on a branch.
|
||||
`protected_branch.update_signature_requirement_enforcement_level ` | Enforcement of required commit signing is updated on a branch.
|
||||
`protected_branch.update_pull_request_reviews_enforcement_level ` | Enforcement of required pull request reviews is updated on a branch.
|
||||
`protected_branch.update_required_status_checks_enforcement_level ` | Enforcement of required status checks is updated on a branch.
|
||||
`protected_branch.rejected_ref_update ` | A branch update attempt is rejected.
|
||||
`protected_branch.policy_override ` | A branch protection requirement is overridden by a repository administrator.
|
||||
|
||||
## Repositorios
|
||||
## Repositories
|
||||
|
||||
| Acción | Descripción |
|
||||
| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `repo.access` | La visbilidad de un repositorio cambió a privado{% ifversion ghes %}, público,{% endif %} o interno. |
|
||||
| `repo.archived` | Se archivó un repositorio. Para obtener más información, consulta la sección "[Archivar un repositorio de {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)". |
|
||||
| `repo.add_member` | Se agregó un colaborador a un repositorio. |
|
||||
| `repo.config` | Un administrador de sitio bloqueó los empujes forzados. Para obtener más información, consulta [Bloquear los empujes forzados para un repositorio](/enterprise/{{ currentVersion }}/admin/guides/developer-workflow/blocking-force-pushes-to-a-repository/) para un repositorio. |
|
||||
| `repo.create` | Se creó un repositorio. |
|
||||
| `repo.destroy` | Se eliminó un repositorio. |
|
||||
| `repo.remove_member` | Se eliminó un colaborador de un repositorio. |
|
||||
| `repo.rename` | Se renombró un repositorio. |
|
||||
| `repo.transfer` | Un usuario aceptó una solicitud para recibir un repositorio transferido. |
|
||||
| `repo.transfer_start` | Un usuario envió una solicitud para transferir un repositorio a otro usuario u organización. |
|
||||
| `repo.unarchived` | Un repositorio dejó de estar archivado. Para obtener más información, consulta la sección "[Archivar un repositorio de {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)".{% ifversion ghes %}
|
||||
| `repo.config.disable_anonymous_git_access` | El acceso de lectura anónima de Git se encuentra inhabilitado para un repositorio. Para obtener más información, consulta la sección "[Habilitar el acceso de lectura anónima en Git para un repositorio](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)". |
|
||||
| `repo.config.enable_anonymous_git_access` | El acceso de lectura anónima de Git se encuentra habilitado para un repositorio. Para obtener más información, consulta la sección "[Habilitar el acceso de lectura anónima en Git para un repositorio](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)". |
|
||||
| `repo.config.lock_anonymous_git_access` | La configuración del acceso de lectura anónimo de Git para un repositorio está bloqueada, lo cual evita que los administradores de repositorios cambien (habiliten o deshabiliten) esta configuración. Para obtener más información, consulta la sección "[Prevenir que los usuarios cambien el acceso de lectura anónimo de Git](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access)". |
|
||||
| `repo.config.unlock_anonymous_git_access` | La configuración del acceso de lectura anónimo de Git para un repositorio está desbloqueada, lo cual permite que los administradores del repositorio cambien (habiliten o inhabiliten) esta configuración. Para obtener más información, consulta la sección "[Prevenir que los usuarios cambien el acceso de lectura anónimo de Git](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access)".{% endif %}
|
||||
Action | Description
|
||||
--------------------- | -------------------------------------------------------
|
||||
`repo.access` | The visibility of a repository changed to private{% ifversion ghes %}, public,{% endif %} or internal.
|
||||
`repo.archived` | A repository was archived. For more information, see "[Archiving a {% data variables.product.prodname_dotcom %} repository](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)."
|
||||
`repo.add_member` | A collaborator was added to a repository.
|
||||
`repo.config` | A site admin blocked force pushes. For more information, see [Blocking force pushes to a repository](/enterprise/{{ currentVersion }}/admin/guides/developer-workflow/blocking-force-pushes-to-a-repository/) to a repository.
|
||||
`repo.create` | A repository was created.
|
||||
`repo.destroy` | A repository was deleted.
|
||||
`repo.remove_member` | A collaborator was removed from a repository.
|
||||
`repo.rename` | A repository was renamed.
|
||||
`repo.transfer` | A user accepted a request to receive a transferred repository.
|
||||
`repo.transfer_start` | A user sent a request to transfer a repository to another user or organization.
|
||||
`repo.unarchived` | A repository was unarchived. For more information, see "[Archiving a {% data variables.product.prodname_dotcom %} repository](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)."{% ifversion ghes %}
|
||||
`repo.config.disable_anonymous_git_access`| Anonymous Git read access is disabled for a repository. For more information, see "[Enabling anonymous Git read access for a repository](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)."
|
||||
`repo.config.enable_anonymous_git_access` | Anonymous Git read access is enabled for a repository. For more information, see "[Enabling anonymous Git read access for a repository](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)."
|
||||
`repo.config.lock_anonymous_git_access` | A repository's anonymous Git read access setting is locked, preventing repository administrators from changing (enabling or disabling) this setting. For more information, see "[Preventing users from changing anonymous Git read access](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access)."
|
||||
`repo.config.unlock_anonymous_git_access` | A repository's anonymous Git read access setting is unlocked, allowing repository administrators to change (enable or disable) this setting. For more information, see "[Preventing users from changing anonymous Git read access](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access)."{% endif %}
|
||||
|
||||
## Herramientas del admin del sitio
|
||||
## Site admin tools
|
||||
|
||||
| Acción | Descripción |
|
||||
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `staff.disable_repo` | Un administrador del sitio inhabilitó el acceso a un repositorio y a todas sus bifurcaciones. |
|
||||
| `staff.enable_repo` | Un administrador del sitio volvió a habilitar el acceso a un repositorio y a todas sus bifurcaciones. |
|
||||
| `staff.fake_login` | Un administrador del sitio inició sesión en {% data variables.product.product_name %} como otro usuario. |
|
||||
| `staff.repo_unlock` | Un administrador del sitio desbloqueó (obtuvo acceso total de manera temporaria) uno de los repositorios privados del usuario. |
|
||||
| `staff.unlock` | Un administrador del sitio desbloqueó (obtuvo acceso total de manera temporaria) todos los repositorios privados de un usuario. |
|
||||
Action | Description
|
||||
----------------------------- | -----------------------------------------------
|
||||
`staff.disable_repo` | A site admin disabled access to a repository and all of its forks.
|
||||
`staff.enable_repo` | A site admin re-enabled access to a repository and all of its forks.{% ifversion ghes > 3.2 %}
|
||||
`staff.exit_fake_login` | A site admin ended an impersonation session on {% data variables.product.product_name %}.
|
||||
`staff.fake_login` | A site admin signed into {% data variables.product.product_name %} as another user.{% endif %}
|
||||
`staff.repo_unlock` | A site admin unlocked (temporarily gained full access to) one of a user's private repositories.
|
||||
`staff.unlock` | A site admin unlocked (temporarily gained full access to) all of a user's private repositories.
|
||||
|
||||
## Equipos
|
||||
## Teams
|
||||
|
||||
| Acción | Descripción |
|
||||
| ------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `team.create` | Se agregó una cuenta de usuario o repositorio a un equipo. |
|
||||
| `team.delete` | A user account or repository was removed from a team.{% ifversion ghes or ghae %}
|
||||
| `team.demote_maintainer` | Se bajó de categoría a un usuario de mantenedor de equipo a miembro de equipo.{% endif %}
|
||||
| `team.destroy` | Se borró un equipo.{% ifversion ghes or ghae %}
|
||||
| `team.promote_maintainer` | Se promovió a un usuario de miembro de equipo a mantenedor de equipo.{% endif %}
|
||||
Action | Description
|
||||
--------------------------------- | -------------------------------------------
|
||||
`team.create` | A user account or repository was added to a team.
|
||||
`team.delete` | A user account or repository was removed from a team.{% ifversion ghes or ghae %}
|
||||
`team.demote_maintainer` | A user was demoted from a team maintainer to a team member.{% endif %}
|
||||
`team.destroy` | A team was deleted.{% ifversion ghes or ghae %}
|
||||
`team.promote_maintainer` | A user was promoted from a team member to a team maintainer.{% endif %}
|
||||
|
||||
## Usuarios
|
||||
## Users
|
||||
|
||||
| Acción | Descripción |
|
||||
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `user.add_email` | Se agregó una dirección de correo electrónico a una cuenta de usuario. |
|
||||
| `user.async_delete` | Se inició un job asincrónico para destruir una cuenta de usuario, lo cual finalmente activó a `user.delete`.{% ifversion ghes %}
|
||||
| `user.change_password` | Un usuario cambió su contraseña.{% endif %}
|
||||
| `user.create` | Se creó una cuenta de usuario nueva. |
|
||||
| `user.delete` | Se destruyó una cuenta de usuario mediante una tarea asincrónica. |
|
||||
| `user.demote` | Se disminuyó el nivel de un administrador del sitio a cuenta de usuario común. |
|
||||
| `user.destroy` | Un usuario borró su cuenta, lo cual activó a `user.async_delete`.{% ifversion ghes %}
|
||||
| `user.failed_login` | Un usuario intentó registrarse con un nombre de usuario, contraseña o código de autenticación de dos factores incorrecto. |
|
||||
| `user.forgot_password` | Un usuario solicitó el restablecimiento de una contraseña a través de la página de inicio de sesión.{% endif %}
|
||||
| `user.login` | Un usuario inició sesión.{% ifversion ghes or ghae %}
|
||||
| `user.mandatory_message_viewed` | Un usuario vió un mensaje mandatorio (consulta "[Personalizar los mensajes de usuario](/admin/user-management/customizing-user-messages-for-your-enterprise)" para obtener más detalles) | {% endif %}
|
||||
| `user.promote` | Se ascendió una cuenta de usuario común a administrador del sitio. |
|
||||
| `user.remove_email` | Se eliminó una dirección de correo electrónico de una cuenta de usuario. |
|
||||
| `user.rename` | Se cambió un nombre de usuario. |
|
||||
| `user.suspend` | Un administrador de sitio suspendió una cuenta de usuario.{% ifversion ghes %}
|
||||
| `user.two_factor_requested` | Se solicitó a un usuario ingresar un código de autenticación bifactorial.{% endif %}
|
||||
| `user.unsuspend` | Un administrador del sitió dejó de suspender una cuenta de usuario. |
|
||||
Action | Description
|
||||
--------------------------------- | -------------------------------------------
|
||||
`user.add_email` | An email address was added to a user account.
|
||||
`user.async_delete` | An asynchronous job was started to destroy a user account, eventually triggering `user.delete`.{% ifversion ghes %}
|
||||
`user.change_password` | A user changed his or her password.{% endif %}
|
||||
`user.create` | A new user account was created.
|
||||
`user.delete` | A user account was destroyed by an asynchronous job.
|
||||
`user.demote` | A site admin was demoted to an ordinary user account.
|
||||
`user.destroy` | A user deleted his or her account, triggering `user.async_delete`.{% ifversion ghes %}
|
||||
`user.failed_login` | A user tried to sign in with an incorrect username, password, or two-factor authentication code.
|
||||
`user.forgot_password` | A user requested a password reset via the sign-in page.{% endif %}
|
||||
`user.login` | A user signed in.{% ifversion ghes or ghae %}
|
||||
`user.mandatory_message_viewed` | A user views a mandatory message (see "[Customizing user messages](/admin/user-management/customizing-user-messages-for-your-enterprise)" for details) | {% endif %}
|
||||
`user.promote` | An ordinary user account was promoted to a site admin.
|
||||
`user.remove_email` | An email address was removed from a user account.
|
||||
`user.rename` | A username was changed.
|
||||
`user.suspend` | A user account was suspended by a site admin.{% ifversion ghes %}
|
||||
`user.two_factor_requested` | A user was prompted for a two-factor authentication code.{% endif %}
|
||||
`user.unsuspend` | A user account was unsuspended by a site admin.
|
||||
|
||||
{% ifversion ghes > 3.1 or ghae-issue-1157 %}
|
||||
## Flujos de trabajo
|
||||
## Workflows
|
||||
|
||||
{% data reusables.actions.actions-audit-events-workflow %}
|
||||
{% endif %}
|
||||
|
||||
[add key]: /articles/adding-a-new-ssh-key-to-your-github-account
|
||||
[llave de implementación]: /guides/managing-deploy-keys/#deploy-keys
|
||||
[llave de despliegue]: /guides/managing-deploy-keys/#deploy-keys
|
||||
[generate token]: /articles/creating-an-access-token-for-command-line-use
|
||||
[Token de acceso de OAuth]: /developers/apps/authorizing-oauth-apps
|
||||
[Aplicación de OAuth]: /guides/basics-of-authentication/#registering-your-app
|
||||
[clave secreta de una aplicación de OAuth]: /guides/basics-of-authentication/#registering-your-app
|
||||
[aplicación de OAuth]: /guides/basics-of-authentication/#registering-your-app
|
||||
[2fa]: /articles/about-two-factor-authentication
|
||||
[2fa]: /articles/about-two-factor-authentication
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Agregar una clave SSH nueva a tu cuenta de GitHub
|
||||
title: Adding a new SSH key to your GitHub account
|
||||
intro: 'To configure your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} to use your new (or existing) SSH key, you''ll also need to add the key to your account.'
|
||||
redirect_from:
|
||||
- /articles/adding-a-new-ssh-key-to-your-github-account
|
||||
@@ -12,14 +12,13 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- SSH
|
||||
shortTitle: Agregar una llave SSH nueva
|
||||
shortTitle: Add a new SSH key
|
||||
---
|
||||
|
||||
Before adding a new SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you should have:
|
||||
* [Comprobado tus claves SSH existentes](/articles/checking-for-existing-ssh-keys)
|
||||
* [Generar una nueva clave SSH y agregarla al ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
|
||||
* [Checked for existing SSH keys](/articles/checking-for-existing-ssh-keys)
|
||||
* [Generating a new SSH key and adding it to the ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
|
||||
|
||||
After adding a new SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. Para obtener más información, consulta "[Alternar URL remota de HTTPS a SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)".
|
||||
After adding a new SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. For more information, see "[Switching remote URLs from HTTPS to SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)."
|
||||
|
||||
{% data reusables.ssh.key-type-support %}
|
||||
|
||||
@@ -28,9 +27,9 @@ After adding a new SSH key to your account on {% ifversion ghae %}{% data variab
|
||||
{% include tool-switcher %}
|
||||
{% webui %}
|
||||
|
||||
1. Copia la llave SSH pública a tu portapapeles.
|
||||
1. Copy the SSH public key to your clipboard.
|
||||
|
||||
Si tu archivo de llave SSH pública tiene un nombre diferente que en el código de ejemplo, modifica el nombre de archivo para que coincida con tu configuración actual. Al copiar tu clave, no agregues líneas nuevas o espacios en blanco.
|
||||
If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace.
|
||||
|
||||
```shell
|
||||
$ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub
|
||||
@@ -39,16 +38,19 @@ After adding a new SSH key to your account on {% ifversion ghae %}{% data variab
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Sugerencia:** Si `pbcopy` no está funcionando, puedes ubicar la carpeta `.ssh` oculta, abrir el archivo en tu editor de texto favorito, y copiarlo en tu portapapeles.
|
||||
**Tip:** If `pbcopy` isn't working, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.ssh %}
|
||||
4. Haz clic en **New SSH key** (Nueva clave SSH) o **Add SSH key** (Agregar clave SSH). 
|
||||
5. En el campo "Title" (Título), agrega una etiqueta descriptiva para la clave nueva. Por ejemplo, si estás usando tu Mac personal, es posible que llames a esta tecla "Personal MacBook Air".
|
||||
6. Pega tu clave en el campo "Key". 
|
||||
7. Haz clic en **Add SSH key** (Agregar tecla SSH). 
|
||||
4. Click **New SSH key** or **Add SSH key**.
|
||||

|
||||
5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air".
|
||||
6. Paste your key into the "Key" field.
|
||||

|
||||
7. Click **Add SSH key**.
|
||||

|
||||
{% data reusables.user_settings.sudo-mode-popup %}
|
||||
|
||||
{% endwebui %}
|
||||
@@ -61,9 +63,9 @@ After adding a new SSH key to your account on {% ifversion ghae %}{% data variab
|
||||
|
||||
{% webui %}
|
||||
|
||||
1. Copia la llave SSH pública a tu portapapeles.
|
||||
1. Copy the SSH public key to your clipboard.
|
||||
|
||||
Si tu archivo de llave SSH pública tiene un nombre diferente que en el código de ejemplo, modifica el nombre de archivo para que coincida con tu configuración actual. Al copiar tu clave, no agregues líneas nuevas o espacios en blanco.
|
||||
If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace.
|
||||
|
||||
```shell
|
||||
$ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub
|
||||
@@ -72,17 +74,21 @@ After adding a new SSH key to your account on {% ifversion ghae %}{% data variab
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Sugerencia:** Si `clip` no está funcionando, puedes ubicar la carpeta `.shh` oculta, abrir el archivo en tu editor de texto favorito, y copiarlo en tu portapapeles.
|
||||
**Tip:** If `clip` isn't working, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.ssh %}
|
||||
4. Haz clic en **New SSH key** (Nueva clave SSH) o **Add SSH key** (Agregar clave SSH). 
|
||||
5. En el campo "Title" (Título), agrega una etiqueta descriptiva para la clave nueva. Por ejemplo, si estás usando tu Mac personal, es posible que llames a esta tecla "Personal MacBook Air".
|
||||
6. Pega tu clave en el campo "Key". 
|
||||
7. Haz clic en **Add SSH key** (Agregar tecla SSH). 
|
||||
8. Si se te solicita, confirma tu contraseña {% data variables.product.product_name %}.
|
||||
4. Click **New SSH key** or **Add SSH key**.
|
||||

|
||||
5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air".
|
||||
6. Paste your key into the "Key" field.
|
||||

|
||||
7. Click **Add SSH key**.
|
||||

|
||||
8. If prompted, confirm your {% data variables.product.product_name %} password.
|
||||

|
||||
|
||||
{% endwebui %}
|
||||
|
||||
@@ -93,9 +99,9 @@ After adding a new SSH key to your account on {% ifversion ghae %}{% data variab
|
||||
{% include tool-switcher %}
|
||||
{% webui %}
|
||||
|
||||
1. Copia la llave SSH pública a tu portapapeles.
|
||||
1. Copy the SSH public key to your clipboard.
|
||||
|
||||
Si tu archivo de llave SSH pública tiene un nombre diferente que en el código de ejemplo, modifica el nombre de archivo para que coincida con tu configuración actual. Al copiar tu clave, no agregues líneas nuevas o espacios en blanco.
|
||||
If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace.
|
||||
|
||||
```shell
|
||||
$ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub
|
||||
@@ -105,17 +111,21 @@ After adding a new SSH key to your account on {% ifversion ghae %}{% data variab
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** Como alternativa, puedes ubicar la carpeta `.ssh` oculta, abrir el archivo en tu editor de texto favorito y copiarlo a tu portapapeles.
|
||||
**Tip:** Alternatively, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.ssh %}
|
||||
4. Haz clic en **New SSH key** (Nueva clave SSH) o **Add SSH key** (Agregar clave SSH). 
|
||||
5. En el campo "Title" (Título), agrega una etiqueta descriptiva para la clave nueva. Por ejemplo, si estás usando tu Mac personal, es posible que llames a esta tecla "Personal MacBook Air".
|
||||
6. Pega tu clave en el campo "Key". 
|
||||
7. Haz clic en **Add SSH key** (Agregar tecla SSH). 
|
||||
8. Si se te solicita, confirma tu contraseña {% data variables.product.product_name %}.
|
||||
4. Click **New SSH key** or **Add SSH key**.
|
||||

|
||||
5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air".
|
||||
6. Paste your key into the "Key" field.
|
||||

|
||||
7. Click **Add SSH key**.
|
||||

|
||||
8. If prompted, confirm your {% data variables.product.product_name %} password.
|
||||

|
||||
|
||||
{% endwebui %}
|
||||
|
||||
@@ -125,22 +135,30 @@ After adding a new SSH key to your account on {% ifversion ghae %}{% data variab
|
||||
|
||||
{% data reusables.cli.cli-learn-more %}
|
||||
|
||||
Para agergar una clave SSH a tu cuenta de GitHub, utiliza el subcomando `ssh-key add`, especificando tu llave pública.
|
||||
Before you can use the {% data variables.product.prodname_cli %} to add an SSH key to your account, you must authenticate to the {% data variables.product.prodname_cli %}. For more information, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login) in the {% data variables.product.prodname_cli %} documentation.
|
||||
|
||||
To add an SSH key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key.
|
||||
|
||||
```shell
|
||||
gh ssh-key add <em>key-file</em>
|
||||
```
|
||||
|
||||
Para incluir un título para la clave nueva, utiliza el marcador `-t` o `--title`.
|
||||
To include a title for the new key, use the `-t` or `--title` flag.
|
||||
|
||||
```shell
|
||||
gh ssh-key add <em>key-file</em> --title "personal laptop"
|
||||
```
|
||||
|
||||
If you generated your SSH key by following the instructions in "[Generating a new SSH key](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)", you can add the key to your account with this command.
|
||||
|
||||
```shell
|
||||
gh ssh-key add ~/.ssh/id_ed25519.pub
|
||||
```
|
||||
|
||||
{% endcli %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Autorizar una clave SSH para usar con el inicio de sesión único de SAML](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)"
|
||||
- "[Authorizing an SSH key for use with SAML single sign-on](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)"
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Generar una nueva clave SSH y agregarla al ssh-agent
|
||||
intro: 'Una vez que has comprobado las claves SSH existentes, puedes generar una nueva clave SSH para usarla para la autenticación y luego agregarla al ssh-agent.'
|
||||
title: Generating a new SSH key and adding it to the ssh-agent
|
||||
intro: 'After you''ve checked for existing SSH keys, you can generate a new SSH key to use for authentication, then add it to the ssh-agent.'
|
||||
redirect_from:
|
||||
- /articles/adding-a-new-ssh-key-to-the-ssh-agent/
|
||||
- /articles/generating-a-new-ssh-key/
|
||||
@@ -14,24 +14,23 @@ versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
- SSH
|
||||
shortTitle: Generar una llave SSH nueva
|
||||
shortTitle: Generate new SSH key
|
||||
---
|
||||
## About SSH key generation
|
||||
|
||||
## Acerca de la generación de llaves SSH
|
||||
|
||||
Si todavía no tienes una llave SSH, debes generar una nueva para utilizarla para autenticación. Si no estás seguro si ya tienes una llave SSH, puedes verificar si hay llaves existentes. Para obtener más información, consulta la sección "[Verificar si hay llaves SSH existentes](/github/authenticating-to-github/checking-for-existing-ssh-keys)".
|
||||
If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)."
|
||||
|
||||
{% ifversion fpt or ghae-next or ghes > 3.1 or ghec %}
|
||||
|
||||
Si quieres utilizar una llave de seguridad de hardware para autenticarte en {% data variables.product.product_name %}, debes generar una llave SSH nueva para esta. Debes conectar tu llave de seguridad de hardware a tu computadora cuando te autentiques con el par de llaves. Para obtener más información, consulta las[notas de lanzamiento de OpenSSH 8.2](https://www.openssh.com/txt/release-8.2).
|
||||
If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2).
|
||||
|
||||
{% endif %}
|
||||
Si no deseas volver a ingresar tu contraseña cada vez que usas tu clave SSH, puedes agregar tu clave al agente SSH, el cual administrará tus claves SSH y recordará tu contraseña.
|
||||
If you don't want to reenter your passphrase every time you use your SSH key, you can add your key to the SSH agent, which manages your SSH keys and remembers your passphrase.
|
||||
|
||||
## Generar una nueva clave SSH
|
||||
## Generating a new SSH key
|
||||
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
2. Pega el siguiente texto, que sustituye tu dirección de correo electrónico en {% data variables.product.product_name %}.
|
||||
2. Paste the text below, substituting in your {% data variables.product.product_name %} email address.
|
||||
{% ifversion ghae %}
|
||||
<!-- GitHub AE is FIPS 140-2 compliant. FIPS does not yet permit keys that use the ed25519 algorithm. -->
|
||||
```shell
|
||||
@@ -43,7 +42,7 @@ Si no deseas volver a ingresar tu contraseña cada vez que usas tu clave SSH, pu
|
||||
```
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si estás utilizando un sistema tradicional que no es compatible con el algoritmo Ed25519, utiliza:
|
||||
**Note:** If you are using a legacy system that doesn't support the Ed25519 algorithm, use:
|
||||
```shell
|
||||
$ ssh-keygen -t rsa -b 4096 -C "<em>your_email@example.com</em>"
|
||||
```
|
||||
@@ -51,11 +50,11 @@ Si no deseas volver a ingresar tu contraseña cada vez que usas tu clave SSH, pu
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
Esto crea una llave SSH utilizando el correo electrónico proporcionado como etiqueta.
|
||||
This creates a new SSH key, using the provided email as a label.
|
||||
```shell
|
||||
> Generating public/private <em>algorithm</em> key pair.
|
||||
```
|
||||
3. Cuando se te indique "Ingresar un archivo donde guardar la clave", presiona Intro. Al hacerlo aceptas la ubicación predeterminada del archivo.
|
||||
3. When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location.
|
||||
|
||||
{% mac %}
|
||||
|
||||
@@ -81,36 +80,36 @@ Si no deseas volver a ingresar tu contraseña cada vez que usas tu clave SSH, pu
|
||||
|
||||
{% endlinux %}
|
||||
|
||||
4. Donde se indica, escribe una contraseña segura. Para obtener más información, consulta la sección ["Trabajar con contraseñas de llaves SSH](/articles/working-with-ssh-key-passphrases)".
|
||||
4. At the prompt, type a secure passphrase. For more information, see ["Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)."
|
||||
```shell
|
||||
> Enter passphrase (empty for no passphrase): <em>[Type a passphrase]</em>
|
||||
> Enter same passphrase again: <em>[Type passphrase again]</em>
|
||||
```
|
||||
|
||||
## Agregar tu clave SSH al ssh-agent
|
||||
## Adding your SSH key to the ssh-agent
|
||||
|
||||
Antes de agregar una llave SSH nueva al ssh-agent para que administre tus llaves, debes haber verificado si habían llaves SSH existentes y haber generado una llave SSH nueva. <span class="platform-mac">Cuando agregues tu clave SSH al agente, usa el comando macOS `ssh-add` y no una aplicación instalada por [macports](https://www.macports.org/), [homebrew](http://brew.sh/) o alguna otra fuente externa.</span>
|
||||
Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key. <span class="platform-mac">When adding your SSH key to the agent, use the default macOS `ssh-add` command, and not an application installed by [macports](https://www.macports.org/), [homebrew](http://brew.sh/), or some other external source.</span>
|
||||
|
||||
{% mac %}
|
||||
|
||||
{% data reusables.command_line.start_ssh_agent %}
|
||||
|
||||
2. Si estás usando macOS Sierra 10.12.2 o una versión posterior, deberás modificar tu archivo `~/.ssh/config` para cargar las claves automáticamente en el ssh-agent y almacenar las contraseñas en tu keychain.
|
||||
2. If you're using macOS Sierra 10.12.2 or later, you will need to modify your `~/.ssh/config` file to automatically load keys into the ssh-agent and store passphrases in your keychain.
|
||||
|
||||
* Primero, revisa si tu archivo `~/.ssh/config` existe en la ubicación predeterminada.
|
||||
* First, check to see if your `~/.ssh/config` file exists in the default location.
|
||||
|
||||
```shell
|
||||
$ open ~/.ssh/config
|
||||
> The file /Users/<em>you</em>/.ssh/config does not exist.
|
||||
```
|
||||
|
||||
* Si el archivo no existe, créalo.
|
||||
* If the file doesn't exist, create the file.
|
||||
|
||||
```shell
|
||||
$ touch ~/.ssh/config
|
||||
```
|
||||
|
||||
* Abre tu archivo `~/.ssh/config` y luego modifícalo para que contenga las siguientes líneas. Si tu llave SSH tiene un nombre o ruta diferentes que el código de ejemplo, modifica el nombre de archivo o ruta para que coincida con tu configuración actual.
|
||||
* Open your `~/.ssh/config` file, then modify the file to contain the following lines. If your SSH key file has a different name or path than the example code, modify the filename or path to match your current setup.
|
||||
|
||||
```
|
||||
Host *
|
||||
@@ -121,20 +120,20 @@ Antes de agregar una llave SSH nueva al ssh-agent para que administre tus llaves
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si eliges no agregar una frase de acceso a tu llave, deberás omitir la línea `UseKeychain`.
|
||||
|
||||
**Note:** If you chose not to add a passphrase to your key, you should omit the `UseKeychain` line.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
|
||||
{% mac %}
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si ves un error como este
|
||||
**Note:** If you see an error like this
|
||||
|
||||
```
|
||||
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain
|
||||
```
|
||||
|
||||
y una línea de configuración adicional en tu sección `Host *`:
|
||||
add an additional config line to your `Host *` section:
|
||||
|
||||
```
|
||||
Host *
|
||||
@@ -143,20 +142,22 @@ Antes de agregar una llave SSH nueva al ssh-agent para que administre tus llaves
|
||||
|
||||
{% endnote %}
|
||||
{% endmac %}
|
||||
|
||||
3. Agrega tu llave privada SSH al ssh-agent y almacena tu contraseña en tu keychain. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
|
||||
3. Add your SSH private key to the ssh-agent and store your passphrase in the keychain. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
```shell
|
||||
$ ssh-add -K ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}
|
||||
```
|
||||
{% note %}
|
||||
|
||||
**Nota:** La opción `-K` es una versión estándar de Apple de `ssh-add`, que almacena la contraseña en tu keychain cuando agregas una llave SSH al ssh-agent. Si eliges no agregar una frase de acceso a tu llave, ejecuta el comando sin la opción `-K`.
|
||||
**Note:** The `-K` option is Apple's standard version of `ssh-add`, which stores the passphrase in your keychain for you when you add an SSH key to the ssh-agent. If you chose not to add a passphrase to your key, run the command without the `-K` option.
|
||||
|
||||
Si no tienes instalada la versión estándar de Apple, puedes recibir un mensaje de error. Para obtener más información sobre cómo resolver este error, consulta "[Error: ssh-add: opción ilegal -- K](/articles/error-ssh-add-illegal-option-k)".
|
||||
If you don't have Apple's standard version installed, you may receive an error. For more information on resolving this error, see "[Error: ssh-add: illegal option -- K](/articles/error-ssh-add-illegal-option-k)."
|
||||
|
||||
In MacOS Monterey (12.0), the `-K` and `-A` flags are deprecated and have been replaced by the `--apple-use-keychain` and `--apple-load-keychain` flags, respectively.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
4. Agrega la llave SSH a tu cuenta en {% data variables.product.product_name %}. Para obtener más información, consulta la sección "[Agregar una llave SSH nueva a tu cuenta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)".
|
||||
4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
|
||||
|
||||
{% endmac %}
|
||||
|
||||
@@ -164,17 +165,17 @@ Antes de agregar una llave SSH nueva al ssh-agent para que administre tus llaves
|
||||
|
||||
{% data reusables.desktop.windows_git_bash %}
|
||||
|
||||
1. Verifica que el ssh-agent se esté ejecutando. Puedes utilizar las instrucciones de "Autolanzamiento del ssh-agent" que se encuentran en [Trabajar con frases de acceso de las llaves SSH](/articles/working-with-ssh-key-passphrases)" o iniciarlo manualmente:
|
||||
1. Ensure the ssh-agent is running. You can use the "Auto-launching the ssh-agent" instructions in "[Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)", or start it manually:
|
||||
```shell
|
||||
# start the ssh-agent in the background
|
||||
$ eval "$(ssh-agent -s)"
|
||||
> Agent pid 59566
|
||||
```
|
||||
|
||||
2. Agrega tu llave privada SSH al ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
{% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %}
|
||||
|
||||
3. Agrega la llave SSH a tu cuenta en {% data variables.product.product_name %}. Para obtener más información, consulta la sección "[Agregar una llave SSH nueva a tu cuenta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)".
|
||||
3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
|
||||
|
||||
{% endwindows %}
|
||||
|
||||
@@ -182,37 +183,37 @@ Antes de agregar una llave SSH nueva al ssh-agent para que administre tus llaves
|
||||
|
||||
{% data reusables.command_line.start_ssh_agent %}
|
||||
|
||||
2. Agrega tu llave privada SSH al ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
{% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %}
|
||||
|
||||
3. Agrega la llave SSH a tu cuenta en {% data variables.product.product_name %}. Para obtener más información, consulta la sección "[Agregar una llave SSH nueva a tu cuenta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)".
|
||||
3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
|
||||
|
||||
{% endlinux %}
|
||||
|
||||
{% ifversion fpt or ghae-next or ghes > 3.1 or ghec %}
|
||||
## Generar una llave SSH nueva para una llave de seguridad de hardware
|
||||
## Generating a new SSH key for a hardware security key
|
||||
|
||||
Si estás utilizando macOS o Linux, puede que necesites actualizar tu cliente SSH o instalar un cliente SSH nuevo antes de generar una llave SSH nueva. Para obtener más información, consulta el "[Error: Unknown key type](/github/authenticating-to-github/error-unknown-key-type)"
|
||||
If you are using macOS or Linux, you may need to update your SSH client or install a new SSH client prior to generating a new SSH key. For more information, see "[Error: Unknown key type](/github/authenticating-to-github/error-unknown-key-type)."
|
||||
|
||||
1. Insterta tu clave de seguridad de hardware en tu computadora.
|
||||
1. Insert your hardware security key into your computer.
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
3. Pega el siguiente texto, sustitutyendo la dirección de correo electrónico por tu cuenta de {% data variables.product.product_name %}.
|
||||
3. Paste the text below, substituting in the email address for your account on {% data variables.product.product_name %}.
|
||||
```shell
|
||||
$ ssh-keygen -t {% ifversion ghae %}ecdsa{% else %}ed25519{% endif %}-sk -C "<em>your_email@example.com</em>"
|
||||
```
|
||||
|
||||
|
||||
{% ifversion not ghae %}
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si el comando falla y recibes el error `invalid format` o `feature not supported,` puede que estés utilizando una llave de seguridad de hardware que no sea compatible con el algoritmo Ed25519. En vez de esto, ingresa el siguiente comando.
|
||||
**Note:** If the command fails and you receive the error `invalid format` or `feature not supported,` you may be using a hardware security key that does not support the Ed25519 algorithm. Enter the following command instead.
|
||||
```shell
|
||||
$ ssh-keygen -t ecdsa-sk -C "your_email@example.com"
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
4. Cuando se te solicite, pulsa el botón en tu llave de seguridad de hardware.
|
||||
5. Cuando se te pida "Ingresar un archivo en donde se pueda guardar la llave", teclea Enter para aceptar la ubicación predeterminada.
|
||||
4. When you are prompted, touch the button on your hardware security key.
|
||||
5. When you are prompted to "Enter a file in which to save the key," press Enter to accept the default file location.
|
||||
|
||||
{% mac %}
|
||||
|
||||
@@ -238,19 +239,19 @@ Si estás utilizando macOS o Linux, puede que necesites actualizar tu cliente SS
|
||||
|
||||
{% endlinux %}
|
||||
|
||||
6. Cuando se te solicite teclear una contraseña, teclea **Enter**.
|
||||
6. When you are prompted to type a passphrase, press **Enter**.
|
||||
```shell
|
||||
> Enter passphrase (empty for no passphrase): <em>[Type a passphrase]</em>
|
||||
> Enter same passphrase again: <em>[Type passphrase again]</em>
|
||||
```
|
||||
7. Agrega la llave SSH a tu cuenta en {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la sección "[Agregar una llave SSH nueva a tu cuenta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)".
|
||||
7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Acerca de SSH](/articles/about-ssh)"
|
||||
- Para obtener más información, consulta "[Trabajar con frases de contraseña de la clave SSH](/articles/working-with-ssh-key-passphrases)"
|
||||
- "[About SSH](/articles/about-ssh)"
|
||||
- "[Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)"
|
||||
{%- ifversion fpt %}
|
||||
- "[Autorizar una clave SSH para usar con el inicio de sesión único de SAML](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)"
|
||||
- "[Authorizing an SSH key for use with SAML single sign-on](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)"
|
||||
{%- endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de las URL anonimizadas
|
||||
intro: 'Si cargas una imagen o video a {% data variables.product.product_name %}, la URL de estos medios se modificará para que tu información no se pueda rastrear.'
|
||||
title: About anonymized URLs
|
||||
intro: 'If you upload an image or video to {% data variables.product.product_name %}, the URL of the image or video will be modified so your information is not trackable.'
|
||||
redirect_from:
|
||||
- /articles/why-do-my-images-have-strange-urls/
|
||||
- /articles/about-anonymized-image-urls
|
||||
@@ -14,33 +14,32 @@ topics:
|
||||
- Identity
|
||||
- Access management
|
||||
---
|
||||
To host your images, {% data variables.product.product_name %} uses the [open-source project Camo](https://github.com/atmos/camo). Camo generates an anonymous URL proxy for each file which hides your browser details and related information from other users. The URL starts `https://<subdomain>.githubusercontent.com/`, with different subdomains depending on how you uploaded the image.
|
||||
|
||||
Para alojar tus imágenes, {% data variables.product.product_name %} usa el [Camo del proyecto de código abierto](https://github.com/atmos/camo). Camo genera un proxy de URL anónimo para cada archivo que oculta los detalles de tu buscador y la información relacionada de otros usuarios. La URL inicia a `https://<subdomain>.githubusercontent.com/`, con subdominios diferentes dependiendo de cómo la cargues.
|
||||
Videos also get anonymized URLs with the same format as image URLs, but are not processed through Camo. This is because {% data variables.product.prodname_dotcom %} does not support externally hosted videos, so the anonymized URL is a link to the uploaded video hosted by {% data variables.product.prodname_dotcom %}.
|
||||
|
||||
También se asignan URL anonimizadas a los videos, las cuales tienen el mismo formato que las URL de imagen, pero no se procesan a través de Camo. Esto es porque {% data variables.product.prodname_dotcom %} no es compatible con videos hospedados externamente, así que la URL anonimizada es un enlace al video cargado que hospeda {% data variables.product.prodname_dotcom %}.
|
||||
Anyone who receives your anonymized URL, directly or indirectly, may view your image or video. To keep sensitive media files private, restrict them to a private network or a server that requires authentication instead of using Camo.
|
||||
|
||||
Cualquiera que reciba tu URL anonimizada directa o indirectamente podrá ver tu imagen o video. Para mantener privados los archivos de medios sensibles, restríngelos a una red o servidor privado que requiere autenticación en vez de utilizar Camo.
|
||||
## Troubleshooting issues with Camo
|
||||
|
||||
## Solución de problemas con Camo
|
||||
|
||||
En circunstancias excepcionales, las imágenes procesadas mediante Camo podrían no aparecer en {% data variables.product.prodname_dotcom %}. Aquí presentamos algunos pasos que puedes tomar para determinar dónde está el problema.
|
||||
In rare circumstances, images that are processed through Camo might not appear on {% data variables.product.prodname_dotcom %}. Here are some steps you can take to determine where the problem lies.
|
||||
|
||||
{% windows %}
|
||||
|
||||
{% tip %}
|
||||
|
||||
Los usuarios de Windows necesitarán usar PowerShell de Git (que está instalado junto a [{% data variables.product.prodname_desktop %}](https://desktop.github.com/)) o descargar [curl para Windows](http://curl.haxx.se/download.html).
|
||||
Windows users will either need to use the Git PowerShell (which is installed alongside [{% data variables.product.prodname_desktop %}](https://desktop.github.com/)) or download [curl for Windows](http://curl.haxx.se/download.html).
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% endwindows %}
|
||||
|
||||
### Una imagen no aparece
|
||||
### An image is not showing up
|
||||
|
||||
Si se muestra una imagen en tu buscador pero no en {% data variables.product.prodname_dotcom %}, puedes intentar solicitarla localmente.
|
||||
If an image is showing up in your browser but not on {% data variables.product.prodname_dotcom %}, you can try requesting it locally.
|
||||
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
1. Solicita los encabezados de la imagen usando `curl`.
|
||||
1. Request the image headers using `curl`.
|
||||
```shell
|
||||
$ curl -I https://www.my-server.com/images/some-image.png
|
||||
> HTTP/2 200
|
||||
@@ -50,20 +49,20 @@ Si se muestra una imagen en tu buscador pero no en {% data variables.product.pro
|
||||
> Server: Google Frontend
|
||||
> Content-Length: 6507
|
||||
```
|
||||
3. Verifica el valor de `Content-Type`. En este caso, es `image/x-png`.
|
||||
4. Verifica ese tipo de contenido con [la lista de tipos admitidos por Camo](https://github.com/atmos/camo/blob/master/mime-types.json).
|
||||
3. Check the value of `Content-Type`. In this case, it's `image/x-png`.
|
||||
4. Check that content type against [the list of types supported by Camo](https://github.com/atmos/camo/blob/master/mime-types.json).
|
||||
|
||||
Si Camo no admite tu tipo de contenido, puedes probar varias acciones:
|
||||
* Si eres propietario del servidor que aloja la imagen, modifícalo para que devuelva un tipo de contenido correcto para las imágenes.
|
||||
* Si estás usando un servicio externo para alojar imágenes, comunícate con servicio técnico para ese servicio.
|
||||
* Realiza una solicitud de extracción para que Camo agregue tu tipo de contenido a la lista.
|
||||
If your content type is not supported by Camo, you can try several actions:
|
||||
* If you own the server that's hosting the image, modify it so that it returns a correct content type for images.
|
||||
* If you're using an external service for hosting images, contact support for that service.
|
||||
* Make a pull request to Camo to add your content type to the list.
|
||||
|
||||
### Una imagen que cambió recientemente no se está actualizando
|
||||
### An image that changed recently is not updating
|
||||
|
||||
Si recientemente modificaste una imagen y aparece en tu navegador pero no en {% data variables.product.prodname_dotcom %}, puedes intentar restablecer la caché de la imagen.
|
||||
If you changed an image recently and it's showing up in your browser but not {% data variables.product.prodname_dotcom %}, you can try resetting the cache of the image.
|
||||
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
1. Solicita los encabezados de la imagen usando `curl`.
|
||||
1. Request the image headers using `curl`.
|
||||
```shell
|
||||
$ curl -I https://www.my-server.com/images/some-image.png
|
||||
> HTTP/2 200
|
||||
@@ -73,29 +72,29 @@ Si recientemente modificaste una imagen y aparece en tu navegador pero no en {%
|
||||
> Server: Jetty(8.y.z-SNAPSHOT)
|
||||
```
|
||||
|
||||
Verifica el valor de `Cache-Control`. En este ejemplo, no hay `Cache-Control`. En ese caso:
|
||||
* Si eres propietario del servidor que aloja la imagen, modifícalo para que devuelva un `Cache-Control` de `no-cache` para las imágenes.
|
||||
* Si estás usando un servicio externo para alojar imágenes, comunícate con servicio técnico para ese servicio.
|
||||
Check the value of `Cache-Control`. In this example, there's no `Cache-Control`. In that case:
|
||||
* If you own the server that's hosting the image, modify it so that it returns a `Cache-Control` of `no-cache` for images.
|
||||
* If you're using an external service for hosting images, contact support for that service.
|
||||
|
||||
Si `Cache-Control` se *configura* como `no-cache`, contacta a {% data variables.contact.contact_support %} o busca ayuda en el {% data variables.contact.community_support_forum %}.
|
||||
If `Cache-Control` *is* set to `no-cache`, contact {% data variables.contact.contact_support %} or search the {% data variables.contact.community_support_forum %}.
|
||||
|
||||
### Eliminar una imagen desde la caché de Camo
|
||||
### Removing an image from Camo's cache
|
||||
|
||||
Purgar la caché fuerza a cada usuario de {% data variables.product.prodname_dotcom %} a volver a solicitar la imagen, por lo que deberías usarla con mucha prudencia y solo en el caso de que los pasos anteriores no hayan funcionado.
|
||||
Purging the cache forces every {% data variables.product.prodname_dotcom %} user to re-request the image, so you should use it very sparingly and only in the event that the above steps did not work.
|
||||
|
||||
{% data reusables.command_line.open_the_multi_os_terminal %}
|
||||
1. Purga la imagen usando `curl -X PURGE` en la URL de Camo.
|
||||
1. Purge the image using `curl -X PURGE` on the Camo URL.
|
||||
```shell
|
||||
$ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223....
|
||||
> {"status": "ok", "id": "216-8675309-1008701"}
|
||||
```
|
||||
|
||||
### Visualizar imágenes en redes privadas
|
||||
### Viewing images on private networks
|
||||
|
||||
Si una imagen está siendo proporcionada desde una red privada o desde un servidor que requiere de autenticación, se puede ver mediante {% data variables.product.prodname_dotcom %}. De hecho, no puede ser vista por ningún usuario sin pedirle que se registre en el servidor.
|
||||
If an image is being served from a private network or from a server that requires authentication, it can't be viewed by {% data variables.product.prodname_dotcom %}. In fact, it can't be viewed by any user without asking them to log into the server.
|
||||
|
||||
Para solucionar esto, mueva la imagen a un servicio que esté disponible públicamente.
|
||||
To fix this, please move the image to a service that is publicly available.
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Imágenes de usuarios de conexiones proxy](https://github.com/blog/1766-proxying-user-images)" en {% data variables.product.prodname_blog %}
|
||||
- "[Proxying user images](https://github.com/blog/1766-proxying-user-images)" on {% data variables.product.prodname_blog %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de la autenticación en GitHub
|
||||
intro: 'Puedes acceder de manera segura a los recursos de tu cuenta si te atutenticas en {% data variables.product.product_name %}, utilizando diferentes credenciales dependiendo de en donde te autenticas.'
|
||||
title: About authentication to GitHub
|
||||
intro: 'You can securely access your account''s resources by authenticating to {% data variables.product.product_name %}, using different credentials depending on where you authenticate.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
@@ -12,85 +12,84 @@ topics:
|
||||
redirect_from:
|
||||
- /github/authenticating-to-github/about-authentication-to-github
|
||||
- /github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github
|
||||
shortTitle: Autenticación en GitHub
|
||||
shortTitle: Authentication to GitHub
|
||||
---
|
||||
## About authentication to {% data variables.product.prodname_dotcom %}
|
||||
|
||||
## Acerca de la autenticación en {% data variables.product.prodname_dotcom %}
|
||||
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.
|
||||
|
||||
Para mantener tu cuenta segura, debes atutenticarte antes de poder acceder a{% ifversion not ghae %} algunos{% endif %} recursos en {% data variables.product.product_name %}. Cuando te autenticas en {% data variables.product.product_name %}, proporcionas o confirmas las credenciales que son específicas para ti y así compruebas de que eres exactamente quien estás declarando ser.
|
||||
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.
|
||||
|
||||
Puedes acceder a tus recursos en {% data variables.product.product_name %} de muchas maneras: en el buscador, a través de {% data variables.product.prodname_desktop %} o de alguna otra aplicación de escritorio, con la API o a través de la línea de comandos. Cada forma de acceder a {% data variables.product.product_name %} es compatible con diferentes modalidades de autenticación.
|
||||
- {% ifversion ghae %}Your identity provider (IdP){% else %}Username and password with two-factor authentication{% endif %}
|
||||
- Personal access token
|
||||
- SSH key
|
||||
|
||||
- {% ifversion ghae %}Tu proveedor de identidad (IdP){% else %}Nombre de usuario y contraseña con autenticación bifactorial{% endif %}
|
||||
- Token de acceso personal
|
||||
- Llave SSH
|
||||
## Authenticating in your browser
|
||||
|
||||
## Autenticarte en tu buscador
|
||||
|
||||
Puedes autenticarte en {% data variables.product.product_name %} en tu buscador {% ifversion ghae %} utilizando tu IdP. Para obtener más información, consulta la sección "[Acera de la autenticación con el inicio de sesión único de SAML](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)".{% else %} de varias formas.
|
||||
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 browser on {% data variables.product.prodname_dotcom_the_website %}.
|
||||
{% endif %}
|
||||
|
||||
- **Nombre de usuario y contraseña únicamente**
|
||||
- Crearás una contraseña cuando crees tu cuenta de usuario en {% data variables.product.product_name %}. Te recomendamos que utilices un administrador de contraseñas para generar una contraseña aleatoria y única. Para obtener más información, consulta la sección "[Crear una contraseña fuerte](/github/authenticating-to-github/creating-a-strong-password)".
|
||||
- **Autenticación de dos factores (2FA)** (recomendada)
|
||||
- Si habilitas la 2FA, también te pediremos que proporciones un código que genera una aplicación en tu dispositivo móvil o que mandes un mensaje de texto (SMS) después de que ingreses tu usuario y contraseña con éxito. Para obtener más información, consulta "[Acceder a {% data variables.product.prodname_dotcom %} utilizando autenticación de dos factores](/github/authenticating-to-github/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website)".
|
||||
- Adicionalmente a la autenticación con una aplicación móvil o con un mensaje de texto, puedes agregar opcionalmente un método secundario de autenticación con una llave de seguridad utilizando WebAuthn. Para obtener más información, consulta la sección "[Configurar la autenticación de dos factores utilizando una llave de seguridad](/github/authenticating-to-github/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)".
|
||||
- **Username and password only**
|
||||
- You'll create a password when you create your user 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)."
|
||||
- **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)."
|
||||
{% endif %}
|
||||
|
||||
## Autenticarte con {% data variables.product.prodname_desktop %}
|
||||
## Authenticating with {% data variables.product.prodname_desktop %}
|
||||
|
||||
Puedes autenticarte con {% data variables.product.prodname_desktop %} utilizando tu buscador. Para obtener más información, consulta "[Autenticar a {% data variables.product.prodname_dotcom %}](/desktop/getting-started-with-github-desktop/authenticating-to-github)."
|
||||
You can authenticate with {% data variables.product.prodname_desktop %} using your browser. For more information, see "[Authenticating to {% data variables.product.prodname_dotcom %}](/desktop/getting-started-with-github-desktop/authenticating-to-github)."
|
||||
|
||||
## Autenticarte con la API
|
||||
## Authenticating with the API
|
||||
|
||||
Puedes autenticarte con la API de varias formas.
|
||||
You can authenticate with the API in different ways.
|
||||
|
||||
- **Tokens de acceso personal**
|
||||
- En situaciones limitadas, tales como cuando se hacen pruebas, puedes utilizar un token de acceso personal para acceder a la API. El utilizar un token de acceso personal te habilita para revocarle el acceso en cualquier momento. Para obtener más información, consulta la sección "[Crear un token de acceso personal](/github/authenticating-to-github/creating-a-personal-access-token)".
|
||||
- **Flujo de aplicaciones Web**
|
||||
- Para las Apps de OAuth productivas, debes autenticarte utilizando el flujo de las aplicaciones web. Para obtener más información, consulta la sección "[Autorizar las Apps de OAuth](/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow)".
|
||||
- **Personal access tokens**
|
||||
- In limited situations, such as testing, you can use a personal access token to access the API. Using a personal access token enables you to revoke access at any time. For more information, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)."
|
||||
- **Web application flow**
|
||||
- For OAuth Apps in production, you should authenticate using the web application flow. For more information, see "[Authorizing OAuth Apps](/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow)."
|
||||
- **GitHub Apps**
|
||||
- Para las Github Apps productivas, debes autenticarte en nombre de la instalación de la app. Para obtener más información, consulta la sección "[Autenticarse con {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/authenticating-with-github-apps/)".
|
||||
- For GitHub Apps in production, you should authenticate on behalf of the app installation. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/authenticating-with-github-apps/)."
|
||||
|
||||
## Autenticarte con la línea de comandos
|
||||
## Authenticating with the command line
|
||||
|
||||
Puedes acceder a los repositorios en {% data variables.product.product_name %} desde la línea de comandos en dos formas, HTTPS y SSH, y ambas tienen una forma diferente para autenticarte. El método para autenticarte se determina con base en si escoges una URL remota de HTTPS o SSH cuando clonas el repositorio. Para obtener más información acerca de la forma en la que accedes, consulta la sección "[Acerca de los repositorios remotos](/github/getting-started-with-github/about-remote-repositories)".
|
||||
You can access repositories on {% data variables.product.product_name %} from the command line in two ways, HTTPS and SSH, and both have a different way of authenticating. The method of authenticating is determined based on whether you choose an HTTPS or SSH remote URL when you clone the repository. For more information about which way to access, see "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)."
|
||||
|
||||
### HTTPS
|
||||
|
||||
Puedes trabajar con todos los repositorios en {% data variables.product.product_name %} a través de HTTPS, aún si estás detrás de un cortafuegos o de un proxy.
|
||||
You can work with all repositories on {% data variables.product.product_name %} over HTTPS, even if you are behind a firewall or proxy.
|
||||
|
||||
Si te autenticas con el {% data variables.product.prodname_cli %}, puedes ya sea autenticarte con un token de acceso personal o a través del buscador web. Para obtener más información sobre cómo autenticarte con el {% data variables.product.prodname_cli %}, consulta la sección [`gh auth login`](https://cli.github.com/manual/gh_auth_login).
|
||||
If you authenticate with {% data variables.product.prodname_cli %}, you can either authenticate with a personal access token or via the web browser. For more information about authenticating with {% data variables.product.prodname_cli %}, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login).
|
||||
|
||||
Si te autenticas sin el {% data variables.product.prodname_cli %}, debes autenticarte con un token de acceso personal. {% data reusables.user_settings.password-authentication-deprecation %} Cada que utilices Git para autenticarte con {% data variables.product.product_name %}, se te pedirá que ingreses tus credenciales para autenticarte con {% data variables.product.product_name %} a menos de que las guardes en caché en un [ayudante para credenciales](/github/getting-started-with-github/caching-your-github-credentials-in-git).
|
||||
If you authenticate without {% data variables.product.prodname_cli %}, you must authenticate with a personal access token. {% data reusables.user_settings.password-authentication-deprecation %} Every time you use Git to authenticate with {% data variables.product.product_name %}, you'll be prompted to enter your credentials to authenticate with {% data variables.product.product_name %}, unless you cache them a [credential helper](/github/getting-started-with-github/caching-your-github-credentials-in-git).
|
||||
|
||||
### SSH
|
||||
|
||||
Puedes trabajar con todos los repositorios en {% data variables.product.product_name %} a través de SSH, aunque los cortafuegos y los proxys podrían rehusarse a permitir las conexiones de SSH.
|
||||
You can work with all repositories on {% data variables.product.product_name %} over SSH, although firewalls and proxys might refuse to allow SSH connections.
|
||||
|
||||
Si te autenticas con el{% data variables.product.prodname_cli %}, este encontrará llaves SSH públicas en tu máquina y te pedirá seleccionar una para cargar. If {% data variables.product.prodname_cli %} does not find a SSH public key for upload, it can generate a new SSH public/private keypair and upload the public key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. Entonces podrás ya sea autenticarte con un token de acceso personal o a través del buscador web. Para obtener más información sobre cómo autenticarte con el {% data variables.product.prodname_cli %}, consulta la sección [`gh auth login`](https://cli.github.com/manual/gh_auth_login).
|
||||
If you authenticate with {% data variables.product.prodname_cli %}, the CLI will find SSH public keys on your machine and will prompt you to select one for upload. If {% data variables.product.prodname_cli %} does not find a SSH public key for upload, it can generate a new SSH public/private keypair and upload the public key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. Then, you can either authenticate with a personal access token or via the web browser. For more information about authenticating with {% data variables.product.prodname_cli %}, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login).
|
||||
|
||||
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 %}. Para obtener más información, consulta "[Generar una nueva llave SSH y agregarla a ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." Cada que utilizas Git para autenticarte con {% data variables.product.product_name %}, se te solicitará que ingreses tu frase de ingreso de la llave SSH, a menos de que hayas [almacenado la llave](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent).
|
||||
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).
|
||||
|
||||
### Autorizar para el inicio de sesión única de SAML
|
||||
### 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. Para obtener más información, consulta la sección "[Autorizar un token de acceso personal para utilizarlo con el inicio de sesión único de SAML](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" o la sección "[Autorizar una llave SSH para su uso con el inicio de sesión único de SAML](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)".{% endif %}
|
||||
{% 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](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" or "[Authorizing an SSH key for use with SAML single sign-on](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)."{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
|
||||
## Formatos de los tokens de {% data variables.product.company_short %}
|
||||
## {% data variables.product.company_short %}'s token formats
|
||||
|
||||
{% data variables.product.company_short %} emite tokens que inician con un prefijo para indicar el tipo de los mismos.
|
||||
{% data variables.product.company_short %} issues tokens that begin with a prefix to indicate the token's type.
|
||||
|
||||
| Tipo de token | Prefijo | Más información |
|
||||
|:---------------------------------------------------------------------------------------- |:------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Token de acceso personal | `ghp_` | "[Crear un token de acceso personal](/github/authenticating-to-github/creating-a-personal-access-token)" |
|
||||
| Token de acceso OAuth | `gho_` | "[Autorizar las {% data variables.product.prodname_oauth_apps %}](/developers/apps/authorizing-oauth-apps)" |
|
||||
| Token de usuario a servidor para una {% data variables.product.prodname_github_app %} | `ghu_` | "[Identificar y autorizar a los usuarios para las {% data variables.product.prodname_github_apps %}](/developers/apps/identifying-and-authorizing-users-for-github-apps)" |
|
||||
| Token de servidor a servidor para una {% data variables.product.prodname_github_app %} | `ghs_` | "[Autenticarse con las {% data variables.product.prodname_github_apps %}](/developers/apps/authenticating-with-github-apps#authenticating-as-an-installation)" |
|
||||
| Actualizar un token para una {% data variables.product.prodname_github_app %} | `ghr_` | "[Actualizar los tokens de acceso de usuario a servidor](/developers/apps/refreshing-user-to-server-access-tokens)" |
|
||||
| Token type | Prefix | More information |
|
||||
| :- | :- | :- |
|
||||
| Personal access token | `ghp_` | "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)" |
|
||||
| OAuth access token | `gho_` | "[Authorizing {% data variables.product.prodname_oauth_apps %}](/developers/apps/authorizing-oauth-apps)" |
|
||||
| User-to-server token for a {% data variables.product.prodname_github_app %} | `ghu_` | "[Identifying and authorizing users for {% data variables.product.prodname_github_apps %}](/developers/apps/identifying-and-authorizing-users-for-github-apps)" |
|
||||
| Server-to-server token for a {% data variables.product.prodname_github_app %} | `ghs_` | "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/authenticating-with-github-apps#authenticating-as-an-installation)" |
|
||||
| Refresh token for a {% data variables.product.prodname_github_app %} | `ghr_` | "[Refreshing user-to-server access tokens](/developers/apps/refreshing-user-to-server-access-tokens)" |
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de las direcciones de IP de GitHub
|
||||
intro: '{% data variables.product.product_name %} proporciona aplicaciones desde varios rangos de dirección IP, que están disponibles usando la API.'
|
||||
title: About GitHub's IP addresses
|
||||
intro: '{% data variables.product.product_name %} serves applications from multiple IP address ranges, which are available using the API.'
|
||||
redirect_from:
|
||||
- /articles/what-ip-addresses-does-github-use-that-i-should-whitelist/
|
||||
- /categories/73/articles/
|
||||
@@ -16,23 +16,25 @@ versions:
|
||||
topics:
|
||||
- Identity
|
||||
- Access management
|
||||
shortTitle: Direcciones IP de GitHub
|
||||
shortTitle: GitHub's IP addresses
|
||||
---
|
||||
|
||||
Puedes recuperar una lista de direcciones IP de {% data variables.product.prodname_dotcom %} desde el punto de conexión de API [meta](https://api.github.com/meta). Para obtener más información, consulta la sección "[Meta](/rest/reference/meta)".
|
||||
You can retrieve a list of {% data variables.product.prodname_dotcom %}'s IP addresses from the [meta](https://api.github.com/meta) API endpoint. For more information, see "[Meta](/rest/reference/meta)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** La lista de direcciones IP de {% data variables.product.prodname_dotcom %} que devuelve la API de Meta no pretende ser una lista exhaustiva. Por ejemplo, puede que no se listen las direcciones IP para algunos servicios de {% data variables.product.prodname_dotcom %}, tales como LFS o {% data variables.product.prodname_registry %}.
|
||||
**Note:** The list of {% data variables.product.prodname_dotcom %} IP addresses returned by the Meta API is not intended to be an exhaustive list. For example, IP addresses for some {% data variables.product.prodname_dotcom %} services might not be listed, such as LFS or {% data variables.product.prodname_registry %}.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Estos rangos están en [notación CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). Puedes usar una herramienta de conversión en línea como esta [Calculadora Supernet CIDR / VLSM](http://www.subnet-calculator.com/cidr.php) para convertir de una notación CIDR a rangos de dirección IP.
|
||||
These IP addresses are used by {% data variables.product.prodname_dotcom %} to serve our content, deliver webhooks, and perform hosted {% data variables.product.prodname_actions %} builds.
|
||||
|
||||
Hacemos cambios a nuestras direcciones IP de vez en cuando. No te recomendamos hacer una lista blanca por dirección de IP, sin embargo, si utilizas estos rangos de IP te exhortamos enfáticamente a monitorear nuestra API con frecuencia.
|
||||
These ranges are in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). You can use an online conversion tool such as this [CIDR / VLSM Supernet Calculator](http://www.subnet-calculator.com/cidr.php) to convert from CIDR notation to IP address ranges.
|
||||
|
||||
Para que las aplicaciones funcionen, debes habilitar los puertos TCP 22, 80, 443 y 9418 mediante nuestros rangos de IP para `github.com`.
|
||||
We make changes to our IP addresses from time to time. We do not recommend allowing by IP address, however if you use these IP ranges we strongly encourage regular monitoring of our API.
|
||||
|
||||
## Leer más
|
||||
For applications to function, you must allow TCP ports 22, 80, 443, and 9418 via our IP ranges for `github.com`.
|
||||
|
||||
- "[Solucionar problemas de conectividad ](/articles/troubleshooting-connectivity-problems)"
|
||||
## Further reading
|
||||
|
||||
- "[Troubleshooting connectivity problems](/articles/troubleshooting-connectivity-problems)"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Revisar tus claves SSH
|
||||
title: Reviewing your SSH keys
|
||||
intro: 'To keep your credentials secure, you should regularly audit your SSH keys, deploy keys, and review authorized applications that access your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}.'
|
||||
redirect_from:
|
||||
- /articles/keeping-your-application-access-tokens-safe/
|
||||
@@ -16,32 +16,32 @@ topics:
|
||||
- Identity
|
||||
- Access management
|
||||
---
|
||||
|
||||
Puedes eliminar las claves SSH no autorizadas (o posiblemente comprometidas) para garantizar que un atacante no tenga más acceso a tus repositorios. También puedes aprobar llaves SSH existentes que sean válidas.
|
||||
You can delete unauthorized (or possibly compromised) SSH keys to ensure that an attacker no longer has access to your repositories. You can also approve existing SSH keys that are valid.
|
||||
|
||||
{% mac %}
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.ssh %}
|
||||
3. En la página de Parámetros SSH, anota las claves SSH asociadas a tu cuenta. Para las que no reconozcas o que estén desactualizadas, haz clic en **Delete** (Eliminar). Si hay claves SSH válidas que quieres conservar, haz clic en **Approve** (Aprobar). 
|
||||
3. On the SSH Settings page, take note of the SSH keys associated with your account. For those that you don't recognize, or that are out-of-date, click **Delete**. If there are valid SSH keys you'd like to keep, click **Approve**.
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
**Nota:** Si estás auditando tus claves SSH por una operación de Git fallida, la clave no verificada que provocó el [error de auditoría de clave SSH](/articles/error-we-re-doing-an-ssh-key-audit) se resaltará en la lista de claves SSH.
|
||||
**Note:** If you're auditing your SSH keys due to an unsuccessful Git operation, the unverified key that caused the [SSH key audit error](/articles/error-we-re-doing-an-ssh-key-audit) will be highlighted in the list of SSH keys.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
4. Abre Terminal.
|
||||
4. Open Terminal.
|
||||
|
||||
{% data reusables.command_line.start_ssh_agent %}
|
||||
|
||||
6. Busca tu huella digital de llave pública y anótala.
|
||||
6. Find and take a note of your public key fingerprint.
|
||||
```shell
|
||||
$ ssh-add -l -E sha256
|
||||
> 2048 <em>SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ</em> /Users/<em>USERNAME</em>/.ssh/id_rsa (RSA)
|
||||
```
|
||||
|
||||
7. Las claves SSH en {% data variables.product.product_name %} *deben* coincidir con las mismas calves en tu computadora.
|
||||
7. The SSH keys on {% data variables.product.product_name %} *should* match the same keys on your computer.
|
||||
|
||||
{% endmac %}
|
||||
|
||||
@@ -49,27 +49,28 @@ Puedes eliminar las claves SSH no autorizadas (o posiblemente comprometidas) par
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.ssh %}
|
||||
3. En la página de Parámetros SSH, anota las claves SSH asociadas a tu cuenta. Para las que no reconozcas o que estén desactualizadas, haz clic en **Delete** (Eliminar). Si hay claves SSH válidas que quieres conservar, haz clic en **Approve** (Aprobar). 
|
||||
3. On the SSH Settings page, take note of the SSH keys associated with your account. For those that you don't recognize, or that are out-of-date, click **Delete**. If there are valid SSH keys you'd like to keep, click **Approve**.
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
**Nota:** Si estás auditando tus claves SSH por una operación de Git fallida, la clave no verificada que provocó el [error de auditoría de clave SSH](/articles/error-we-re-doing-an-ssh-key-audit) se resaltará en la lista de claves SSH.
|
||||
**Note:** If you're auditing your SSH keys due to an unsuccessful Git operation, the unverified key that caused the [SSH key audit error](/articles/error-we-re-doing-an-ssh-key-audit) will be highlighted in the list of SSH keys.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
4. Abre Git Bash. Si estás usando Git Shell, que se incluye en {% data variables.product.prodname_desktop %}, abre Git Shell y avanza hasta el paso 6.
|
||||
4. Open Git Bash.
|
||||
|
||||
5. {% data reusables.desktop.windows_git_bash_turn_on_ssh_agent %}
|
||||
|
||||
{% data reusables.desktop.windows_git_for_windows_turn_on_ssh_agent %}
|
||||
|
||||
6. Busca tu huella digital de llave pública y anótala.
|
||||
6. Find and take a note of your public key fingerprint.
|
||||
```shell
|
||||
$ ssh-add -l -E sha256
|
||||
> 2048 <em>SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ</em> /Users/<em>USERNAME</em>/.ssh/id_rsa (RSA)
|
||||
```
|
||||
|
||||
7. Las claves SSH en {% data variables.product.product_name %} *deben* coincidir con las mismas calves en tu computadora.
|
||||
7. The SSH keys on {% data variables.product.product_name %} *should* match the same keys on your computer.
|
||||
|
||||
{% endwindows %}
|
||||
|
||||
@@ -77,30 +78,31 @@ Puedes eliminar las claves SSH no autorizadas (o posiblemente comprometidas) par
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.ssh %}
|
||||
3. En la página de Parámetros SSH, anota las claves SSH asociadas a tu cuenta. Para las que no reconozcas o que estén desactualizadas, haz clic en **Delete** (Eliminar). Si hay claves SSH válidas que quieres conservar, haz clic en **Approve** (Aprobar). 
|
||||
3. On the SSH Settings page, take note of the SSH keys associated with your account. For those that you don't recognize, or that are out-of-date, click **Delete**. If there are valid SSH keys you'd like to keep, click **Approve**.
|
||||

|
||||
|
||||
{% tip %}
|
||||
|
||||
**Nota:** Si estás auditando tus claves SSH por una operación de Git fallida, la clave no verificada que provocó el [error de auditoría de clave SSH](/articles/error-we-re-doing-an-ssh-key-audit) se resaltará en la lista de claves SSH.
|
||||
**Note:** If you're auditing your SSH keys due to an unsuccessful Git operation, the unverified key that caused the [SSH key audit error](/articles/error-we-re-doing-an-ssh-key-audit) will be highlighted in the list of SSH keys.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
4. Abre Terminal.
|
||||
4. Open Terminal.
|
||||
|
||||
{% data reusables.command_line.start_ssh_agent %}
|
||||
|
||||
6. Busca tu huella digital de llave pública y anótala.
|
||||
6. Find and take a note of your public key fingerprint.
|
||||
```shell
|
||||
$ ssh-add -l -E sha256
|
||||
> 2048 <em>SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ</em> /Users/<em>USERNAME</em>/.ssh/id_rsa (RSA)
|
||||
```
|
||||
|
||||
7. Las claves SSH en {% data variables.product.product_name %} *deben* coincidir con las mismas calves en tu computadora.
|
||||
7. The SSH keys on {% data variables.product.product_name %} *should* match the same keys on your computer.
|
||||
|
||||
{% endlinux %}
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia**: Si ves una clave SSH que no te resulta familiar en {% data variables.product.product_name %}, elimínala de inmediato y contáctate con {% data variables.contact.contact_support %} para recibir más ayuda. Una llave pública no identificada puede indicar un posible problema de seguridad.
|
||||
**Warning**: If you see an SSH key you're not familiar with on {% data variables.product.product_name %}, delete it immediately and contact {% data variables.contact.contact_support %} for further help. An unidentified public key may indicate a possible security concern.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de la verificación de firma de confirmación
|
||||
intro: 'Puedes firmar etiquetas y confirmaciones localmente utilizando GPG o S/MIME. Estas etiquetas o confirmaciones se marcan como verificadas en {% data variables.product.product_name %} para que otras personas tengan la confianza de que los cambios vienen de una fuente confiable.'
|
||||
title: About commit signature verification
|
||||
intro: 'Using GPG or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on {% data variables.product.product_name %} so other people can be confident that the changes come from a trusted source.'
|
||||
redirect_from:
|
||||
- /articles/about-gpg-commit-and-tag-signatures/
|
||||
- /articles/about-gpg/
|
||||
@@ -15,85 +15,84 @@ versions:
|
||||
topics:
|
||||
- Identity
|
||||
- Access management
|
||||
shortTitle: Verificción de la firma de confirmación
|
||||
shortTitle: Commit signature verification
|
||||
---
|
||||
## About commit signature verification
|
||||
|
||||
## Acerca de la verificación de firma de confirmación
|
||||
You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG or S/MIME signature that is cryptographically verifiable, GitHub marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %}
|
||||
|
||||
Puedes firmar confirmaciones y etiquetas localmente para darles a otras personas la confianza necesaria sobre el origen de un cambio que hayas realizado. Si una confirmación o etiqueta tiene una firma GPG o S/MIME que se pueda verificar criptográficamente, GitHub la marcará como {% ifversion fpt or ghec %}"Verificada" o "Verificada parcialmente".{% else %}"Verificada".{% endif %}
|
||||
|
||||

|
||||

|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
Las confirmaciones y etiquetas tienen los siguientes estados de verificación dependiendo de si las habilitaste en modo vigilante. Predeterminadamente, el modo vigilante no está habilitado. Para obtener más información sobre cómo habilitar el modo vigilante, consulta la sección "[Mostrar los estados de verificación para todas tus confirmaciones](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)".
|
||||
Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)."
|
||||
|
||||
{% data reusables.identity-and-permissions.vigilant-mode-beta-note %}
|
||||
|
||||
### Estados predeterminados
|
||||
### Default statuses
|
||||
|
||||
| Estado | Descripción |
|
||||
| -------------------------- | ----------------------------------------------------------- |
|
||||
| **Verificado** | La confirmación se firmó y la firma se verificó con éxito. |
|
||||
| **Sin verificar** | La confirmación se firmó pero la firma no pudo verificarse. |
|
||||
| Sin estado de verificación | La confirmación no se firmó. |
|
||||
| Status | Description |
|
||||
| -------------- | ----------- |
|
||||
| **Verified** | The commit is signed and the signature was successfully verified.
|
||||
| **Unverified** | The commit is signed but the signature could not be verified.
|
||||
| No verification status | The commit is not signed.
|
||||
|
||||
### Estados con modo vigilante habilitado
|
||||
### Statuses with vigilant mode enabled
|
||||
|
||||
{% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %}
|
||||
|
||||
{% else %}
|
||||
Si una confirmaciòn o etiqueta tiene una firma que no puede verificarse, {% data variables.product.product_name %} marcarà la confirmaciòn o etiqueta como "No verificada".
|
||||
If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified."
|
||||
{% endif %}
|
||||
|
||||
Los administradores de repositorios pueden implementar la firma de confirmación requerida en una rama para bloquear todas las confirmaciones que no estén firmadas y verificadas. Para obtener más información, consulta la sección "[Acerca de las ramas protegidas](/github/administering-a-repository/about-protected-branches#require-signed-commits)".
|
||||
Repository administrators can enforce required commit signing on a branch to block all commits that are not signed and verified. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)."
|
||||
|
||||
{% data reusables.identity-and-permissions.verification-status-check %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% data variables.product.product_name %} utilizará GPG automáticamente para firmar las confirmaciones que hagas utilizando la interface web de {% data variables.product.product_name %}, con excepción de cuando combinas y fusionas una solicitud de cambios de la cual no seas autor. Las confirmaciones que firme {% data variables.product.product_name %} tendrán un estado verificado en {% data variables.product.product_name %}. Puedes verificar la firma localmente usando la clave pública disponible en https://github.com/web-flow.gpg. La huella dactilar completa de la llave es `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. Opcionalmente, puedes elegir que {% data variables.product.product_name %} firme las confirmaciones que hagas en {% data variables.product.prodname_codespaces %}. Para obtener más información sobre cómo habilitar la verificación de GPG para tus codespaces, consulta la sección "[Administrar la verificación de GPG para {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-gpg-verification-for-codespaces)".
|
||||
{% 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)."
|
||||
{% endif %}
|
||||
|
||||
## Verificación de firma de confirmación GPG
|
||||
## GPG commit signature verification
|
||||
|
||||
Puedes usar GPG para firmar confirmaciones con una clave GPG que generas tu mismo.
|
||||
You can use GPG to sign commits with a GPG key that you generate yourself.
|
||||
|
||||
{% data variables.product.product_name %} uses OpenPGP libraries to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}.
|
||||
|
||||
Para firmar confirmaciones usando GPG y que esas confirmaciones sean verificadas en {% data variables.product.product_name %}, sigue estos pasos:
|
||||
To sign commits using GPG and have those commits verified on {% data variables.product.product_name %}, follow these steps:
|
||||
|
||||
1. [Comprobar las claves GPG existentes](/articles/checking-for-existing-gpg-keys)
|
||||
2. [Generar una clave GPG nueva](/articles/generating-a-new-gpg-key)
|
||||
3. [Agregar una clave GPG nueva a tu cuenta de GitHub](/articles/adding-a-new-gpg-key-to-your-github-account)
|
||||
4. [Informarle a Git acerca de tu clave de firma](/articles/telling-git-about-your-signing-key)
|
||||
5. [Firmar confirmaciones](/articles/signing-commits)
|
||||
6. [Firmar etiquetas](/articles/signing-tags)
|
||||
1. [Check for existing GPG keys](/articles/checking-for-existing-gpg-keys)
|
||||
2. [Generate a new GPG key](/articles/generating-a-new-gpg-key)
|
||||
3. [Add a new GPG key to your GitHub account](/articles/adding-a-new-gpg-key-to-your-github-account)
|
||||
4. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key)
|
||||
5. [Sign commits](/articles/signing-commits)
|
||||
6. [Sign tags](/articles/signing-tags)
|
||||
|
||||
## Verificación de firma de confirmación S/MIME
|
||||
## S/MIME commit signature verification
|
||||
|
||||
Puedes usar S/MIME para firmar confirmaciones con una clave X.509 emitida por tu organización.
|
||||
You can use S/MIME to sign commits with an X.509 key issued by your organization.
|
||||
|
||||
{% data variables.product.product_name %} usa [el paquete de certificados CA Debian](https://packages.debian.org/hu/jessie/ca-certificates), el mismo almacenamiento de confianza usado por los navegadores Mozilla, para confirmar que tus confirmaciones y etiquetas firmadas localmente son criptográficamente comprobables con una clave pública en un certificado raíz de confianza.
|
||||
{% data variables.product.product_name %} uses [the Debian ca-certificates package](https://packages.debian.org/hu/jessie/ca-certificates), the same trust store used by Mozilla browsers, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key in a trusted root certificate.
|
||||
|
||||
{% data reusables.gpg.smime-git-version %}
|
||||
|
||||
Para firmar confirmaciones usando S/MIME y que esas confirmaciones sean verificadas en {% data variables.product.product_name %}, sigue estos pasos:
|
||||
To sign commits using S/MIME and have those commits verified on {% data variables.product.product_name %}, follow these steps:
|
||||
|
||||
1. [Informarle a Git acerca de tu clave de firma](/articles/telling-git-about-your-signing-key)
|
||||
2. [Firmar confirmaciones](/articles/signing-commits)
|
||||
3. [Firmar etiquetas](/articles/signing-tags)
|
||||
1. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key)
|
||||
2. [Sign commits](/articles/signing-commits)
|
||||
3. [Sign tags](/articles/signing-tags)
|
||||
|
||||
No es necesario cargar tu clave pública a {% data variables.product.product_name %}.
|
||||
You don't need to upload your public key to {% data variables.product.product_name %}.
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
## Verificación de firma para bots
|
||||
## Signature verification for bots
|
||||
|
||||
Las organizaciones y {% data variables.product.prodname_github_apps %} que requieren de la firma de confirmación pueden usar bots para firmar las confirmaciones. Si una confirmación o etiqueta tienen una firma de bot que es criptográficamente comprobable, {% data variables.product.product_name %} marca la confirmación o etiqueta como verificada.
|
||||
Organizations and {% data variables.product.prodname_github_apps %} that require commit signing can use bots to sign commits. If a commit or tag has a bot signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag as verified.
|
||||
|
||||
La verificación de firma para bots solo funcionará si la solicitud se verifica y se autentica como la {% data variables.product.prodname_github_app %} o el bot y no contiene información de autor personalizada, información de persona que confirma el cambio personalizada ni información de firma personalizada, como API de confirmaciones.
|
||||
Signature verification for bots will only work if the request is verified and authenticated as the {% data variables.product.prodname_github_app %} or bot and contains no custom author information, custom committer information, and no custom signature information, such as Commits API.
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Firmar confirmaciones](/articles/signing-commits)"
|
||||
- "[Firmar etiquetas](/articles/signing-tags)"
|
||||
- "[Solucionar problemas de la verificación de firma de confirmación](/articles/troubleshooting-commit-signature-verification)"
|
||||
- "[Signing commits](/articles/signing-commits)"
|
||||
- "[Signing tags](/articles/signing-tags)"
|
||||
- "[Troubleshooting commit signature verification](/articles/troubleshooting-commit-signature-verification)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 'Error: ssh-add: opción ilegal -- K'
|
||||
intro: 'Este error significa que tu versión de `ssh-add` no es compatible con la integración keychain macOS, que te permite almacenar tu contraseña en la keychain.'
|
||||
title: 'Error: ssh-add: illegal option -- K'
|
||||
intro: 'This error means your version of `ssh-add` does not support macOS keychain integration, which allows you to store your passphrase in the keychain.'
|
||||
redirect_from:
|
||||
- /articles/error-ssh-add-illegal-option-k
|
||||
- /articles/error-ssh-add-illegal-option----k
|
||||
@@ -15,25 +15,24 @@ topics:
|
||||
- SSH
|
||||
shortTitle: 'ssh-add: illegal option -- K'
|
||||
---
|
||||
The `-K` option is in Apple's standard version of `ssh-add`, which stores the passphrase in your keychain for you when you add an ssh key to the ssh-agent. If you have installed a different version of `ssh-add`, it may lack support for `-K`.
|
||||
|
||||
La opción `-K` es una versión estándar de Apple de `ssh-add`, que almacena la contraseña en tu keychain cuando agregas una clave SSH al ssh-agent. Si has instalado una versión diferente de `ssh-add`, es posible que no sea compatible para `-K`.
|
||||
## Solving the issue
|
||||
|
||||
## Resolver el problema
|
||||
|
||||
Para agregar tu llave privada SSH al ssh-agent, puedes especificar la ruta a la versión de Apple de `ssh-add`:
|
||||
To add your SSH private key to the ssh-agent, you can specify the path to the Apple version of `ssh-add`:
|
||||
|
||||
```shell
|
||||
$ /usr/bin/ssh-add -K ~/.ssh/id_rsa
|
||||
$ /usr/bin/ssh-add -K ~/.ssh/id_ed25519
|
||||
```
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
**Note:** {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Generar una clave SSH nueva y agregarla al ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"
|
||||
- [Página de manual de Linux para SSH-ADD](http://man7.org/linux/man-pages/man1/ssh-add.1.html)
|
||||
- Para ver la página del manual de Apple para SSH-ADD, ejecuta `man ssh-add` en Terminal.
|
||||
- "[Generating a new SSH key and adding it to the ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"
|
||||
- [Linux man page for SSH-ADD](http://man7.org/linux/man-pages/man1/ssh-add.1.html)
|
||||
- To view Apple's man page for SSH-ADD, run `man ssh-add` in Terminal
|
||||
|
||||
@@ -1,15 +1,46 @@
|
||||
---
|
||||
title: Facturación y pagos para GitHub
|
||||
shortTitle: Facturación y pagos
|
||||
intro: '{% ifversion fpt %}{% data variables.product.product_name %} ofrece productos gratuitos y de pago para todas las cuentas. Puedes mejorar, bajar de nivel y ver los cambios pendientes de la suscripción de tu cuenta en cualquier momento.{% elsif ghec or ghes or ghae %}{% data variables.product.company_short %} cobra por el uso {% ifversion ghec or ghae %} de {% data variables.product.product_name %} para los miembros de tu empresa{% elsif ghes %} plazas de licencia de {% data variables.product.product_name %}{% ifversion ghes > 3.0 %} y cualquier servicio adicional que compres{% endif %}{% endif %}.{% endif %}'
|
||||
title: Billing and payments on GitHub
|
||||
shortTitle: Billing and payments
|
||||
intro: '{% ifversion fpt %}{% data variables.product.product_name %} offers free and paid products for every account. You can upgrade or downgrade your account''s subscription and manage your billing settings at any time.{% elsif ghec or ghes or ghae %}{% data variables.product.company_short %} bills for your enterprise members'' {% ifversion ghec or ghae %}usage of {% data variables.product.product_name %}{% elsif ghes %} licence seats for {% data variables.product.product_name %}{% ifversion ghes > 3.0 %} and any additional services that you purchase{% endif %}{% endif %}. {% endif %}{% ifversion ghec %} You can view your subscription and manage your billing settings at any time. {% endif %}{% ifversion fpt or ghec %} You can also view usage and manage spending limits for {% data variables.product.product_name %} features such as {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %}, and {% data variables.product.prodname_codespaces %}.{% endif %}'
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-billing-and-payments-on-github
|
||||
- /categories/setting-up-and-managing-billing-and-payments-on-github
|
||||
introLinks:
|
||||
overview: '{% ifversion fpt or ghec %}/billing/managing-your-github-billing-settings/about-billing-on-github{% elsif ghes%}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}'
|
||||
featuredLinks:
|
||||
guides:
|
||||
- '{% ifversion fpt or ghec %}/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method{% endif %}'
|
||||
- '{% ifversion fpt %}/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription{% endif %}'
|
||||
- '{% ifversion ghec %}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}'
|
||||
- '{% ifversion fpt or ghec %}/billing/managing-your-github-billing-settings/setting-your-billing-email{% endif %}'
|
||||
- '{% ifversion fpt or ghec %}/billing/managing-billing-for-your-github-account/about-per-user-pricing{% endif %}'
|
||||
- '{% ifversion ghes %}/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account{% endif %}'
|
||||
- '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise{% endif %}'
|
||||
- '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise{% endif %}'
|
||||
- '{% ifversion ghae %}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}'
|
||||
popular:
|
||||
- '{% ifversion ghec %}/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account{% endif %}'
|
||||
- '{% ifversion fpt or ghec %}/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription{% endif %}'
|
||||
- '{% ifversion fpt or ghec %}/billing/managing-billing-for-github-actions/about-billing-for-github-actions{% endif %}'
|
||||
- '{% ifversion fpt or ghec %}/billing/managing-billing-for-github-codespaces/about-billing-for-codespaces{% endif %}'
|
||||
- '{% ifversion ghes %}/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security{% endif %}'
|
||||
- '{% ifversion ghes %}/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage{% endif %}'
|
||||
- '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server{% endif %}'
|
||||
- '{% ifversion ghae %}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}'
|
||||
guideCards:
|
||||
- /billing/managing-your-github-billing-settings/removing-a-payment-method
|
||||
- /billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process
|
||||
- /billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage
|
||||
- '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise{% endif %}'
|
||||
- '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud{% endif %}'
|
||||
layout: product-landing
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
ghec: '*'
|
||||
topics:
|
||||
- Billing
|
||||
children:
|
||||
- /managing-your-github-billing-settings
|
||||
- /managing-billing-for-your-github-account
|
||||
@@ -17,10 +48,10 @@ children:
|
||||
- /managing-billing-for-github-codespaces
|
||||
- /managing-billing-for-github-packages
|
||||
- /managing-your-license-for-github-enterprise
|
||||
- /managing-licenses-for-visual-studio-subscriptions-with-github-enterprise
|
||||
- /managing-billing-for-github-advanced-security
|
||||
- /managing-billing-for-github-sponsors
|
||||
- /managing-billing-for-github-marketplace-apps
|
||||
- /managing-billing-for-git-large-file-storage
|
||||
- /setting-up-paid-organizations-for-procurement-companies
|
||||
---
|
||||
|
||||
---
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de la facturación para Github Advanced Security
|
||||
intro: 'Si quieres utilizar las características de la {% data variables.product.prodname_GH_advanced_security %}{% ifversion fpt or ghec %} en un repositorio interno o privado{% endif %}, necesitas una licencia.{% ifversion fpt or ghec %} Estas características están disponibles gratuitamente para los repositorios públicos en {% data variables.product.prodname_dotcom_the_website %}.{% endif %}'
|
||||
title: About billing for GitHub Advanced Security
|
||||
intro: 'If you want to use {% data variables.product.prodname_GH_advanced_security %} features{% ifversion fpt or ghec %} in a private or internal repository{% endif %}, you need a license{% ifversion fpt %} for your enterprise{% endif %}.{% ifversion fpt or ghec %} These features are available free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}'
|
||||
product: '{% data reusables.gated-features.ghas %}'
|
||||
redirect_from:
|
||||
- /admin/advanced-security/about-licensing-for-github-advanced-security
|
||||
@@ -16,18 +16,22 @@ topics:
|
||||
- Advanced Security
|
||||
- Enterprise
|
||||
- Licensing
|
||||
shortTitle: Facturación de Advanced Security
|
||||
shortTitle: Advanced Security billing
|
||||
---
|
||||
|
||||
## Acerca de la facturación para {% data variables.product.prodname_GH_advanced_security %}
|
||||
## About billing for {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt %}
|
||||
|
||||
Si quieres utilizar las características de {% data variables.product.prodname_GH_advanced_security %} en cualquier repositorio aparte de uno público en {% data variables.product.prodname_dotcom_the_website %}, necesitarás una licencia. Para obtener más información acerca de {% data variables.product.prodname_GH_advanced_security %}, consulta la sección "[Acerca de {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)".
|
||||
If you want to use {% data variables.product.prodname_GH_advanced_security %} features on any repository apart from a public repository on {% data variables.product.prodname_dotcom_the_website %}, you will need a {% data variables.product.prodname_GH_advanced_security %} license, available with {% data variables.product.prodname_ghe_cloud %} or {% data variables.product.prodname_ghe_server %}. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)."
|
||||
|
||||
{% elsif ghec %}
|
||||
|
||||
If you want to use {% data variables.product.prodname_GH_advanced_security %} features on any repository apart from a public repository on {% data variables.product.prodname_dotcom_the_website %}, you will need a {% data variables.product.prodname_GH_advanced_security %} license. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)."
|
||||
|
||||
{% elsif ghes %}
|
||||
|
||||
Puedes poner a disposición de los usuarios algunas características adicionales para la seguridad de código si compras y cargas una licencia de la {% data variables.product.prodname_GH_advanced_security %}. Para obtener más información acerca de {% data variables.product.prodname_GH_advanced_security %}, consulta la sección "[Acerca de {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)".
|
||||
You can make extra features for code security available to users by buying and uploading a license for {% data variables.product.prodname_GH_advanced_security %}. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -37,9 +41,9 @@ Puedes poner a disposición de los usuarios algunas características adicionales
|
||||
|
||||
{% endif %}
|
||||
|
||||
Para debatir sobre el licenciamiento de {% data variables.product.prodname_GH_advanced_security %} para tu empresa, contacta a {% data variables.contact.contact_enterprise_sales %}.
|
||||
To discuss licensing {% data variables.product.prodname_GH_advanced_security %} for your enterprise, contact {% data variables.contact.contact_enterprise_sales %}.
|
||||
|
||||
## Acerca de los números de confirmante para {% data variables.product.prodname_GH_advanced_security %}
|
||||
## About committer numbers for {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% data reusables.advanced-security.about-committer-numbers-ghec-ghes %}
|
||||
|
||||
@@ -49,200 +53,26 @@ Para debatir sobre el licenciamiento de {% data variables.product.prodname_GH_ad
|
||||
|
||||
{% endif %}
|
||||
|
||||
Puedes requerir políticas para permitir o dejar de permitir que las organizaciones que pertenecen a tu cuenta empresarial utilicen la {% data variables.product.prodname_advanced_security %}. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise]({% ifversion fpt %}/enterprise-cloud@latest/{% endif %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
|
||||
You can enforce policies to allow or disallow the use of {% data variables.product.prodname_advanced_security %} by organizations owned by your enterprise account. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise]({% ifversion fpt %}/enterprise-cloud@latest/{% endif %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghec %}
|
||||
|
||||
Para obtener más información sobre cómo ver el uso de licencias, consulta la sección "[Ver tu uso de {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage)".
|
||||
For more information on viewing license usage, see "[Viewing your {% data variables.product.prodname_GH_advanced_security %} usage](/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Calcular los gastos de los confirmantes
|
||||
## Understanding active committer usage
|
||||
|
||||
La siguiente línea de tiempo de ejemplo demuestra los eventos mensuales que afectan la facturación de {% data variables.product.prodname_GH_advanced_security %} en una empresa. Para cada mes, encontrarás eventos, la cuenta total de confirmantes y la cantidad total de confirmantes por la que cobrará {% data variables.product.company_short %}.
|
||||
The following example timeline demonstrates how active committer count for {% data variables.product.prodname_GH_advanced_security %} could change over time in an enterprise. For each month, you will find events, along with the resulting committer count.
|
||||
|
||||
<table spaces-before="0">
|
||||
<tr>
|
||||
<th align="left">
|
||||
Fecha
|
||||
</th>
|
||||
|
||||
<th align="left">
|
||||
Eventos del mes
|
||||
</th>
|
||||
|
||||
<th align="right">
|
||||
Cuenta total de confirmantes
|
||||
</th>
|
||||
|
||||
<th align="right">
|
||||
Confirmantes por los que se cobrará en el mes
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>1 de agosto</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
Un miembro de tu empresa habilita {% data variables.product.prodname_GH_advanced_security %} para el repositorio <strong x-id="1">X</strong>. El repositorio <strong x-id="1">X</strong> tiene 50 confirmantes en los últimos 90 días.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">50</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">50</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>5 de septiembre</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
El desarrollador <strong x-id="1">A</strong> sale del equipo que está trabajando en el repositorio <strong x-id="1">X</strong>. Las contribuciones del desarrollador <strong x-id="1">A</strong> siguen contando durante 90 días.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">50</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">50</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>8 de septiembre</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
El desarrolador <strong x-id="1">B</strong> sube una confirmación al repositorio <strong x-id="1">X</strong> por primera vez. El uso del desarrollador <strong x-id="1">B</strong> se prorratea, ya que el desarrollador comenzó a contribuir al repositorio <strong x-id="1">X</strong> ya empezado el mes.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub>_50 + 1_</sub></br><strong x-id="1">51</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub>_50 + 0.8_</sub><br/><strong x-id="1">50.8</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
Octubre y noviembre
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
Las contribuciones del desarrollador <strong x-id="1">X</strong> al repositorio <strong x-id="1">X</strong> siguen contando, ya que estas se hicieron dentro de los últimos 90 días. {% data variables.product.company_short %} ahora cobra por el mes completo del desarrollador <strong x-id="1">B</strong>, ya que el desarrollador <strong x-id="1">B</strong> ahora tiene contribuciones dentro de los 90 días pasados.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">51</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">51</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>4 de diciembre</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
Han pasado 90 días desde que el desarrollador <strong x-id="1">A</strong> hizo su última contribución al repositorio _X. Pasaron 90 días después de que comenzó diciembre, así que {% data variables.product.company_short %} cobra por todo el mes del desarrollador <strong x-id="1">A</strong>.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub>_51 - 1_</sub><br/><strong x-id="1">50</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub></sub><br/><strong x-id="1">51</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>11 de diciembre</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
El desarrollador <strong x-id="1">C</strong> se une a la compañía y sube una confirmación al repositorio <strong x-id="1">X</strong> por primera vez. El uso del desarrollador <strong x-id="1">C</strong> se prorratea en 70% durante 21 de los 30 días.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub>_50 + 1_</sub><br/><strong x-id="1">51</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub>_51 + .07_</sub><br/><strong x-id="1">51.7</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>Enero</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
{% data variables.product.company_short %} ya no cobra por el desarrollador <strong x-id="1">A</strong>. {% data variables.product.company_short %} cobra por todo el mes del desarrollador <strong x-id="1">C</strong>.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">51</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">51</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>15 de febrero</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
Un miembro de tu empresa inhabilita la {% data variables.product.prodname_GH_advanced_security %} para el repositorio <strong x-id="1">X</strong>. Los 51 contribuyentes del repositorio <strong x-id="1">X</strong> no trabajan en ningún otro repositorio que cuente con la {% data variables.product.prodname_GH_advanced_security %}. {% data variables.product.company_short %} cobra por el uso de los desarrolladores en el repositorio <strong x-id="1">X</strong> en febrero.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub>_51 - 51_</sub><br/><strong x-id="1">0</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<sub></sub><br/><strong x-id="1">51</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left">
|
||||
<nobr>Marzo</nobr>
|
||||
</td>
|
||||
|
||||
<td align="left">
|
||||
Ningún repositorio que pertenezca a tu empresa tiene habilitada la {% data variables.product.prodname_GH_advanced_security %}.
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">0</strong>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
<strong x-id="1">0</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
| Date | Events during the month | Total committers |
|
||||
| :- | :- | -: |
|
||||
| <nobr>April 15</nobr> | A member of your enterprise enables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. Repository **X** has 50 committers over the past 90 days. | **50** |
|
||||
| <nobr>May 1</nobr> | Developer **A** leaves the team working on repository **X**. Developer **A**'s contributions continue to count for 90 days. | **50** | **50** |
|
||||
| <nobr>August 1</nobr> | Developer **A**'s contributions no longer count towards the licences required, because 90 days have passed. | <sub>_50 - 1_</sub></br>**49** |
|
||||
| <nobr>August 15</nobr> | A member of your enterprise enables {% data variables.product.prodname_GH_advanced_security %} for a second repository, repository **Y**. In the last 90 days, a total of 20 developers contributed to that repository. Of those 20 developers, 10 also recently worked on repo **X** and do not require additional licenses. | <sub>_49 + 10_</sub><br/>**59** |
|
||||
| <nobr>August 16</nobr> | A member of your enterprise disables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. Of the 49 developers who were working on repository **X**, 10 still also work on repository **Y**, which has a total of 20 developers contributing in the last 90 days. | <sub>_49 - 29_</sub><br/>**20** |
|
||||
|
||||
## Sacar el mayor provecho de la {% data variables.product.prodname_GH_advanced_security %}
|
||||
## Getting the most out of {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% data reusables.advanced-security.getting-the-most-from-your-license %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Visualizar tu uso de GitHub Advanced Security
|
||||
intro: 'Puedes ver el uso de {% data variables.product.prodname_GH_advanced_security %} de tu empresa.'
|
||||
title: Viewing your GitHub Advanced Security usage
|
||||
intro: 'You can view usage of {% data variables.product.prodname_GH_advanced_security %} for your enterprise.'
|
||||
permissions: 'Enterprise owners can view usage for {% data variables.product.prodname_GH_advanced_security %}.'
|
||||
product: '{% data reusables.gated-features.ghas %}'
|
||||
redirect_from:
|
||||
@@ -13,38 +13,100 @@ versions:
|
||||
ghes: '>=3.1'
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghae: 'issue-5378'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
type: how_to
|
||||
topics:
|
||||
- Advanced Security
|
||||
- Enterprise
|
||||
shortTitle: Visualizar el uso de la Seguridad Avanzada
|
||||
shortTitle: View Advanced Security usage
|
||||
---
|
||||
|
||||
## Acerca de las licencias para {% data variables.product.prodname_GH_advanced_security %}
|
||||
## About licenses for {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% data reusables.advanced-security.about-ghas-license-seats %} Para obtener más información, consulta "[Acerca de la facturación para {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)".
|
||||
{% data reusables.advanced-security.about-ghas-license-seats %} For more information, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."
|
||||
|
||||
## Visualizar el uso del licenciamiento de {% data variables.product.prodname_GH_advanced_security %} para tu cuenta empresarial
|
||||
## Viewing {% data variables.product.prodname_GH_advanced_security %} license usage for your enterprise account
|
||||
|
||||
Puedes verificar cuántas plazas incluye tu licencia y cuántas de ellas se están utilizando.
|
||||
You can check how many seats your license includes and how many of them are currently used.
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.license-tab %}
|
||||
La sección de "{% data variables.product.prodname_GH_advanced_security %}" muestra los detalles del uso actual.  Si te quedas sin plazas, la sección estará en rojo y mostrará "Límite excedido". Debes ya sea reducir tu uso de {% data variables.product.prodname_GH_advanced_security %} o comprar más plazas. Para obtener más información, consulta la sección "[Acerca de la facturación para el {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#getting-the-most-out-of-github-advanced-security)". 
|
||||
4. Opcionalmente, para ver un resumen detallado del uso por organización, en la barra lateral izquierda, haz clic en **Facturación**.  En la sección de "{% data variables.product.prodname_GH_advanced_security %}" puedes ver la cantidad de confirmantes y confirmantes únicos de cada organización. 
|
||||
5. Opcionalmente, haz clic en el nombre de una organización que te pertenezca para mostrar la configuración de seguridad y análisis para la organización. 
|
||||
6. En la página de configuración de "Seguridad & análisis", desplázate hacia la sección de "repositorios de {% data variables.product.prodname_GH_advanced_security %}" para ver un resumen detallado del uso de este repositorio en esta organización.  Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis de tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)".
|
||||
The "{% data variables.product.prodname_GH_advanced_security %}" section shows details of the current usage.
|
||||

|
||||
If you run out of seats, the section will be red and show "Limit exceeded." You should either reduce your use of {% data variables.product.prodname_GH_advanced_security %} or purchase more seats. For more information, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#getting-the-most-out-of-github-advanced-security)."
|
||||

|
||||
4. Optionally, to see a detailed breakdown of usage per organization, in the left sidebar, click **Billing**.
|
||||

|
||||
In the "{% data variables.product.prodname_GH_advanced_security %}" section you can see the number of committers and unique committers for each organization.
|
||||

|
||||
5. Optionally, click the name of an organization where you are an owner to display the security and analysis settings for the organization.
|
||||

|
||||
6. On the "Security & analysis" settings page, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section to see a detailed breakdown of usage by repository for this organization.
|
||||

|
||||
For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
{% elsif ghes %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.license-tab %}
|
||||
La sección de "{% data variables.product.prodname_GH_advanced_security %}" muestra los detalles del uso actual. Puedes ver la cantidad total de plazas utilizadas, así como una tabla con la cantidad de confirmantes y confirmantes únicos para cada organización. 
|
||||
5. Opcionalmente, haz clic en el nombre de una organización que te pertenezca para mostrar la configuración de seguridad y análisis para la organización. 
|
||||
6. En la página de configuración de "Seguridad & análisis", desplázate hacia la sección de "repositorios de {% data variables.product.prodname_GH_advanced_security %}" para ver un resumen detallado del uso de este repositorio en esta organización.  Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis de tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)".
|
||||
The "{% data variables.product.prodname_GH_advanced_security %}" section shows details of the current usage. You can see the total number of seats used, as well as a table with the number of committers and unique committers for each organization.
|
||||

|
||||
5. Optionally, click the name of an organization where you are an owner to display the security and analysis settings for the organization.
|
||||

|
||||
6. On the "Security & analysis" settings page, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section to see a detailed breakdown of usage by repository for this organization.
|
||||

|
||||
For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghec or ghes > 3.3 or ghae-issue-5378 %}
|
||||
|
||||
## Downloading {% data variables.product.prodname_GH_advanced_security %} license usage information
|
||||
|
||||
You can download a CSV file with {% data variables.product.prodname_GH_advanced_security %} license usage information at both the enterprise and organization levels. The CSV file contains information about each {% data variables.product.prodname_advanced_security %} seat that is in use, including:
|
||||
|
||||
- The username of the person using the seat
|
||||
- The {% data variables.product.prodname_advanced_security %}-enabled repositories where commits were made
|
||||
- The organizations that people using seats belong to
|
||||
- The most recent commit dates
|
||||
|
||||
You can use this information for insights into how your {% data variables.product.prodname_advanced_security %} licenses are being used, such as which members of your enterprise are using an {% data variables.product.prodname_advanced_security %} seat or how {% data variables.product.prodname_advanced_security %} licenses are being consumed across your organizations.
|
||||
|
||||
You can download the {% data variables.product.prodname_advanced_security %} license usage CSV through the {% data variables.product.product_name %} user interface or the REST API.
|
||||
|
||||
### Downloading {% data variables.product.prodname_advanced_security %} license usage information through the UI
|
||||
|
||||
#### At the organization-level
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.profile.org_settings %}
|
||||
{% data reusables.organizations.billing_plans %}
|
||||
1. Underneath "{% data variables.product.prodname_GH_advanced_security %}," click {% octicon "download" aria-label="The download icon" %} next to "Committers."
|
||||

|
||||
|
||||
#### At the enterprise-level
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.license-tab %}
|
||||
1. Under "{% data variables.product.prodname_GH_advanced_security %}," click {% octicon "download" aria-label="The download icon" %} next to "Commiters."
|
||||

|
||||
|
||||
### Downloading {% data variables.product.prodname_advanced_security %} license usage information through the REST API
|
||||
|
||||
You can retrieve {% data variables.product.prodname_advanced_security %} usage information via the billing API.
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
For organization-level data, use the `/orgs/{org}/settings/billing/advanced-security` endpoint. For more information, see "[Billing](/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization)" in the {% data variables.product.prodname_dotcom %} REST API documentation.
|
||||
|
||||
{% endif %}
|
||||
|
||||
For enterprise-level data, use the `/enterprises/{enterprise}/settings/billing/advanced-security` endpoint. For more information, see "[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#get-github-advanced-security-active-committers-for-an-enterprise)" in the {% data variables.product.prodname_dotcom %} REST API documentation.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -39,7 +39,7 @@ You can view the number of {% data variables.product.prodname_enterprise %} lice
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip**: If you download a CSV file with your enterprise's license usage in step 6 of "[Viewing the subscription and usage for your enterprise account](https://docs-internal-19656--vss-ghe-s.herokuapp.com/en/enterprise-cloud@latest/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account#viewing-the-subscription-and-usage-for-your-enterprise-account)," any members with a missing value for the "Name" or "Profile" columns have not yet accepted an invitation to join an organization within the enterprise.
|
||||
**Tip**: If you download a CSV file with your enterprise's license usage in step 6 of "[Viewing the subscription and usage for your enterprise account](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account#viewing-the-subscription-and-usage-for-your-enterprise-account)," any members with a missing value for the "Name" or "Profile" columns have not yet accepted an invitation to join an organization within the enterprise.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Administrar tu licencia de GitHub Enterprise
|
||||
shortTitle: Licenci de GitHub Enterprise
|
||||
title: Managing your license for GitHub Enterprise
|
||||
shortTitle: GitHub Enterprise license
|
||||
intro: '{% data variables.product.prodname_enterprise %} includes both cloud and self-hosted deployment options. If you host a {% data variables.product.prodname_ghe_server %} instance, you must unlock the instance with a license file. You can view, manage, and update the license file.'
|
||||
redirect_from:
|
||||
- /free-pro-team@latest/billing/managing-your-license-for-github-enterprise
|
||||
@@ -23,6 +23,5 @@ children:
|
||||
- /uploading-a-new-license-to-github-enterprise-server
|
||||
- /viewing-license-usage-for-github-enterprise
|
||||
- /syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud
|
||||
- /managing-licenses-for-visual-studio-subscription-with-github-enterprise
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Configurar el escaneo de código
|
||||
intro: 'Puedes configurar la forma en que {% data variables.product.prodname_dotcom %} escanea el código en tu proyecto para encontrar vulnerabilidades y errores.'
|
||||
title: Configuring code scanning
|
||||
intro: 'You can configure how {% data variables.product.prodname_dotcom %} scans the code in your project for vulnerabilities and errors.'
|
||||
product: '{% data reusables.gated-features.code-scanning %}'
|
||||
permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_code_scanning %} for the repository.'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
@@ -22,88 +22,89 @@ topics:
|
||||
- Pull requests
|
||||
- JavaScript
|
||||
- Python
|
||||
shortTitle: Configura el escaneo de código
|
||||
shortTitle: Configure code scanning
|
||||
---
|
||||
|
||||
<!--For this article in earlier GHES versions, see /content/github/finding-security-vulnerabilities-and-errors-in-your-code-->
|
||||
|
||||
{% data reusables.code-scanning.beta %}
|
||||
{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
|
||||
|
||||
## Acerca de la configuración de {% data variables.product.prodname_code_scanning %}
|
||||
## About {% data variables.product.prodname_code_scanning %} configuration
|
||||
|
||||
Puedes ejecutar el {% data variables.product.prodname_code_scanning %} en {% data variables.product.product_name %} si utilizas las {% data variables.product.prodname_actions %} o desde tu sistema de integración continua (IC). Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)" o
|
||||
You can run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system. For more information, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)" or
|
||||
{%- ifversion fpt or ghes > 3.0 or ghae-next %}
|
||||
"[Acerca del {% data variables.product.prodname_code_scanning %} de {% data variables.product.prodname_codeql %} en tu sistema de IC](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)".
|
||||
"[About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)."
|
||||
{%- else %}
|
||||
"[Ejecutar el {% data variables.product.prodname_codeql_runner %} en tu sistema de IC](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)."
|
||||
"[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)."
|
||||
{% endif %}
|
||||
|
||||
Este artículo se trata de ejecutar el {% data variables.product.prodname_code_scanning %} en {% data variables.product.product_name %} utilizando acciones.
|
||||
This article is about running {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %} using actions.
|
||||
|
||||
Antes de que puedas configurar el {% data variables.product.prodname_code_scanning %} para un repositorio, debes configurar el {% data variables.product.prodname_code_scanning %} agregando un flujo de trabajo de {% data variables.product.prodname_actions %} a este. Para obtener más información, consulta la sección "[Configurar el {% data variables.product.prodname_code_scanning %} en un repositorio](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)".
|
||||
Before you can configure {% data variables.product.prodname_code_scanning %} for a repository, you must set up {% data variables.product.prodname_code_scanning %} by adding a {% data variables.product.prodname_actions %} workflow to the repository. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)."
|
||||
|
||||
{% data reusables.code-scanning.edit-workflow %}
|
||||
|
||||
El análisis de {% data variables.product.prodname_codeql %} es tan solo un tipo de {% data variables.product.prodname_code_scanning %} que puedes hacer en {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_marketplace %}{% ifversion ghes %} en {% data variables.product.prodname_dotcom_the_website %}{% endif %} contiene otros flujos de trabajo de {% data variables.product.prodname_code_scanning %} que puedes utilizar. {% ifversion fpt or ghec %}Puedes encontrar una selección de estos en la página "Iniciar con {% data variables.product.prodname_code_scanning %}", a la cual puedes acceder desde la pestaña de **{% octicon "shield" aria-label="The shield symbol" %} Seguridad**.{% endif %} Los ejemplos específicos que se dan a este artículo se relacionan con el archivo {% data variables.product.prodname_codeql_workflow %}.
|
||||
{% data variables.product.prodname_codeql %} analysis is just one type of {% data variables.product.prodname_code_scanning %} you can do in {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_marketplace %}{% ifversion ghes %} on {% data variables.product.prodname_dotcom_the_website %}{% endif %} contains other {% data variables.product.prodname_code_scanning %} workflows you can use. {% ifversion fpt or ghec %}You can find a selection of these on the "Get started with {% data variables.product.prodname_code_scanning %}" page, which you can access from the **{% octicon "shield" aria-label="The shield symbol" %} Security** tab.{% endif %} The specific examples given in this article relate to the {% data variables.product.prodname_codeql_workflow %} file.
|
||||
|
||||
## Editing a code scanning workflow
|
||||
## Editing a {% data variables.product.prodname_code_scanning %} workflow
|
||||
|
||||
{% data variables.product.prodname_dotcom %} guarda los archivos de flujo de trabajo en el directorio de _.github/workflows_ de tu repositorio. Puedes encontrar un flujo de trabajo que hayas agregado si buscas su nombre de archivo. For example, the default workflow file for CodeQL code scanning is called `codeql-analysis.yml`.
|
||||
{% data variables.product.prodname_dotcom %} saves workflow files in the _.github/workflows_ directory of your repository. You can find a workflow you have added by searching for its file name. For example, by default, the workflow file for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} is called _codeql-analysis.yml_.
|
||||
|
||||
1. En tu repositorio, navega hasta el archivo de flujo de trabajo que deseas editar.
|
||||
1. En el ángulo superior derecho de la vista del archivo, para abrir el editor de flujo de trabajo, haz clic en {% octicon "pencil" aria-label="The edit icon" %}.
|
||||
1. Después de que hayas editado el archivo, da clic en **Iniciar confirmación** y completa el formato de "Cambios de la confirmación". Puedes elegir confirmar directamente en la rama actual, o crear una rama nueva e iniciar una solicitud de extracción. 
|
||||
1. In your repository, browse to the workflow file you want to edit.
|
||||
1. In the upper right corner of the file view, to open the workflow editor, click {% octicon "pencil" aria-label="The edit icon" %}.
|
||||

|
||||
1. After you have edited the file, click **Start commit** and complete the "Commit changes" form. You can choose to commit directly to the current branch, or create a new branch and start a pull request.
|
||||

|
||||
|
||||
Para obtener más información acerca de cómo editar los archivos de flujo de trabajo, consulta la sección "[Aprende sobre {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
|
||||
For more information about editing workflow files, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
|
||||
|
||||
## Configurar la frecuencia
|
||||
## Configuring frequency
|
||||
|
||||
Puedes escanear código con cierta programación o cuando ocurren eventos específicos en un repositorio.
|
||||
You can configure the {% data variables.product.prodname_codeql_workflow %} to scan code on a schedule or when specific events occur in a repository.
|
||||
|
||||
Escanear el código en cada carga al repositorio, y cada vez que se crea una solicitud de extracción, previene que los desarrolladores introduzcan vulnerabilidades y errores nuevos en dicho código. Escanear el código con una programación definida te informará de las últimas vulnerabilidades y errores que {% data variables.product.company_short %}, los investigadores de seguridad, y la comunidad descubren, aún cuando los desarrolladores no estén manteniendo el repositorio activamente.
|
||||
Scanning code when someone pushes a change, and whenever a pull request is created, prevents developers from introducing new vulnerabilities and errors into the code. Scanning code on a schedule informs you about the latest vulnerabilities and errors that {% data variables.product.company_short %}, security researchers, and the community discover, even when developers aren't actively maintaining the repository.
|
||||
|
||||
### Escanear cuando se carga información
|
||||
### Scanning on push
|
||||
|
||||
Si utilizas el flujo de trabajo predeterminado, el {% data variables.product.prodname_code_scanning %} escaneará el código en tu repositorio una vez por semana, adicionalmente a los escaneos activados por los eventos. Para ajustar este programa, edita el valor `cron` en el flujo de trabajo. Para obtener más información, consulta la sección "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#on)".
|
||||
By default, the {% data variables.product.prodname_codeql_workflow %} uses the `on.push` event to trigger a code scan on every push to the default branch of the repository and any protected branches. For {% data variables.product.prodname_code_scanning %} to be triggered on a specified branch, the workflow must exist in that branch. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#on)."
|
||||
|
||||
Si escaneas al subir, entonces los resultados aparecen en la pestaña de **Seguridad** de tu repositorio. Para obtener más información, consulta la sección "[Administrar las alertas del escaneo de código para tu repositorio](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)".
|
||||
If you scan on push, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-5093 or ghec %}
|
||||
Additionally, when an `on:push` scan returns results that can be mapped to an open pull request, these alerts will automatically appear on the pull request in the same places as other pull request alerts. The alerts are identified by comparing the existing analysis of the head of the branch to the analysis for the target branch. For more information on {% data variables.product.prodname_code_scanning %} alerts in pull requests, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)."
|
||||
Additionally, when an `on:push` scan returns results that can be mapped to an open pull request, these alerts will automatically appear on the pull request in the same places as other pull request alerts. The alerts are identified by comparing the existing analysis of the head of the branch to the analysis for the target branch. For more information on {% data variables.product.prodname_code_scanning %} alerts in pull requests, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)."
|
||||
{% endif %}
|
||||
|
||||
### Escanear las solicitudes de extracción
|
||||
### Scanning pull requests
|
||||
|
||||
El {% data variables.product.prodname_codeql_workflow %} predeterminado utiliza el evento `pull_request` para activar un escaneo de código sobre las solilcitudes de cambios que se dirigen a la rama predeterminada. {% ifversion ghes %}El evento de `pull_request` no se activará si la solicitud de cambios se abrió desde una bifurcación privada.{% else %}Si una solicitud de cambios es de una bifurcación privada, el evento de `pull_request` solo se activará si seleccionaste la opción de "Ejecutar flujos de trabajo desde solicitudes de cambios de la bifurcación" en la configuración del repositorio. Para obtener más información, consulta la sección "[Administrar los ajustes de las {% data variables.product.prodname_actions %} en un repositorio](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)".{% endif %}
|
||||
The default {% data variables.product.prodname_codeql_workflow %} uses the `pull_request` event to trigger a code scan on pull requests targeted against the default branch. {% ifversion ghes %}The `pull_request` event is not triggered if the pull request was opened from a private fork.{% else %}If a pull request is from a private fork, the `pull_request` event will only be triggered if you've selected the "Run workflows from fork pull requests" option in the repository settings. For more information, see "[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#enabling-workflows-for-private-repository-forks)."{% endif %}
|
||||
|
||||
Para obtener más información acerca del evento `pull_request`, consulta la sección "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags)".
|
||||
For more information about the `pull_request` event, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags)."
|
||||
|
||||
Si escaneas las solicitudes de cambios, entonces los resultados aparecerán como alertas en una verificación de solicitud de cambios. Para obtener màs informaciònPara obtener más información, consulta la sección "[Clasificar las alertas del escaneo de código en las solicitudes de cambios](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)".
|
||||
If you scan pull requests, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-5093 or ghec %}
|
||||
Using the `pull_request` trigger, configured to scan the pull request's merge commit rather than the head commit, will produce more efficient and accurate results than scanning the head of the branch on each push. However, if you use a CI/CD system that cannot be configured to trigger on pull requests, you can still use the `on:push` trigger and {% data variables.product.prodname_code_scanning %} will map the results to open pull requests on the branch and add the alerts as annotations on the pull request. For more information, see "[Scanning on push](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
### Definir las gravedades que causan el fallo en la verificación de las solicitudes de cambio
|
||||
### Defining the severities causing pull request check failure
|
||||
|
||||
Predeterminadamente, solo las alertas con un nivel de gravedad de `Error`{% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %} o nivel de gravedad de seguridad de `Crítica` o `Alta`{% endif %} ocasionarán que falle la verificación de una solicitud de cambios y la verificación aún tendrá éxito con aquellas alertas de gravedades menores. Puedes cambiar los niveles de gravedad de las alertas{% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %} y de las gravedades de seguridad{% endif %} que ocasionarán el fallo de una verificación de solicitud de cambios en los ajustes de tu repositorio. Para obtener más información sobre los niveles de gravedad, consulta la sección "[Administrar las alertas del escaneo de código para tu repositorio](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#about-alerts-details)".
|
||||
By default, only alerts with the severity level of `Error`{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %} or security severity level of `Critical` or `High`{% endif %} will cause a pull request check failure, and a check will still succeed with alerts of lower severities. You can change the levels of alert severities{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %} and of security severities{% endif %} that will cause a pull request check failure in your repository settings. For more information about severity levels, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#about-alerts-details)."
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.navigate-to-security-and-analysis %}
|
||||
1. Debajo de "Escaneo de código", a la derecha de "Fallo de verificación", utiliza el menú desplegable para seleccionar el nivel de gravedad que quisieras que ocasionara un fallo de verificación en la solicitud de cambios.
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %}
|
||||

|
||||
1. Under "Code scanning", to the right of "Check Failure", use the drop-down menu to select the level of severity you would like to cause a pull request check failure.
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
### Evitar escaneos innecesarios en las solicitudes de cambios
|
||||
### Avoiding unnecessary scans of pull requests
|
||||
|
||||
Puede que quieras evitar que se active un escaneo de código en solicitudes de cambio específicas que se dirijan a la rama predeterminada, independientemente de los archivos que se hayan cambiado. Puedes configurar esto si especificas `on:pull_request:paths-ignore` o `on:pull_request:paths` en el flujo de trabajo de {% data variables.product.prodname_code_scanning %}. Por ejemplo, si los únicos cambios en una solicitud de cambios se hacen en archivos con las extensiones `.md` o `.txt`, puedes utilizar el siguiente arreglo de `paths-ignore`.
|
||||
You might want to avoid a code scan being triggered on specific pull requests targeted against the default branch, irrespective of which files have been changed. You can configure this by specifying `on:pull_request:paths-ignore` or `on:pull_request:paths` in the {% data variables.product.prodname_code_scanning %} workflow. For example, if the only changes in a pull request are to files with the file extensions `.md` or `.txt` you can use the following `paths-ignore` array.
|
||||
|
||||
``` yaml
|
||||
on:
|
||||
@@ -118,28 +119,28 @@ on:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Notas**
|
||||
**Notes**
|
||||
|
||||
* `on:pull_request:paths-ignore` y `on:pull_request:paths` configuran condiciones que determinan si una acción en el flujo de trabajo se ejecutará en una solicitud de cambios. No determinan qué archivos se analizarán cuando las acciones _se_ ejecuten. Cuando una solicitud de cambios contiene cualquier archivo que no coincida con `on:pull_request:paths-ignore` o con `on:pull_request:paths`, el flujo de trabajo ejecuta las acciones y escanea todos los archivos que cambiaron en la solicitud de cambios, incluyendo aquellos que coincidieron con `on:pull_request:paths-ignore` o con `on:pull_request:paths`, a menos de que éstos se hayan excluido. Para obtener más información sobre cómo excluir archivos del análisis, consulta la sección "[Especificar directorios para escanear](#specifying-directories-to-scan)".
|
||||
* Para los archivos de flujo de trabajo del {% data variables.product.prodname_code_scanning %} de {% data variables.product.prodname_codeql %}, no utilices las palabras clave `paths-ignore` o `paths` con el evento `on:push`, ya que es probable que cause que falten análisis. Para obtener resultados precisos, el {% data variables.product.prodname_code_scanning %} de {% data variables.product.prodname_codeql %} necesita poder comparar los cambios nuevos con el análisis de la confirmación previa.
|
||||
* `on:pull_request:paths-ignore` and `on:pull_request:paths` set conditions that determine whether the actions in the workflow will run on a pull request. They don't determine what files will be analyzed when the actions _are_ run. When a pull request contains any files that are not matched by `on:pull_request:paths-ignore` or `on:pull_request:paths`, the workflow runs the actions and scans all of the files changed in the pull request, including those matched by `on:pull_request:paths-ignore` or `on:pull_request:paths`, unless the files have been excluded. For information on how to exclude files from analysis, see "[Specifying directories to scan](#specifying-directories-to-scan)."
|
||||
* For {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} workflow files, don't use the `paths-ignore` or `paths` keywords with the `on:push` event as this is likely to cause missing analyses. For accurate results, {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} needs to be able to compare new changes with the analysis of the previous commit.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Para obtener más información acerca de utilizar `on:pull_request:paths-ignore` y `on:pull_request:paths` para determinar cuando se ejecutará un flujo de trabajo para una solicitud de cambios, consulta la sección "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths)".
|
||||
For more information about using `on:pull_request:paths-ignore` and `on:pull_request:paths` to determine when a workflow will run for a pull request, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths)."
|
||||
|
||||
### Escanear de forma pre-programada
|
||||
### Scanning on a schedule
|
||||
|
||||
El flujo de trabajo del {% data variables.product.prodname_code_scanning %} utiliza el evento `pull_request` para activar un escaneo de código en la confirmación `HEAD` de una solicitud de extracción. Para ajustar este programa, edita el valor `cron` en el flujo de trabajo. Para obtener más información, consulta la sección "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onschedule)".
|
||||
If you use the default {% data variables.product.prodname_codeql_workflow %}, the workflow will scan the code in your repository once a week, in addition to the scans triggered by events. To adjust this schedule, edit the `cron` value in the workflow. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onschedule)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: {% data variables.product.prodname_dotcom %} solo ejecuta jobs pre-programados que se encuentren en flujos de trabajo de la rama predeterminada. Cambiar la programación en un flujo de trabajo en cualquier otra rama no tendrá efecto hasta que fusiones esta rama con la predeterminada.
|
||||
**Note**: {% data variables.product.prodname_dotcom %} only runs scheduled jobs that are in workflows on the default branch. Changing the schedule in a workflow on any other branch has no effect until you merge the branch into the default branch.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Ejemplo
|
||||
### Example
|
||||
|
||||
El siguiente ejemplo muestra un {% data variables.product.prodname_codeql_workflow %} para un repositorio particular que tiene una rama predeterminada que se llama `main` y una protegida que se llama `protected`.
|
||||
The following example shows a {% data variables.product.prodname_codeql_workflow %} for a particular repository that has a default branch called `main` and one protected branch called `protected`.
|
||||
|
||||
``` yaml
|
||||
on:
|
||||
@@ -151,16 +152,16 @@ on:
|
||||
- cron: '20 14 * * 1'
|
||||
```
|
||||
|
||||
Este flujo de trabajo escanea:
|
||||
* Cada subida a la rama predeterminada y a la rama protegida
|
||||
* Cada solicitud de cambios a la rama predeterminada
|
||||
* La rama predeterminada cada lunes a las 14:20 UTC
|
||||
This workflow scans:
|
||||
* Every push to the default branch and the protected branch
|
||||
* Every pull request to the default branch
|
||||
* The default branch every Monday at 14:20 UTC
|
||||
|
||||
## Especificar un sistema operativo
|
||||
## Specifying an operating system
|
||||
|
||||
Si tu código requiere un sistema operativo específico para compilar, puedes configurarlo en tu flujo de trabajo. Edita el valor de `jobs.analyze.runs-on` para especificar el sistema operativo para la máquina que ejecuta tus acciones de {% data variables.product.prodname_code_scanning %}. {% ifversion ghes %}Especificas el sistema operativo utilizando una etiqueta adecuada como el segundo elemento en un arreglo de dos elementos, después de `self-hosted`.{% else %}
|
||||
If your code requires a specific operating system to compile, you can configure the operating system in your {% data variables.product.prodname_codeql_workflow %}. Edit the value of `jobs.analyze.runs-on` to specify the operating system for the machine that runs your {% data variables.product.prodname_code_scanning %} actions. {% ifversion ghes %}You specify the operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% else %}
|
||||
|
||||
Si eliges utilizar une ejecutor auto-hospedado para el escaneo de código, puedes especificar un sistema operativo si utilizas una etiqueta adecuada como el segundo elemento en un arreglo de dos elementos, después de `self-hosted`.{% endif %}
|
||||
If you choose to use a self-hosted runner for code scanning, you can specify an operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% endif %}
|
||||
|
||||
``` yaml
|
||||
jobs:
|
||||
@@ -169,16 +170,16 @@ jobs:
|
||||
runs-on: [self-hosted, ubuntu-latest]
|
||||
```
|
||||
|
||||
{% ifversion fpt or ghec %}Para obtener más información, consulta la sección "[Acerca de los ejecutores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Agregar ejecutores auto-hospedados](/actions/hosting-your-own-runners/adding-self-hosted-runners)."{% endif %}
|
||||
{% ifversion fpt or ghec %}For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."{% endif %}
|
||||
|
||||
{% data variables.product.prodname_code_scanning_capc %} es compatible con las últimas versiones de macOs, Ubuntu, y Windows. Los valores habituales para esta configuración son por lo tanto: `ubuntu-latest`, `windows-latest`, y `macos-latest`. Para obtener más información, consulta las secciones {% ifversion ghes %}"[Sintaxis de flujos de trabajo para GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#self-hosted-runners)" y "[Utilizar etiquetas con ejecutores auto-hospedados](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners){% else %}"[Sintaxis de flujo de trabajo para GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on){% endif %}".
|
||||
{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} supports the latest versions of Ubuntu, Windows, and macOS. Typical values for this setting are therefore: `ubuntu-latest`, `windows-latest`, and `macos-latest`. For more information, see {% ifversion ghes %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#self-hosted-runners)" and "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners){% else %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on){% endif %}."
|
||||
|
||||
{% ifversion ghes %}Debes asegurarte de qeu Git esté en la variable "PATH" en tus ejecutores auto-hospedados.{% else %}Si utilizas el ejecutor auto-hospedado, debes asegurarte de que git esté en la variable "PATH".{% endif %}
|
||||
{% ifversion ghes %}You must ensure that Git is in the PATH variable on your self-hosted runners.{% else %}If you use a self-hosted runner, you must ensure that Git is in the PATH variable.{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
## Especificar la ubicación de las bases de datos de {% data variables.product.prodname_codeql %}
|
||||
## Specifying the location for {% data variables.product.prodname_codeql %} databases
|
||||
|
||||
En general, no necesitas preocuparte por dónde {% data variables.product.prodname_codeql_workflow %} coloca las bases de dato de {% data variables.product.prodname_codeql %}, ya que los pasos subsecuentes encontrarán automáticamente las bases de datos que crearon los pasos previos. Sin embargo, si estás escribiendo un paso de un flujo de trabajo personalizado que requiera que la base de datos de {% data variables.product.prodname_codeql %} esté en una ubicación de disco específica, por ejemplo, para cargar la base de datos como un artefacto de flujo de trabajo, puedes especificar esa ubicación utilizando el parámetro `db-location` bajo la acción `init`.
|
||||
In general, you do not need to worry about where the {% data variables.product.prodname_codeql_workflow %} places {% data variables.product.prodname_codeql %} databases since later steps will automatically find databases created by previous steps. However, if you are writing a custom workflow step that requires the {% data variables.product.prodname_codeql %} database to be in a specific disk location, for example to upload the database as a workflow artifact, you can specify that location using the `db-location` parameter under the `init` action.
|
||||
|
||||
{% raw %}
|
||||
``` yaml
|
||||
@@ -188,22 +189,22 @@ En general, no necesitas preocuparte por dónde {% data variables.product.prodna
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
El {% data variables.product.prodname_codeql_workflow %} esperará que se pueda escribir la ruta que se proporcionó en `db-location` y que ya sea no exista o sea un directorio vacío. Cuando utilizamos este parámetro en un job que se ejecuta en un ejecutor auto-hospedado o utilizando un contenedor de Docker, es responsabilidad del usuario garantizar que el directorio elegido se limpie entre ejecuciones o que las bases de datos se eliminen una vez que ya no se necesiten. No es necesario para los jobs que se ejecutan en los ejecutores hospedados en {% data variables.product.prodname_dotcom %}, los cuales obtienen una instancia nueva y un sistema de archivos limpio cada vez que se ejecutan. Para obtener más información, consulta la sección "[Acerca de los ejecutores hospedados en {% data variables.product.prodname_dotcom %}](/actions/using-github-hosted-runners/about-github-hosted-runners)".
|
||||
The {% data variables.product.prodname_codeql_workflow %} will expect the path provided in `db-location` to be writable, and either not exist, or be an empty directory. When using this parameter in a job running on a self-hosted runner or using a Docker container, it's the responsibility of the user to ensure that the chosen directory is cleared between runs, or that the databases are removed once they are no longer needed. {% ifversion fpt or ghec or ghes %} This is not necessary for jobs running on {% data variables.product.prodname_dotcom %}-hosted runners, which obtain a fresh instance and a clean filesystem each time they run. For more information, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)."{% endif %}
|
||||
|
||||
Si no se utiliza este parámetro, el {% data variables.product.prodname_codeql_workflow %} creará bases de datos en una ubicación temporal de su propia elección.
|
||||
If this parameter is not used, the {% data variables.product.prodname_codeql_workflow %} will create databases in a temporary location of its own choice.
|
||||
{% endif %}
|
||||
|
||||
## Cambiar los lenguajes que se analizan
|
||||
## Changing the languages that are analyzed
|
||||
|
||||
El {% data variables.product.prodname_codeql %} del {% data variables.product.prodname_code_scanning %} detecta automáticamente el código que se escribe en los lenguajes compatibles.
|
||||
{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} automatically detects code written in the supported languages.
|
||||
|
||||
{% data reusables.code-scanning.codeql-languages-bullets %}
|
||||
|
||||
El archivo predeterminado del {% data variables.product.prodname_codeql_workflow %} contiene una matriz de compilación que se llama `language`, la cual lista los lenguajes en tu repositorio que se han analizado. El {% data variables.product.prodname_codeql %} llena automáticamente esta matriz cuando agregas el {% data variables.product.prodname_code_scanning %} a un repositorio. Cuando se utiliza la matriz de `language` se optimiza a {% data variables.product.prodname_codeql %} para ejecutar cada análisis en paralelo. Te recomendamos que todos los flujos de trabajo adopten esta configuración debido a los beneficios de rendimiento que implica el paralelizar las compilaciones. Para obtener más información acerca de las matrices de compilación, consulta la sección "[Administrar flujos de trabajo complejos](/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix)".
|
||||
The default {% data variables.product.prodname_codeql_workflow %} file contains a build matrix called `language` which lists the languages in your repository that are analyzed. {% data variables.product.prodname_codeql %} automatically populates this matrix when you add {% data variables.product.prodname_code_scanning %} to a repository. Using the `language` matrix optimizes {% data variables.product.prodname_codeql %} to run each analysis in parallel. We recommend that all workflows adopt this configuration due to the performance benefits of parallelizing builds. For more information about build matrices, see "[Managing complex workflows](/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix)."
|
||||
|
||||
{% data reusables.code-scanning.specify-language-to-analyze %}
|
||||
|
||||
Si tu flujo de trabajo utiliza la matriz `language`, entonces {% data variables.product.prodname_codeql %} se codifica fijamente para analizar únicamente los lenguajes en dicha matriz. Para cambiar los lenguajes que quieres analizar, edita el valor de la variable de la matriz. Puedes eliminar un lenguaje para que no se analice, o puedes agregar alguno que no estuviera presente en el repositorio cuando se configuró el {% data variables.product.prodname_code_scanning %}. Por ejemplo, si el repositorio inicialmente contenía solo JavaScript cuando se configuró el {% data variables.product.prodname_code_scanning %}, y luego quieres agregar código de Python, entonces necesitarás agregar `python` a la matriz.
|
||||
If your workflow uses the `language` matrix then {% data variables.product.prodname_codeql %} is hardcoded to analyze only the languages in the matrix. To change the languages you want to analyze, edit the value of the matrix variable. You can remove a language to prevent it being analyzed or you can add a language that was not present in the repository when {% data variables.product.prodname_code_scanning %} was set up. For example, if the repository initially only contained JavaScript when {% data variables.product.prodname_code_scanning %} was set up, and you later added Python code, you will need to add `python` to the matrix.
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
@@ -216,7 +217,7 @@ jobs:
|
||||
language: ['javascript', 'python']
|
||||
```
|
||||
|
||||
Si tu flujo de trabajo no contiene una matriz que se llame `language`, entonces {% data variables.product.prodname_codeql %} se configurará para ejecutar un análisis secuencialmente. Si no especificas los lenguajes en los flujos de trabajo, {% data variables.product.prodname_codeql %} detectará e intentará analizar cualquier lenguaje compatible que haya en el repositorio. Si quieres elegir qué lenguajes analizar sin utilizar una matriz, puedes utilizar el parámetro `languages` en la acción de `init`.
|
||||
If your workflow does not contain a matrix called `language`, then {% data variables.product.prodname_codeql %} is configured to run analysis sequentially. If you don't specify languages in the workflow, {% data variables.product.prodname_codeql %} automatically detects, and attempts to analyze, any supported languages in the repository. If you want to choose which languages to analyze, without using a matrix, you can use the `languages` parameter under the `init` action.
|
||||
|
||||
```yaml
|
||||
- uses: github/codeql-action/init@v1
|
||||
@@ -224,15 +225,15 @@ Si tu flujo de trabajo no contiene una matriz que se llame `language`, entonces
|
||||
languages: cpp, csharp, python
|
||||
```
|
||||
{% ifversion fpt or ghec %}
|
||||
## Analizar las dependencias de Python
|
||||
## Analyzing Python dependencies
|
||||
|
||||
Para los ejecutores hospedados en GitHub que utilicen solo Linux, el {% data variables.product.prodname_codeql_workflow %} intentarà instalar automàticamente las dependencias de Python para dar màs resultados para el anàlisis de CodeQL. Puedes controlar este comportamiento si especificas el paràmetro `setup-python-dependencies` para la acciòn que el paso "Initialize CodeQL" llama. Predeterminadamente, este paràmetro se configura como `true`:
|
||||
For GitHub-hosted runners that use Linux only, the {% data variables.product.prodname_codeql_workflow %} will try to auto-install Python dependencies to give more results for the CodeQL analysis. You can control this behavior by specifying the `setup-python-dependencies` parameter for the action called by the "Initialize CodeQL" step. By default, this parameter is set to `true`:
|
||||
|
||||
- Si el repositorio contiene còdigo escrito en Python, el paso "Initialize CodeQL" instala las dependencias necesarias en el ejecutor hospedado en GitHub. Si la instalaciòn automàtica es exitosa, la acciòn tambièn configura la variable de ambiente `CODEQL_PYTHON` en el archivo ejecutable de Python que incluye las dependencias.
|
||||
- If the repository contains code written in Python, the "Initialize CodeQL" step installs the necessary dependencies on the GitHub-hosted runner. If the auto-install succeeds, the action also sets the environment variable `CODEQL_PYTHON` to the Python executable file that includes the dependencies.
|
||||
|
||||
- Si el repositorio no tiene ninguna dependencia de Python o si las dependencias se especifican en una forma inesperada, obtendràs una advertencia y la acciòn seguirà con los jobs restantes. La acciòn puede ejecutarse exitosamente aùn cuando existan problemas para interpretar las dependencias, pero los resultados podrìan estar incompletos.
|
||||
- If the repository doesn't have any Python dependencies, or the dependencies are specified in an unexpected way, you'll get a warning and the action will continue with the remaining jobs. The action can run successfully even when there are problems interpreting dependencies, but the results may be incomplete.
|
||||
|
||||
Como alternativa, puedes instalar las dependencias de Python manualmente en cualquier sistema operativo. Necesitaràs agregar a `setup-python-dependencies` y configurarlo como `false`, asì como configurar `CODEQL_PYTHON` para el ejecutable de Python que incluye las dependencias, tal como se muestra en este extracto de flujo de trabajo:
|
||||
Alternatively, you can install Python dependencies manually on any operating system. You will need to add `setup-python-dependencies` and set it to `false`, as well as set `CODEQL_PYTHON` to the Python executable that includes the dependencies, as shown in this workflow extract:
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
@@ -269,11 +270,11 @@ jobs:
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
## Configurar una cateogría para el análisis
|
||||
## Configuring a category for the analysis
|
||||
|
||||
Utiliza `category` para distinguir entre análisis múltiples de la misma herramienta y confirmación, pero que se lleven a cabo en lenguajes o partes diferentes del código. La categoría que especificas en tu flujo de trabajo se incluirá en el archivo de resultados de SARIF.
|
||||
Use `category` to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. The category you specify in your workflow will be included in the SARIF results file.
|
||||
|
||||
Este parámetro es particularmente útil si trabajas en monorepositorios y tienes vrios archivos SARIF para diferentes componentes de este.
|
||||
This parameter is particularly useful if you work with monorepos and have multiple SARIF files for different components of the monorepo.
|
||||
|
||||
{% raw %}
|
||||
``` yaml
|
||||
@@ -287,34 +288,34 @@ Este parámetro es particularmente útil si trabajas en monorepositorios y tiene
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Si no especificas un parámetro de `category` en tu flujo de trabajo, {% data variables.product.product_name %} generará un nombre de categoría para ti con base en el nombre del archivo de flujo de trabajo que activó la acción, el nombre de la acción y cualquier variable de la matriz. Por ejemplo:
|
||||
- El flujo de trabajo `.github/workflows/codeql-analysis.yml` y la acción `analyze` producirán la categoría `.github/workflows/codeql.yml:analyze`.
|
||||
- Las variables Del flujo de trabajo de `.github/workflows/codeql-analysis.yml`, la acción `analyze`, y la matriz de `{language: javascript, os: linux}` producirán la categoría `.github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux`.
|
||||
If you don't specify a `category` parameter in your workflow, {% data variables.product.product_name %} will generate a category name for you, based on the name of the workflow file triggering the action, the action name, and any matrix variables. For example:
|
||||
- The `.github/workflows/codeql-analysis.yml` workflow and the `analyze` action will produce the category `.github/workflows/codeql.yml:analyze`.
|
||||
- The `.github/workflows/codeql-analysis.yml` workflow, the `analyze` action, and the `{language: javascript, os: linux}` matrix variables will produce the category `.github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux`.
|
||||
|
||||
El valor `category` se mostrará como la propiedad `<run>.automationDetails.id` en SARIF v2.1.0. Para obtener más información, consulta la sección "[Soporte de SARIF para {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning#runautomationdetails-object)".
|
||||
The `category` value will appear as the `<run>.automationDetails.id` property in SARIF v2.1.0. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning#runautomationdetails-object)."
|
||||
|
||||
La categoría que especificaste no sobrescribirá los detalles del objeto `runAutomationDetails` en el archivo SARIF, si es que se incluye.
|
||||
Your specified category will not overwrite the details of the `runAutomationDetails` object in the SARIF file, if included.
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Ejecutar consultas adicionales
|
||||
## Running additional queries
|
||||
|
||||
{% data reusables.code-scanning.run-additional-queries %}
|
||||
|
||||
{% if codeql-packs %}
|
||||
### Utilizar los paquetes de consultas de {% data variables.product.prodname_codeql %}
|
||||
### Using {% data variables.product.prodname_codeql %} query packs
|
||||
|
||||
{% data reusables.code-scanning.beta-codeql-packs-cli %}
|
||||
|
||||
Para agregar uno o más paquetes de consulta de {% data variables.product.prodname_codeql %} (beta), agrega una entrada de `with: packs:` dentro de la sección de `uses: github/codeql-action/init@v1` del flujo de trabajo. Dentro de `packs` especificas uno o más paquetes a utilizar y, opcionalmente, la versión a descargar. Donde no especifiques una versión, se descargará la más reciente. Si quieres utilizar paquetes que no están disponibles al público, necesitarás configurar la variable de ambiente `GITHUB_TOKEN` como un secreto que tenga acceso a los paquetes. Para obtener más información, consulta las secciones "[Autenticación en un flujo de trabajo](/actions/reference/authentication-in-a-workflow)" y "[Secretos cifrados](/actions/reference/encrypted-secrets)".
|
||||
To add one or more {% data variables.product.prodname_codeql %} query packs (beta), add a `with: packs:` entry within the `uses: github/codeql-action/init@v1` section of the workflow. Within `packs` you specify one or more packages to use and, optionally, which version to download. Where you don't specify a version, the latest version is downloaded. If you want to use packages that are not publicly available, you need to set the `GITHUB_TOKEN` environment variable to a secret that has access to the packages. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow)" and "[Encrypted secrets](/actions/reference/encrypted-secrets)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Para el caso de los flujos de trabajo que generan bases de dato de {% data variables.product.prodname_codeql %} para lenguajes múltiples, en su lugar, debes especificar los paquetes de consultas de {% data variables.product.prodname_codeql %} en un archivo de configuración. Para obtener más información, consulta la sección "[Especificar los paquetes de consultas de {% data variables.product.prodname_codeql %}](#specifying-codeql-query-packs)" a continuación.
|
||||
**Note:** For workflows that generate {% data variables.product.prodname_codeql %} databases for multiple languages, you must instead specify the {% data variables.product.prodname_codeql %} query packs in a configuration file. For more information, see "[Specifying {% data variables.product.prodname_codeql %} query packs](#specifying-codeql-query-packs)" below.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
En el siguiente ejemplo, `scope` es la organización o cuenta personal que publicó el paquete. Cuando se ejecuta el flujo de trabajo, los tres paquetes de consulta de {% data variables.product.prodname_codeql %} se descargan de {% data variables.product.product_name %} y se ejecutan las consultas predeterminadas o suite de consultas para cada paquete. La última versión de `pack1` se descarga, ya que no se especificó ninguna versión. Se descarga la versión 1.2.3 del `pack2`, así como la última versión del `pack3` que es compatible con la versión 1.2.3.
|
||||
In the example below, `scope` is the organization or personal account that published the package. When the workflow runs, the three {% data variables.product.prodname_codeql %} query packs are downloaded from {% data variables.product.product_name %} and the default queries or query suite for each pack run. The latest version of `pack1` is downloaded as no version is specified. Version 1.2.3 of `pack2` is downloaded, as well as the latest version of `pack3` that is compatible with version 1.2.3.
|
||||
|
||||
{% raw %}
|
||||
``` yaml
|
||||
@@ -325,9 +326,9 @@ En el siguiente ejemplo, `scope` es la organización o cuenta personal que publi
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Utilizar las consultas en los paquetes de QL
|
||||
### Using queries in QL packs
|
||||
{% endif %}
|
||||
Para agregar uno o más conjuntos de consultas, agrega una sección de `queries` a tu archivo de configuración. Si las consultas están en un repositorio privado, utiliza el parámetro `external-repository-token` para especificar un token que tiene acceso para verificar el repositorio privado.
|
||||
To add one or more queries, add a `with: queries:` entry within the `uses: github/codeql-action/init@v1` section of the workflow. If the queries are in a private repository, use the `external-repository-token` parameter to specify a token that has access to checkout the private repository.
|
||||
|
||||
{% raw %}
|
||||
``` yaml
|
||||
@@ -339,17 +340,17 @@ Para agregar uno o más conjuntos de consultas, agrega una sección de `queries`
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
También puedes ejecutar conjuntos de consultas adicionales si los especificas en un archivo de configuración. Los conjuntos de consultas son colecciones de consultas que a menudo se agrupan por propósito o lenguaje.
|
||||
You can also specify query suites in the value of `queries`. Query suites are collections of queries, usually grouped by purpose or language.
|
||||
|
||||
{% data reusables.code-scanning.codeql-query-suites %}
|
||||
|
||||
{% if codeql-packs %}
|
||||
### Trabajar con archivos de configuración personalizados
|
||||
### Working with custom configuration files
|
||||
{% endif %}
|
||||
|
||||
Si también utilizas un archivo de configuración para los ajustes personalizados, cualquier {% if codeql-packs %}paquete o{% endif %} consulta adicional especificados en tu flujo de trabajo se utilizarán en vez de aquellos especificados en el archivo de configuración. Si quieres ejecutar el juego combinado de {% if codeql-packs %}paquetes o {% endif %} consultas adicionales, coloca un prefijo en el valor de {% if codeql-packs %}`packs` o {% endif %}`queries` en el flujo de trabajo con el símbolo `+`. Para encontrar ejemplos de archivos de configuración, consulta la sección "[Ejemplos de archivos de configuración](#example-configuration-files)".
|
||||
If you also use a configuration file for custom settings, any additional {% if codeql-packs %}packs or {% endif %}queries specified in your workflow are used instead of those specified in the configuration file. If you want to run the combined set of additional {% if codeql-packs %}packs or {% endif %}queries, prefix the value of {% if codeql-packs %}`packs` or {% endif %}`queries` in the workflow with the `+` symbol. For more information, see "[Using a custom configuration file](#using-a-custom-configuration-file)."
|
||||
|
||||
En el siguiente ejemplo, el símbolo `+` garantiza que los {% if codeql-packs %}paquetes y {% endif %}consultas adicionales especificados se utilicen juntos con cualquiera que se haya especificado en el archivo de configuración referenciado.
|
||||
In the following example, the `+` symbol ensures that the specified additional {% if codeql-packs %}packs and {% endif %}queries are used together with any specified in the referenced configuration file.
|
||||
|
||||
``` yaml
|
||||
- uses: github/codeql-action/init@v1
|
||||
@@ -361,11 +362,11 @@ En el siguiente ejemplo, el símbolo `+` garantiza que los {% if codeql-packs %}
|
||||
{% endif %}
|
||||
```
|
||||
|
||||
## Utilizar una herramienta de escaneo de código de terceros
|
||||
## Using a custom configuration file
|
||||
|
||||
Un archivo de configuración personalizado es una forma alterna de especificar {% if codeql-packs %}paquetes y{% endif %} consultas adicionales a ejecutar. También puedes utilizar el archivo para inhabilitar las consultas predeterminadas y para especificar qué directorios escanear durante el análisis.
|
||||
A custom configuration file is an alternative way to specify additional {% if codeql-packs %}packs and {% endif %}queries to run. You can also use the file to disable the default queries and to specify which directories to scan during analysis.
|
||||
|
||||
En el archivo de flujo de trabajo, utiliza el parámetro `config-file` de la acción `init` para especificar la ruta al archivo de configuración que quieres utilizar. Este ejemplo carga el archivo de configuración _./.github/codeql/codeql-config.yml_.
|
||||
In the workflow file, use the `config-file` parameter of the `init` action to specify the path to the configuration file you want to use. This example loads the configuration file _./.github/codeql/codeql-config.yml_.
|
||||
|
||||
``` yaml
|
||||
- uses: github/codeql-action/init@v1
|
||||
@@ -375,7 +376,7 @@ En el archivo de flujo de trabajo, utiliza el parámetro `config-file` de la acc
|
||||
|
||||
{% data reusables.code-scanning.custom-configuration-file %}
|
||||
|
||||
El archivo de configuración se ubica en un repositorio privado externo, utiliza el parámetro `external-repository-token` de la acción `init` para especificar un token que tenga acceso al repositorio privado.
|
||||
If the configuration file is located in an external private repository, use the `external-repository-token` parameter of the `init` action to specify a token that has access to the private repository.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -385,14 +386,14 @@ El archivo de configuración se ubica en un repositorio privado externo, utiliza
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Los ajustes en el archivo de configuración se escriben en formato YAML.
|
||||
The settings in the configuration file are written in YAML format.
|
||||
|
||||
{% if codeql-packs %}
|
||||
### Especificar paquetes de consultas de {% data variables.product.prodname_codeql %}
|
||||
### Specifying {% data variables.product.prodname_codeql %} query packs
|
||||
|
||||
{% data reusables.code-scanning.beta-codeql-packs-cli %}
|
||||
|
||||
Especificas paquetes de consultas de {% data variables.product.prodname_codeql %} en un arreglo. Nota que el formato es deferente a aquél que utiliza el archivo de flujo de trabajo.
|
||||
You specify {% data variables.product.prodname_codeql %} query packs in an array. Note that the format is different from the format used by the workflow file.
|
||||
|
||||
{% raw %}
|
||||
``` yaml
|
||||
@@ -406,7 +407,7 @@ packs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Si tienes un flujo de trabajo que genere más de una base de datos de {% data variables.product.prodname_codeql %}, puedes especificar cualquier paquete de consultas de {% data variables.product.prodname_codeql %} para que se ejecute en un archivo de configuración personalizado utilizando un mapa de paquetes anidado.
|
||||
If you have a workflow that generates more than one {% data variables.product.prodname_codeql %} database, you can specify any {% data variables.product.prodname_codeql %} query packs to run in a custom configuration file using a nested map of packs.
|
||||
|
||||
{% raw %}
|
||||
``` yaml
|
||||
@@ -423,9 +424,9 @@ packs:
|
||||
{% endraw %}
|
||||
{% endif %}
|
||||
|
||||
### Especificar consultas adicionales
|
||||
### Specifying additional queries
|
||||
|
||||
Puedes especificar consultas adicionales en una matriz de `queries`. Cada elemento de la matriz contiene un parámetro de `uses` con un valor que identifica un archivo de consulta simple, un directorio que contiene los archivos de consulta, o un archivo de suite de definiciones de una consulta.
|
||||
You specify additional queries in a `queries` array. Each element of the array contains a `uses` parameter with a value that identifies a single query file, a directory containing query files, or a query suite definition file.
|
||||
|
||||
``` yaml
|
||||
queries:
|
||||
@@ -434,15 +435,15 @@ queries:
|
||||
- uses: ./query-suites/my-security-queries.qls
|
||||
```
|
||||
|
||||
Opcionalmente, puedes otorgar un nombre a cada elemento de la matriz, como se muestra en los siguientes ejemplos de archivos de configuración. Para obtener más información acerca de las consultas adicionales, puedes ver la siguiente sección "[Ejecutar consultas adicionales](#running-additional-queries)".
|
||||
Optionally, you can give each array element a name, as shown in the example configuration files below. For more information about additional queries, see "[Running additional queries](#running-additional-queries)" above.
|
||||
|
||||
### Inhabilitar las consultas predeterminadas
|
||||
### Disabling the default queries
|
||||
|
||||
Si solo quieres ejecutar consultas personalizadas, puedes inhabilitar las consultas de seguridad predeterminadas si agregas `disable-default-queries: true` a tu archivo de configuración.
|
||||
If you only want to run custom queries, you can disable the default security queries by using `disable-default-queries: true`.
|
||||
|
||||
### Especificar directorios para escanear
|
||||
### Specifying directories to scan
|
||||
|
||||
For the interpreted languages that {% data variables.product.prodname_codeql %} supports (Python{% ifversion fpt or ghes > 3.3 or ghae-issue-5017 %}, Ruby{% endif %} and JavaScript/TypeScript), you can restrict {% data variables.product.prodname_code_scanning %} to files in specific directories by adding a `paths` array to the configuration file. Puedes excluir del análisis los archivos en los directorios específicos si agregas un arreglo de `paths-ignore`.
|
||||
For the interpreted languages that {% data variables.product.prodname_codeql %} supports (Python{% ifversion fpt or ghes > 3.3 or ghae-issue-5017 %}, Ruby{% endif %} and JavaScript/TypeScript), you can restrict {% data variables.product.prodname_code_scanning %} to files in specific directories by adding a `paths` array to the configuration file. You can exclude the files in specific directories from analysis by adding a `paths-ignore` array.
|
||||
|
||||
``` yaml
|
||||
paths:
|
||||
@@ -454,28 +455,28 @@ paths-ignore:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**:
|
||||
**Note**:
|
||||
|
||||
* Las palabras clave `paths` y `paths-ignore` que se utilizan en el contexto del archivo de configuración del {% data variables.product.prodname_code_scanning %} no deben confundirse con las mismas palabras clave cuando se utilizan para `on.<push|pull_request>.paths` en un flujo de trabajo. Cuando se tulizan para modificar `on.<push|pull_request>` en un flujo de trabajo, éstas determinan si las acciones se ejecutarán cuando alguien modifique el código en los directorios especificados. Para obtener más información, consulta la sección "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths)".
|
||||
* Los caracteres de patrón de filtro como `?`, `+`, `[`, `]`, y `!` no son compatibles y se empatarán literalmente.
|
||||
* `**` **Note**: `**` characters can only be at the start or end of a line, or surrounded by slashes, and you can't mix `**` and other characters. Por ejemplo, `foo/**`, `**/foo`, y `foo/**/bar` son todas sintaxis permitidas, pero `**foo` no lo es. Sin embargo, puedes utilizar asteriscos sencillos con otros caracteres, tal como se muestra en el ejemplo. Tendrás que poner entre comillas todo lo que contenga un caracter de `*`.
|
||||
* The `paths` and `paths-ignore` keywords, used in the context of the {% data variables.product.prodname_code_scanning %} configuration file, should not be confused with the same keywords when used for `on.<push|pull_request>.paths` in a workflow. When they are used to modify `on.<push|pull_request>` in a workflow, they determine whether the actions will be run when someone modifies code in the specified directories. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths)."
|
||||
* The filter pattern characters `?`, `+`, `[`, `]`, and `!` are not supported and will be matched literally.
|
||||
* `**` characters can only be at the start or end of a line, or surrounded by slashes, and you can't mix `**` and other characters. For example, `foo/**`, `**/foo`, and `foo/**/bar` are all allowed syntax, but `**foo` isn't. However you can use single stars along with other characters, as shown in the example. You'll need to quote anything that contains a `*` character.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Para los lenguajes compilados, si quieres limitar el {% data variables.product.prodname_code_scanning %} para directorios específicos en tu proyecto, debes especificar los pasos de compilación adecuados en el flujo de trabajo. Los comandos que necesites utilizar para excluir un directorio de la compilación dependerán en tu sistema de compilación. Para obtener más información, consulta la sección "[Configurar el flujo de trabajo de {% data variables.product.prodname_codeql %} para los lenguajes compilados](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)".
|
||||
For compiled languages, if you want to limit {% data variables.product.prodname_code_scanning %} to specific directories in your project, you must specify appropriate build steps in the workflow. The commands you need to use to exclude a directory from the build will depend on your build system. For more information, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)."
|
||||
|
||||
Puedes analizar rápidamente partes pequeñas de un monorepo cuando modificas el código en directorios específicos. Necesitarás tanto excluir los directorios en tus pasos de compilación como utilizar las palabras clave `paths-ignore` y `paths` para [`on.<push|pull_request>`](https://help.github.com/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths) en tu archivo de flujo de trabajo.
|
||||
You can quickly analyze small portions of a monorepo when you modify code in specific directories. You'll need to both exclude directories in your build steps and use the `paths-ignore` and `paths` keywords for [`on.<push|pull_request>`](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths) in your workflow.
|
||||
|
||||
### Ejemplos de archivos de configuración
|
||||
### Example configuration files
|
||||
|
||||
{% data reusables.code-scanning.example-configuration-files %}
|
||||
|
||||
## Configurar {% data variables.product.prodname_code_scanning %} para los lenguajes compilados
|
||||
## Configuring {% data variables.product.prodname_code_scanning %} for compiled languages
|
||||
|
||||
{% data reusables.code-scanning.autobuild-compiled-languages %} {% data reusables.code-scanning.analyze-go %}
|
||||
|
||||
{% data reusables.code-scanning.autobuild-add-build-steps %} Para obtener más información sobre cómo configurar el {% data variables.product.prodname_code_scanning %} de {% data variables.product.prodname_codeql %} para los lenguajes compilados, consulta la sección "[Configurar el flujo de trabajo de {% data variables.product.prodname_codeql %} para los lenguajes compilados](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages)".
|
||||
{% data reusables.code-scanning.autobuild-add-build-steps %} For more information about how to configure {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} for compiled languages, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages)."
|
||||
|
||||
## Puedes escribir un archivo de configuración para {% data variables.product.prodname_code_scanning %}.
|
||||
## Uploading {% data variables.product.prodname_code_scanning %} data to {% data variables.product.prodname_dotcom %}
|
||||
|
||||
{% data variables.product.prodname_dotcom %} puede mostrar los datos de análisis de código que se generan externamente con una herramienta de terceros. Puedes mostrar el análisis de código de una herramienta de terceros en {{ site.data.variables.product.prodname_dotcom }} su agregas la acción `upload-sarif` en tu flujo de trabajo. Para obtener más información, consulta la sección "[Cargar un archivo SARIF a GitHub](/code-security/secure-coding/uploading-a-sarif-file-to-github)".
|
||||
{% data variables.product.prodname_dotcom %} can display code analysis data generated externally by a third-party tool. You can upload code analysis data with the `upload-sarif` action. For more information, see "[Uploading a SARIF file to GitHub](/code-security/secure-coding/uploading-a-sarif-file-to-github)."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Escanear tu código automáticamente para encontrar vulnerabilidades y errores
|
||||
shortTitle: Escanear el código automáticamente
|
||||
intro: 'Puedes encontrar vulnerabilidades y errores en el código de tu proyecto en {% data variables.product.prodname_dotcom %}.'
|
||||
title: Automatically scanning your code for vulnerabilities and errors
|
||||
shortTitle: Scan code automatically
|
||||
intro: 'You can find vulnerabilities and errors in your project''s code on {% data variables.product.prodname_dotcom %}, as well as view, triage, understand, and resolve the related {% data variables.product.prodname_code_scanning %} alerts.'
|
||||
product: '{% data reusables.gated-features.code-scanning %}'
|
||||
redirect_from:
|
||||
- /github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors
|
||||
@@ -19,6 +19,7 @@ children:
|
||||
- /triaging-code-scanning-alerts-in-pull-requests
|
||||
- /setting-up-code-scanning-for-a-repository
|
||||
- /managing-code-scanning-alerts-for-your-repository
|
||||
- /tracking-code-scanning-alerts-in-issues-using-task-lists
|
||||
- /configuring-code-scanning
|
||||
- /about-code-scanning-with-codeql
|
||||
- /configuring-the-codeql-workflow-for-compiled-languages
|
||||
@@ -26,5 +27,4 @@ children:
|
||||
- /running-codeql-code-scanning-in-a-container
|
||||
- /viewing-code-scanning-logs
|
||||
---
|
||||
|
||||
<!--For this article in earlier GHES versions, see /content/github/finding-security-vulnerabilities-and-errors-in-your-code-->
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Administrar las alertas del escaneo de código para tu repositorio
|
||||
shortTitle: Administra las alertas
|
||||
intro: 'Desde la vista de seguridad, puedes ver, corregir, descartar o borrar las alertas de las vulnerabilidades o errores potenciales en el código de tu proyecto.'
|
||||
title: Managing code scanning alerts for your repository
|
||||
shortTitle: Manage alerts
|
||||
intro: 'From the security view, you can view, fix, dismiss, or delete alerts for potential vulnerabilities or errors in your project''s code.'
|
||||
product: '{% data reusables.gated-features.code-scanning %}'
|
||||
permissions: 'If you have write permission to a repository you can manage {% data variables.product.prodname_code_scanning %} alerts for that repository.'
|
||||
versions:
|
||||
@@ -23,222 +23,237 @@ topics:
|
||||
- Alerts
|
||||
- Repositories
|
||||
---
|
||||
|
||||
<!--For this article in earlier GHES versions, see /content/github/finding-security-vulnerabilities-and-errors-in-your-code-->
|
||||
|
||||
{% data reusables.code-scanning.beta %}
|
||||
|
||||
## Acerca de las alertas de {% data variables.product.prodname_code_scanning %}
|
||||
## About alerts from {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
Puedes configurar el {% data variables.product.prodname_code_scanning %} para que verifique el código en un repositorio utilizando el análisis predeterminado de {% data variables.product.prodname_codeql %}, un análisis de terceros, o varios tipos de análisis. Cuando se complete el análisis, las alertas resultantes se mostrarán unas junto a otras en la vista de seguridad del repositorio. Los resultados de las herramientas de terceros o de las consultas personalizadas podrían no incluir todas las propiedades que ves para las alertas que se detectan con el análisis predeterminado del {% data variables.product.prodname_codeql %} de {% data variables.product.company_short %}. Para obtener más información, consulta la sección "[Configurar el {% data variables.product.prodname_code_scanning %} en un repositorio](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)".
|
||||
You can set up {% data variables.product.prodname_code_scanning %} to check the code in a repository using the default {% data variables.product.prodname_codeql %} analysis, a third-party analysis, or multiple types of analysis. When the analysis is complete, the resulting alerts are displayed alongside each other in the security view of the repository. Results from third-party tools or from custom queries may not include all of the properties that you see for alerts detected by {% data variables.product.company_short %}'s default {% data variables.product.prodname_codeql %} analysis. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)."
|
||||
|
||||
Predeterminadamente, el {% data variables.product.prodname_code_scanning %} analiza tu código periódicamente en la rama predeterminada y durante las solicitudes de cambios. Para obtener información acerca de la administración de alertas en una solicitud de cambios, consulta la sección "[Clasificar las alertas del {% data variables.product.prodname_code_scanning %} en las solicitudes de cambios](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)".
|
||||
By default, {% data variables.product.prodname_code_scanning %} analyzes your code periodically on the default branch and during pull requests. For information about managing alerts on a pull request, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)."
|
||||
|
||||
{% data reusables.code-scanning.upload-sarif-alert-limit %}
|
||||
|
||||
## Acerca de los detalles de las alertas
|
||||
## About alerts details
|
||||
|
||||
Cada alerta resalta un problema en el código y el nombre de la herramienta que lo identificó. Puedes ver la línea de código que activó la alerta, así como las propiedades de dicha alerta, tales como la gravedad{% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %}, gravedad de seguridad{% endif %} y la naturaleza del problema. Las alertas también te dicen si el problema se introdujo por primera vez. Para las alertas que identificó el análisis de {% data variables.product.prodname_codeql %}, también verás información de cómo arreglar elproblema.
|
||||
Each alert highlights a problem with the code and the name of the tool that identified it. You can see the line of code that triggered the alert, as well as properties of the alert, such as the severity{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}, security severity,{% endif %} and the nature of the problem. Alerts also tell you when the issue was first introduced. For alerts identified by {% data variables.product.prodname_codeql %} analysis, you will also see information on how to fix the problem.
|
||||
|
||||

|
||||

|
||||
|
||||
Si configuras el {% data variables.product.prodname_code_scanning %} utilizando {% data variables.product.prodname_codeql %}, esto también puede detectar problemas de flujo de datos en tu código. El análisis de flujo de datos encuentra problemas de seguridad potenciales en el código, tales como: utilizar los datos de formas no seguras, pasar argumentos peligrosos a las funciones y tener fugas de información sensible.
|
||||
If you set up {% data variables.product.prodname_code_scanning %} using {% data variables.product.prodname_codeql %}, this can also detect data-flow problems in your code. Data-flow analysis finds potential security issues in code, such as: using data insecurely, passing dangerous arguments to functions, and leaking sensitive information.
|
||||
|
||||
Cuando {% data variables.product.prodname_code_scanning %} reporta alertas de flujo de datos, {% data variables.product.prodname_dotcom %} te muestra como se mueven los datos a través del código. El {% data variables.product.prodname_code_scanning_capc %} te permite identificar las áreas de tu código que filtran información sensible y que podrían ser el punto de entrada para los ataques que hagan los usuarios malintencionados.
|
||||
When {% data variables.product.prodname_code_scanning %} reports data-flow alerts, {% data variables.product.prodname_dotcom %} shows you how data moves through the code. {% data variables.product.prodname_code_scanning_capc %} allows you to identify the areas of your code that leak sensitive information, and that could be the entry point for attacks by malicious users.
|
||||
|
||||
### Acerca de los niveles de gravedad
|
||||
### About severity levels
|
||||
|
||||
Los niveles de gravedad de las alertas pueden ser `Error`, `Warning`, o `Note`.
|
||||
Alert severity levels may be `Error`, `Warning`, or `Note`.
|
||||
|
||||
Predeterminadamente, cualquier resultado del escaneo de código con una severidad de `error` causará una falla de verificación. {% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %}Puedes especificar el nivel de gravedad en el cual deberían fallar las solicitudes de cambios que activan las alertas del escaneo de código. Para obtener más información, consulta la sección "[Definir las gravedades que ocasionan un fallo en la verificación de las solicitudes de cambios](/code-security/secure-coding/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)".{% endif %}
|
||||
By default, any code scanning results with a severity of `error` will cause check failure. {% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}You can specify the severity level at which pull requests that trigger code scanning alerts should fail. For more information, see "[Defining the severities causing pull request check failure](/code-security/secure-coding/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)."{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %}
|
||||
### Acerca de los niveles de gravedad
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
### About security severity levels
|
||||
|
||||
El {% data variables.product.prodname_code_scanning_capc %} muestra los niveles de gravedad de seguridad para las alertas que generan las consultas de seguridad. Los niveles de seguridad pueden ser `Critical`, `High`, `Medium` o `Low`.
|
||||
{% data variables.product.prodname_code_scanning_capc %} displays security severity levels for alerts that are generated by security queries. Security severity levels can be `Critical`, `High`, `Medium`, or `Low`.
|
||||
|
||||
Para calcular la gravedad de seguridad de una alerta, utilizamos los datos del Sistema de Puntuación para Vulnerabilidades Comunes (CVSS). El CVSS es un marco de trabajo de código abierto para comunicar las características y gravedad de las vulnerabilidades de software y otros productos de seguridad lo utilizan habitualmente para puntuar las alertas. Para obtener más información sobre cómo se calculan los niveles de gravedad, consulta [la publicación del blog](https://github.blog/changelog/2021-07-19-codeql-code-scanning-new-severity-levels-for-security-alerts/).
|
||||
To calculate the security severity of an alert, we use Common Vulnerability Scoring System (CVSS) data. CVSS is an open framework for communicating the characteristics and severity of software vulnerabilities, and is commonly used by other security products to score alerts. For more information about how severity levels are calculated, see [the blog post](https://github.blog/changelog/2021-07-19-codeql-code-scanning-new-severity-levels-for-security-alerts/).
|
||||
|
||||
Predeterminadamente, cualquier resultado del escaneo de código con una gravedad de seguridad `Critical` o `High` ocasionarán un fallo de verificación. Puedes especificar qué nivel de gravedad de seguridad para de los resultados del escaneo de código deberían ocasionar una falla de verificación. Para obtener más información, consulta la sección "[Definir las gravedades que ocasionan un fallo en la verificación de las solicitudes de cambios](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)".{% endif %}
|
||||
By default, any code scanning results with a security severity of `Critical` or `High` will cause a check failure. You can specify which security severity level for code scanning results should cause a check failure. For more information, see "[Defining the severities causing pull request check failure](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)."{% endif %}
|
||||
|
||||
### Acerca de las etiquetas para las alertas que no se encuentran en el código de la aplicación
|
||||
### About labels for alerts that are not found in application code
|
||||
|
||||
{% data variables.product.product_name %} asigna una etiqueta de categoría a las alertas que no se encuentran en el código de aplicación. La etiqueta se relaciona con la ubicación de la alerta.
|
||||
{% data variables.product.product_name %} assigns a category label to alerts that are not found in application code. The label relates to the location of the alert.
|
||||
|
||||
- **Generado**: Código que genera el proceso de compilación
|
||||
- **Prueba**: Código de prueba
|
||||
- **Librería**: Librería o código de terceros
|
||||
- **Documentación**: Documentación
|
||||
- **Generated**: Code generated by the build process
|
||||
- **Test**: Test code
|
||||
- **Library**: Library or third-party code
|
||||
- **Documentation**: Documentation
|
||||
|
||||
El {% data variables.product.prodname_code_scanning_capc %} categoriza los archivos por sus rutas. No puedes categorizar los archivos de origen manualmente.
|
||||
{% data variables.product.prodname_code_scanning_capc %} categorizes files by file path. You cannot manually categorize source files.
|
||||
|
||||
Aquí tienes un ejemplo de la lista de alertas del {% data variables.product.prodname_code_scanning %} para una alerta que se marcó como ocurrente en código de librería.
|
||||
Here is an example from the {% data variables.product.prodname_code_scanning %} alert list of an alert marked as occuring in library code.
|
||||
|
||||

|
||||

|
||||
|
||||
En la página de alertas, puedes ver si la ruta de archivo se marca como código de librería (etiqueta `Library`).
|
||||
On the alert page, you can see that the filepath is marked as library code (`Library` label).
|
||||
|
||||

|
||||

|
||||
|
||||
## Visualizar las alertas de un repositorio
|
||||
## Viewing the alerts for a repository
|
||||
|
||||
Cualquiera con permisos de escritura en un repositorio puede ver las anotaciones del {% data variables.product.prodname_code_scanning %} en las solicitudes de cambios. Para obtener màs informaciònPara obtener más información, consulta la sección "[Clasificar las alertas del {% data variables.product.prodname_code_scanning %} en las solicitudes de extracción](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)".
|
||||
Anyone with read permission for a repository can see {% data variables.product.prodname_code_scanning %} annotations on pull requests. 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)."
|
||||
|
||||
Necesitas permisos de escritura para ver un resumen de todas las alertas de un repositorio en la pestaña de **Seguridad**.
|
||||
You need write permission to view a summary of all the alerts for a repository on the **Security** tab.
|
||||
|
||||
Predeterminadamente, la página de alertas del escaneo de código se filtra para mostrar las alertas únicamente para la rama predeterminada del repositorio.
|
||||
By default, the code scanning alerts page is filtered to show alerts for the default branch of the repository only.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-security %}
|
||||
{% data reusables.repositories.sidebar-code-scanning-alerts %}
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
1. Opcionalmente, utiliza la caja de búsqueda de texto libre o los menús desplegables para filtrar las alertas. Por ejemplo, puedes filtrar por la herramienta que se utilizó para identificar las alertas. {% endif %}
|
||||
1. Debajo de "{% data variables.product.prodname_code_scanning_capc %}", da clic en la alerta que quisieras explorar.
|
||||
1. Optionally, use the free text search box or the drop-down menus to filter alerts. For example, you can filter by the tool that was used to identify alerts.
|
||||
{% endif %}
|
||||
{% data reusables.code-scanning.explore-alert %}
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
1. Opcionalmente, si la alerta resalta un problema con el flujo de datos, da clic en **Mostrar rutas** para mostrar la ruta desde la fuente de datos hacia el consumidor de datos en donde se utiliza. 
|
||||
1. Las alertas del análisis de {% data variables.product.prodname_codeql %} incluyen una descripción del problema. Da clic en **Mostrar más** para obtener orientación sobre cómo arreglar tu código. 
|
||||
1. Optionally, if the alert highlights a problem with data flow, click **Show paths** to display the path from the data source to the sink where it's used.
|
||||

|
||||
1. Alerts from {% data variables.product.prodname_codeql %} analysis include a description of the problem. Click **Show more** for guidance on how to fix your code.
|
||||

|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||
{% note %}
|
||||
|
||||
**Nota:** Para realizar el análisis del {% data variables.product.prodname_code_scanning %} con {% data variables.product.prodname_codeql %}, puedes ver la información sobre la última ejecución en un encabezado en la parte superior de la lisa de alertas del {% data variables.product.prodname_code_scanning %} para el repositorio.
|
||||
**Note:** For {% data variables.product.prodname_code_scanning %} analysis with {% data variables.product.prodname_codeql %}, you can see information about the latest run in a header at the top of the list of {% data variables.product.prodname_code_scanning %} alerts for the repository.
|
||||
|
||||
Por ejemplo, puedes ver cuándo se ejecutó el último escaneo, la cantidad de líneas de código que se analizó en comparación con la cantidad de líneas de código totales en tu repositorio y la cantidad total de alertas qeu se generaron. 
|
||||
For example, you can see when the last scan ran, the number of lines of code analyzed compared to the total number of lines of code in your repository, and the total number of alerts that were generated.
|
||||

|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
## Filtrar las alertas del {% data variables.product.prodname_code_scanning %}
|
||||
## Filtering {% data variables.product.prodname_code_scanning %} alerts
|
||||
|
||||
Puedes filtrar las alertas que se muestran en la vista de alertas del {% data variables.product.prodname_code_scanning %}. Esto es útil si hay muchas alertas, ya que puedes enfocarte en un tipo particular de estas. Hay algunos filtros predefinidos y rangos de palabras clave que puedes utilizar para refinar la lista de alertas que se muestran.
|
||||
You can filter the alerts shown in the {% data variables.product.prodname_code_scanning %} alerts view. This is useful if there are many alerts as you can focus on a particular type of alert. There are some predefined filters and a range of keywords that you can use to refine the list of alerts displayed.
|
||||
|
||||
- Para utilizar un filtro predefinido, haz clic en **Filtros** o en un filtro que se muestre en el encabezado de la lista de alertas y elige un filtro de la lista desplegable.
|
||||
{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
- To use a predefined filter, click **Filters**, or a filter shown in the header of the list of alerts, and choose a filter from the drop-down list.
|
||||
{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
{% else %}{% endif %}
|
||||
- Para utilizar una palabra clave, teclea directamente en los filtros de la caja de texto o:
|
||||
1. Haz clic en la caja de texto de filtros para que se muestre una lista de palabras clave de filtro disponibles.
|
||||
2. Haz clic en la palabra clave que quieras utilizar y luego elige un valor de la lista desplegable. 
|
||||
- To use a keyword, either type directly in the filters text box, or:
|
||||
1. Click in the filters text box to show a list of all available filter keywords.
|
||||
2. Click the keyword you want to use and then choose a value from the drop-down list.
|
||||

|
||||
|
||||
El beneficio de utilizar filtros de palabra clave es que solo los valores con resultados se muestran en las listas desplegables. Esto hace más fácil el evitar configurar filtros que no encuentran resultados.
|
||||
The benefit of using keyword filters is that only values with results are shown in the drop-down lists. This makes it easy to avoid setting filters that find no results.
|
||||
|
||||
Si ingresas filtros múltiples, la vista te mostrará las alertas que empatan con _todos_ ellos. Por ejemplo, `is:closed severity:high branch:main` solo mostrará las aletas de gravedad alta cerradas que estén presentes en la rama `main`. La excepción son filtros que se relacionan a los refs (`ref`, `branch` y `pr`): `is:open branch:main branch:next` que te mostrarán alertas abiertas tanto de la rama `main` como de la `next`.
|
||||
If you enter multiple filters, the view will show alerts matching _all_ these filters. For example, `is:closed severity:high branch:main` will only display closed high-severity alerts that are present on the `main` branch. The exception is filters relating to refs (`ref`, `branch` and `pr`): `is:open branch:main branch:next` will show you open alerts from both the `main` branch and the `next` branch.
|
||||
|
||||
### Restringir los resultados únicamente al código de la aplicación
|
||||
### Restricting results to application code only
|
||||
|
||||
Puedes utilizar el filtro de "Solo alertas en el código de la aplicación" o la palabra clave y el valor `autofilter:true` para restringir a las alertas en el código de aplicación. Consulta la sección "[Acerca de las etiquetas para las alertas que no estén en el código de la aplicación](#about-labels-for-alerts-that-are-not-found-in-application-code)" para obtener más información sobre los tipos de código que no estén en el código de la aplicación.
|
||||
You can use the "Only alerts in application code" filter or `autofilter:true` keyword and value to restrict results to alerts in application code. See "[About labels for alerts not in application code](#about-labels-for-alerts-that-are-not-found-in-application-code)" above for more information about the types of code that are not application code.
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghec %}
|
||||
|
||||
## Buscar las alertas del {% data variables.product.prodname_code_scanning %}
|
||||
## Searching {% data variables.product.prodname_code_scanning %} alerts
|
||||
|
||||
Puedes buscar la lista de alertas. Esto es útil si hay una gran cantidad de alertas en tu repositorio o si no sabes el nombre exacto de una alerta, por ejemplo. {% data variables.product.product_name %} realiza la búsqueda de texto gratuita a través de:
|
||||
- El nombre de la alerta
|
||||
- La descripción de la alerta
|
||||
- Los detalles de la alerta (esto también incluye la información qeu se esconde de la vista predeterminada en la sección retraible de **Mostrar más**)
|
||||
You can search the list of alerts. This is useful if there is a large number of alerts in your repository, or if you don't know the exact name for an alert for example. {% data variables.product.product_name %} performs the free text search across:
|
||||
- The name of the alert
|
||||
- The alert description
|
||||
- The alert details (this also includes the information hidden from view by default in the **Show more** collapsible section)
|
||||
|
||||

|
||||

|
||||
|
||||
| Búsqueda compatible | Ejemplo de sintaxis | Resultados |
|
||||
| -------------------------------------------------------------- | ------------------- | ---------------------------------------------------------------------------- |
|
||||
| Búsqueda de palabra sencilla | `injection` | Devuelve todas las alertas que contienen la palabra `injection` |
|
||||
| Búsqueda de palabras múltiples | `sql injection` | Devuelve todas las alertas que contienen la palabra `sql` o `injection` |
|
||||
| Búsqueda de coincidencia exacta</br>(utilizar comillas dobles) | `"sql injection"` | Devuelve todas las alertas que contienen la frase exacta `sql injection` |
|
||||
| Búsqueda con OR | `sql OR injection` | Devuelve todas las alertas que contienen la palabra `sql` o `injection` |
|
||||
| Búsqueda con AND | `sql AND injection` | Devuelve todas las alertas que contienen ambas palabras: `sql` e `injection` |
|
||||
| Supported search | Syntax example | Results |
|
||||
| ---- | ---- | ---- |
|
||||
| Single word search | `injection` | Returns all the alerts containing the word `injection` |
|
||||
| Multiple word search | `sql injection` | Returns all the alerts containing `sql` or `injection` |
|
||||
| Exact match search</br>(use double quotes) | `"sql injection"` | Returns all the alerts containing the exact phrase `sql injection` |
|
||||
| OR search | `sql OR injection` | Returns all the alerts containing `sql` or `injection` |
|
||||
| AND search | `sql AND injection` | Returns all the alerts containing both words `sql` and `injection` |
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tips:**
|
||||
- La búsuqeda de palabras múltiples es equivalente auna búsqueda con OR.
|
||||
- La búsqueda con AND devolverá resultados en donde los términos de búsqueda se encuentren _en cualquier lugar_ y en cualquier órden en el nombre, descripción o detalles de la alerta.
|
||||
**Tips:**
|
||||
- The multiple word search is equivalent to an OR search.
|
||||
- The AND search will return results where the search terms are found _anywhere_, in any order in the alert name, description, or details.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-security %}
|
||||
{% data reusables.repositories.sidebar-code-scanning-alerts %}
|
||||
1. A la derecha de los menús desplegables de **Filtros**, teclea las palabras clave a buscar en la caja de búsqueda de texto gratuita. 
|
||||
2. Presiona <kbd>return</kbd>. El listado de alerta contendrá las alertas abiertas del {% data variables.product.prodname_code_scanning %} que empaten con tus criterios de búsqueda.
|
||||
1. To the right of the **Filters** drop-down menus, type the keywords to search for in the free text search box.
|
||||

|
||||
2. Press <kbd>return</kbd>. The alert listing will contain the open {% data variables.product.prodname_code_scanning %} alerts matching your search criteria.
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Arreglar una alerta
|
||||
{% ifversion fpt or ghes > 3.3 or ghae-issue-5036 %}
|
||||
## Tracking {% data variables.product.prodname_code_scanning %} alerts in issues
|
||||
|
||||
Cualquiera con permisos de escritura en un repositorio puede arreglar una alerta si confirma una corrección en el código. Si el repositorio tiene programado un {% data variables.product.prodname_code_scanning %} para ejecutarse en las solicitudes de cambios, es mejor levantar una solicitud de cambios con tu corrección. Esto activará el análisis del {% data variables.product.prodname_code_scanning %} en los cambios y probará que tu arreglo no introduciría ningún problema nuevo. Para obtener más información, consulta la sección "[Configurar el {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" y "[Clasificar las alertas del {% data variables.product.prodname_code_scanning %} en las solicitudes de cambios](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)".
|
||||
{% data reusables.code-scanning.beta-alert-tracking-in-issues %}
|
||||
{% data reusables.code-scanning.github-issues-integration %}
|
||||
{% data reusables.code-scanning.alert-tracking-link %}
|
||||
|
||||
Si tienes permisos de escritura para un repositorio, puedes ver las alertas arregladas si ves el resumen de las alertas y das clic en **Cerrado**. Para obtener más información, consulta la sección "[Visualizar las alertas de un repositorio](#viewing-the-alerts-for-a-repository)". La lista de "Cerrado" muestra las alertas arregladas y las que los usuarios han descartado.
|
||||
{% endif %}
|
||||
|
||||
Puedes utilizar{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %} la búsqueda gratuita por texto o {% endif %} los filtros para mostrar un subconjunto de alertas y luego, a su vez, marcar todas las alertas coincidentes como cerradas.
|
||||
## Fixing an alert
|
||||
|
||||
Las alertas pueden arreglarse en una rama pero no en alguna otra. Puedes utilizar el menú desplegable de "Rama", en el resumen de las alertas, para verificar si una alerta se arregló en una rama en particular.
|
||||
Anyone with write permission for a repository can fix an alert by committing a correction to the code. If the repository has {% data variables.product.prodname_code_scanning %} scheduled to run on pull requests, it's best to raise a pull request with your correction. This will trigger {% data variables.product.prodname_code_scanning %} analysis of the changes and test that your fix doesn't introduce any new problems. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" and "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)."
|
||||
|
||||
If you have write permission for a repository, you can view fixed alerts by viewing the summary of alerts and clicking **Closed**. For more information, see "[Viewing the alerts for a repository](#viewing-the-alerts-for-a-repository)." The "Closed" list shows fixed alerts and alerts that users have dismissed.
|
||||
|
||||
You can use{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %} the free text search or{% endif %} the filters to display a subset of alerts and then in turn mark all matching alerts as closed.
|
||||
|
||||
Alerts may be fixed in one branch but not in another. You can use the "Branch" drop-down menu, on the summary of alerts, to check whether an alert is fixed in a particular branch.
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
## Descartar o borrar las alertas
|
||||
## Dismissing or deleting alerts
|
||||
|
||||
Hay dos formas de cerrar una alerta. Puedes arreglar el problema en el código, o puedes descartar la alerta. Como alternativa, si tienes permisos adminsitrativos en el repositorio, puedes borrar las alertas. Borrar las alertas es útil en situaciones en donde configuraste una herramienta del {% data variables.product.prodname_code_scanning %} y luego decidiste eliminarla, o donde configuraste el análisis de {% data variables.product.prodname_codeql %} con un conjunto más grande de consultas que quieres seguir utilizando y después eliminaste algunas de ellas de la herramienta. En ambos casos, el borrar las alertas te permite limpiar tus resultados del {% data variables.product.prodname_code_scanning %}. Puedes borrar las alertas de la lista de resumen dentro de la pestaña de **Seguridad**.
|
||||
There are two ways of closing an alert. You can fix the problem in the code, or you can dismiss the alert. Alternatively, if you have admin permissions for the repository, you can delete alerts. Deleting alerts is useful in situations where you have set up a {% data variables.product.prodname_code_scanning %} tool and then decided to remove it, or where you have configured {% data variables.product.prodname_codeql %} analysis with a larger set of queries than you want to continue using, and you've then removed some queries from the tool. In both cases, deleting alerts allows you to clean up your {% data variables.product.prodname_code_scanning %} results. You can delete alerts from the summary list within the **Security** tab.
|
||||
|
||||
El descartar una alerta es una forma de cerrar aquellas que no crees que necesiten arreglo. {% data reusables.code-scanning.close-alert-examples %} Puedes eliminar alertas desde las anotaciones del {% data variables.product.prodname_code_scanning %} en el código, o desde la lista de resumen dentro de la pestaña de **Seguridad**.
|
||||
Dismissing an alert is a way of closing an alert that you don't think needs to be fixed. {% data reusables.code-scanning.close-alert-examples %} You can dismiss alerts from {% data variables.product.prodname_code_scanning %} annotations in code, or from the summary list within the **Security** tab.
|
||||
|
||||
Cuando descartas una alerta:
|
||||
When you dismiss an alert:
|
||||
|
||||
- Se descarta en todas las ramas.
|
||||
- La alerta se elimina de la cantidad de alertas actuales para tu proyecto.
|
||||
- La alerta se mueve a la lista de "Cerrado" en el resumen de alertas, desde donde puedes volver a abrirla en caso de que lo necesites.
|
||||
- La razón por la cual cerraste la alerta se registra.
|
||||
- La siguiente vez que se ejecute el {% data variables.product.prodname_code_scanning %}, este código no volverá a generar una alerta.
|
||||
- It's dismissed in all branches.
|
||||
- The alert is removed from the number of current alerts for your project.
|
||||
- The alert is moved to the "Closed" list in the summary of alerts, from where you can reopen it, if required.
|
||||
- The reason why you closed the alert is recorded.
|
||||
- Next time {% data variables.product.prodname_code_scanning %} runs, the same code won't generate an alert.
|
||||
|
||||
Cuando borras una alerta:
|
||||
When you delete an alert:
|
||||
|
||||
- Se borra en todas las ramas.
|
||||
- La alerta se elimina de la cantidad de alertas actuales para tu proyecto.
|
||||
- _No_ seagrega a la lista de "Cerrado" en el resumen de las alertas.
|
||||
- Si el código que generó la alerta se mantiene tal cual, y se ejecuta nuevamente la misma herramienta del {% data variables.product.prodname_code_scanning %} sin ningún cambio de configuración, la alerta se mostrará nuevamente en los resultados de tu análisis.
|
||||
- It's deleted in all branches.
|
||||
- The alert is removed from the number of current alerts for your project.
|
||||
- It is _not_ added to the "Closed" list in the summary of alerts.
|
||||
- If the code that generated the alert stays the same, and the same {% data variables.product.prodname_code_scanning %} tool runs again without any configuration changes, the alert will be shown again in your analysis results.
|
||||
|
||||
Para descartar o borrar una alerta:
|
||||
To dismiss or delete alerts:
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-security %}
|
||||
{% data reusables.repositories.sidebar-code-scanning-alerts %}
|
||||
1. Si tienes permisos administrativos en el repositorio y quieres borrar las alertas para esta herramienta del {% data variables.product.prodname_code_scanning %}, selecciona algunas o todas las casillas de verificación y da clic en **Borrar**.
|
||||
1. If you have admin permissions for the repository, and you want to delete alerts for this {% data variables.product.prodname_code_scanning %} tool, select some or all of the check boxes and click **Delete**.
|
||||
|
||||

|
||||

|
||||
|
||||
Opcionalmente, puedes utilizar {% ifversion fpt or ghes > 3.1 or ghae-next or ghec %} la búsqueda gratuita por texto o{% endif %} los filtros para mostrar un subconjunto de alertas y luego borrar todas las alertas coincidentes a la vez. Por ejemplo, si eliminaste una consulta desde el análisis de {% data variables.product.prodname_codeql %}, puedes utilizar el filtro de "Regla" para listar solo las alertas para esa consulta y luego seleccionar y borrar todas esas alertas.
|
||||
Optionally, you can use{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %} the free text search or{% endif %} the filters to display a subset of alerts and then delete all matching alerts at once. For example, if you have removed a query from {% data variables.product.prodname_codeql %} analysis, you can use the "Rule" filter to list just the alerts for that query and then select and delete all of those alerts.
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
1. Si quieres descartar una alerta, es importante explorarla primero para que puedas elegir la razón correcta para descartarla. Da clic en la alerta que quisieras explorar.
|
||||
1. If you want to dismiss an alert, it's important to explore the alert first, so that you can choose the correct dismissal reason. Click the alert you'd like to explore.
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
1. Revisa la alerta y da clic en **Descartar** y elije una razón para cerrarla. 
|
||||
1. Review the alert, then click **Dismiss** and choose a reason for closing the alert.
|
||||

|
||||
|
||||
{% data reusables.code-scanning.choose-alert-dismissal-reason %}
|
||||
|
||||
{% data reusables.code-scanning.false-positive-fix-codeql %}
|
||||
|
||||
### Descartar varias alertas al mismo tiempo
|
||||
### Dismissing multiple alerts at once
|
||||
|
||||
Si un proyecto tiene varias alertas que quieras descartar por la misma razón, puedes descartarlas por lote desde el resúmen de las alertas. Habitualmente quieres filtrar la lista y luego descartar todas las alertas coincidentes. Por ejemplo, puede que quieras descartar todas las alertas actuales del proyecto que se hayan etiquetado para una vulnerabilidad de Enumeración de Debilidades (CWE, por sus siglas en inglés) Común en particular.
|
||||
If a project has multiple alerts that you want to dismiss for the same reason, you can bulk dismiss them from the summary of alerts. Typically, you'll want to filter the list and then dismiss all of the matching alerts. For example, you might want to dismiss all of the current alerts in the project that have been tagged for a particular Common Weakness Enumeration (CWE) vulnerability.
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Clasificar las alertas del {% data variables.product.prodname_code_scanning %} en las solicitudes de cambios](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)"
|
||||
- "[Configurar el {% data variables.product.prodname_code_scanning %} en un repositorio](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)"
|
||||
- "[Acerca de la integración con {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-integration-with-code-scanning)"
|
||||
- "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)"
|
||||
- "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)"
|
||||
- "[About integration with {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-integration-with-code-scanning)"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Configurar el escaneo de código en un repositorio
|
||||
shortTitle: Configurar el escaneo de código
|
||||
intro: 'Puedes configurar el {% data variables.product.prodname_code_scanning %} si agregas un flujo de trabajo a tu repositorio.'
|
||||
title: Setting up code scanning for a repository
|
||||
shortTitle: Set up code scanning
|
||||
intro: 'You can set up {% data variables.product.prodname_code_scanning %} by adding a workflow to your repository.'
|
||||
product: '{% data reusables.gated-features.code-scanning %}'
|
||||
permissions: 'If you have write permissions to a repository, you can set up or configure {% data variables.product.prodname_code_scanning %} for that repository.'
|
||||
redirect_from:
|
||||
@@ -23,131 +23,134 @@ topics:
|
||||
- Actions
|
||||
- Repositories
|
||||
---
|
||||
|
||||
<!--For this article in earlier GHES versions, see /content/github/finding-security-vulnerabilities-and-errors-in-your-code-->
|
||||
|
||||
{% data reusables.code-scanning.beta %}
|
||||
{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
|
||||
|
||||
## Opciones para configurar el {% data variables.product.prodname_code_scanning %}
|
||||
## Options for setting up {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
Tú decides cómo generar las alertas del {% data variables.product.prodname_code_scanning %} y qué herramientas utilizar a nivel de repositorio. {% data variables.product.product_name %} te proporciona compatibilidad total e integrada para el análisis de {% data variables.product.prodname_codeql %} y también es compatible con el análisis de herramientas de terceros. Para obtener más información, consulta la sección "[Acerca del {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-code-scanning#about-tools-for-code-scanning)".
|
||||
You decide how to generate {% data variables.product.prodname_code_scanning %} alerts, and which tools to use, at a repository level. {% data variables.product.product_name %} provides fully integrated support for {% data variables.product.prodname_codeql %} analysis, and also supports analysis using third-party tools. For more information, see "[About {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-code-scanning#about-tools-for-code-scanning)."
|
||||
|
||||
{% data reusables.code-scanning.enabling-options %}
|
||||
|
||||
## Configurar el {% data variables.product.prodname_code_scanning %} utilizando acciones
|
||||
## Setting up {% data variables.product.prodname_code_scanning %} using actions
|
||||
|
||||
{% ifversion fpt or ghec %}El utilizar acciones para ejecutar el {% data variables.product.prodname_code_scanning %} utilizará minutos. Para obtener más información, consulta la sección "[Acerca de la facturación para {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)".{% endif %}
|
||||
{% ifversion fpt or ghec %}Using actions to run {% data variables.product.prodname_code_scanning %} will use minutes. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)."{% endif %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-security %}
|
||||
3. A la derecha de "alertas del {% data variables.product.prodname_code_scanning_capc %}", haz clic en **Configurar el {% data variables.product.prodname_code_scanning %}**. {% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}Si falta el {% data variables.product.prodname_code_scanning %}, necesitas pedir al propietario de la organización o adminsitrador del repositorio que habilite la {% data variables.product.prodname_GH_advanced_security %}. Para obtener más información, consulta las secciones "[Administrar la configuración de seguridad y análisis en tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" o "[Administrar la configuración de seguridad y análisis en tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)".{% endif %} 
|
||||
4. Debajod e "Iniciar con el {% data variables.product.prodname_code_scanning %}", da clic en **Configurar este flujo de trabajo** en el {% data variables.product.prodname_codeql_workflow %} o en el flujo de trabajo de terceros. Los flujos de trabajo solo se muestran si son relevantes para los lenguajes de programación que se detectan en el repositorio. El {% data variables.product.prodname_codeql_workflow %} siempre se muestra, pero el botón de "Configurar este flujo de trabajo" solo se habilita si el análisis de {% data variables.product.prodname_codeql %} es compatible con los lenguajes presentes en el repositorio.
|
||||
5. Para personalizar la forma en que el {% data variables.product.prodname_code_scanning %} escanea tu còdigo, edita el flujo de trabajo.
|
||||
3. To the right of "{% data variables.product.prodname_code_scanning_capc %} alerts", click **Set up {% data variables.product.prodname_code_scanning %}**. {% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}If {% data variables.product.prodname_code_scanning %} is missing, you need to ask an organization owner or repository administrator to enable {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" or "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %}
|
||||

|
||||
4. Under "Get started with {% data variables.product.prodname_code_scanning %}", click **Set up this workflow** on the {% data variables.product.prodname_codeql_workflow %} or on a third-party workflow.
|
||||
Workflows are only displayed if they are relevant for the programming languages detected in the repository. The {% data variables.product.prodname_codeql_workflow %} is always displayed, but the "Set up this workflow" button is only enabled if {% data variables.product.prodname_codeql %} analysis supports the languages present in the repository.
|
||||
5. To customize how {% data variables.product.prodname_code_scanning %} scans your code, edit the workflow.
|
||||
|
||||
Generalmente, puedes confirmar el {% data variables.product.prodname_codeql_workflow %} sin hacerle ningùn cambio. Sin embargo, muchos de los flujos de trabajo de terceros requieren de configuraciones adicionales, asì que lee los comentarios en el flujo de trabajo antes de confirmar.
|
||||
Generally you can commit the {% data variables.product.prodname_codeql_workflow %} without making any changes to it. However, many of the third-party workflows require additional configuration, so read the comments in the workflow before committing.
|
||||
|
||||
Para obtener más información, consulta "[Configurar {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)".
|
||||
6. Utiliza el menú desplegable de**Comenzar confirmación**, y teclea un mensaje de confirmación. 
|
||||
7. Escoge si te gustaría confirmar directamente en la rama predeterminada, o crear una nueva rama y comenzar una solicitud de extracción. 
|
||||
8. Da clic en **Confirmar archivo nuevo** o en **Proponer archivo nuevo**.
|
||||
For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)."
|
||||
6. Use the **Start commit** drop-down, and type a commit message.
|
||||

|
||||
7. Choose whether you'd like to commit directly to the default branch, or create a new branch and start a pull request.
|
||||

|
||||
8. Click **Commit new file** or **Propose new file**.
|
||||
|
||||
En el {% data variables.product.prodname_codeql_workflow %} predeterminado, el {% data variables.product.prodname_code_scanning %} se configura para analizar tu código cada vez que ya sea subas un cambio a la rama predeterminada o a cualquier rama protegida, o que levantes una solicitud de cambios contra la rama predeterminada. Como resultado, el {% data variables.product.prodname_code_scanning %} comenzarà ahora.
|
||||
In the default {% data variables.product.prodname_codeql_workflow %}, {% data variables.product.prodname_code_scanning %} is configured to analyze your code each time you either push a change to the default branch or any protected branches, or raise a pull request against the default branch. As a result, {% data variables.product.prodname_code_scanning %} will now commence.
|
||||
|
||||
Los activadores del escaneo de código `on:pull_request` y `on:push` son útiles para propósitos distintos. Para obtener más información, consulta las secciones "[Escanear solicitudes de cambios](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-pull-requests)" y "[Escanear al subir](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)".
|
||||
## Configuración del {% data variables.product.prodname_code_scanning %} por lotes
|
||||
The `on:pull_request` and `on:push` triggers for code scanning are each useful for different purposes. For more information, see "[Scanning pull requests](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-pull-requests)" and "[Scanning on push](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)."
|
||||
## Bulk set up of {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
Puedes configurar el {% data variables.product.prodname_code_scanning %} en muchos repositorios al mismo tiempo utilizando un script. Si te gustaría utilizar un script para levantar solicitudes de cambios que agreguen un flujo de trabajo de {% data variables.product.prodname_actions %} a varios repositorios, consulta el repositorio de [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) para encontrar un ejemplo utilizando Powershell o el de [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement) para los equipos que no tengan Powershell y quieran utilizar NodeJS en su lugar.
|
||||
You can set up {% data variables.product.prodname_code_scanning %} in many repositories at once using a script. If you'd like to use a script to raise pull requests that add a {% data variables.product.prodname_actions %} workflow to multiple repositories, see the [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) repository for an example using PowerShell, or [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement) for teams who do not have PowerShell and instead would like to use NodeJS.
|
||||
|
||||
## Visualizar la salida de registro del {% data variables.product.prodname_code_scanning %}
|
||||
## Viewing the logging output from {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
Después de configurar el {% data variables.product.prodname_code_scanning %} para tu repositorio, puedes observar la salida de las acciones mientras se ejecutan.
|
||||
After setting up {% data variables.product.prodname_code_scanning %} for your repository, you can watch the output of the actions as they run.
|
||||
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
|
||||
Veràs una lista que incluye una entrada para ejecutar el flujo de trabajo del {% data variables.product.prodname_code_scanning %}. El texto de la entrada es el título que le diste a tu mensaje de confirmación.
|
||||
You'll see a list that includes an entry for running the {% data variables.product.prodname_code_scanning %} workflow. The text of the entry is the title you gave your commit message.
|
||||
|
||||

|
||||

|
||||
|
||||
1. Da clic en la entrada para el flujo de trabajo de {% data variables.product.prodname_code_scanning %}.
|
||||
1. Click the entry for the {% data variables.product.prodname_code_scanning %} workflow.
|
||||
|
||||
1. Da clic en el nombre del job situado a la izquierda. Por ejemplo, **Analizar (IDIOMA)**.
|
||||
1. Click the job name on the left. For example, **Analyze (LANGUAGE)**.
|
||||
|
||||

|
||||

|
||||
|
||||
1. Revisa la salida de registro de las acciones en este flujo de trabajo conforme se ejecutan.
|
||||
1. Review the logging output from the actions in this workflow as they run.
|
||||
|
||||
1. Una vez que todos los jobs se completen, puedes ver los detalles de cualquier alerta del {% data variables.product.prodname_code_scanning %} que se hayan identificado. Para obtener más información, consulta la sección "[Administrar las alertas de {% data variables.product.prodname_code_scanning %} para tu repositorio](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)".
|
||||
1. Once all jobs are complete, you can view the details of any {% data variables.product.prodname_code_scanning %} alerts that were identified. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Si levantaste una solicitud de cambios para agregar el flujo de trabajo del {% data variables.product.prodname_code_scanning %} a las alertas del repositorio, las alertas de esa solicitud de cambios no se mostraràn directamente en la pàgina del {% data variables.product.prodname_code_scanning_capc %} hasta que se fusione dicha solicitud. Si se encontrò alguna de las alertas, puedes verlas antes de que se fusione la solicitud de extracciòn dando clic en el enlace de **_n_ alertas encontradas** en el letrero de la pàgina del {% data variables.product.prodname_code_scanning_capc %}.
|
||||
**Note:** If you raised a pull request to add the {% data variables.product.prodname_code_scanning %} workflow to the repository, alerts from that pull request aren't displayed directly on the {% data variables.product.prodname_code_scanning_capc %} page until the pull request is merged. If any alerts were found you can view these, before the pull request is merged, by clicking the **_n_ alerts found** link in the banner on the {% data variables.product.prodname_code_scanning_capc %} page.
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Entender las verificaciones de la solicitud de cambios
|
||||
## Understanding the pull request checks
|
||||
|
||||
Cada flujo de trabajo del {% data variables.product.prodname_code_scanning %} que configuras para que se utilice en las solicitudes de cambios siempre tiene por lo menos dos entradas listadas en la sección de verificaciones de una solicitud de cambios. Solo hay una entrada para cada uno de los jobs de anàlisis en el flujo de trabajo y uno final para los resultados del anàlisis.
|
||||
Each {% data variables.product.prodname_code_scanning %} workflow you set to run on pull requests always has at least two entries listed in the checks section of a pull request. There is one entry for each of the analysis jobs in the workflow, and a final one for the results of the analysis.
|
||||
|
||||
Los nombres de las verificaciones del anàlisis del {% data variables.product.prodname_code_scanning %} se expresan en la forma: "NOMBRE DE LA HERRAMIENTA / NOMBRE DEL JOB (ACTIVADOR)." Por ejemplo, para {% data variables.product.prodname_codeql %}, el anàlisis de còdigo en C++ tiene la entrada "{% data variables.product.prodname_codeql %} / Analyze (cpp) (pull_request)". Puedes dar clic en **Detalles** en una entrada de anàlisis de {% data variables.product.prodname_code_scanning %} para ver los datos de registro. Esto te permite depurar un problema si falla el job de anàlisis. Por ejemplo, para el anàlisis del {% data variables.product.prodname_code_scanning %} de los lenguajes compilados, esto puede suceder si la acciòn no puede compilar el còdigo.
|
||||
The names of the {% data variables.product.prodname_code_scanning %} analysis checks take the form: "TOOL NAME / JOB NAME (TRIGGER)." For example, for {% data variables.product.prodname_codeql %}, analysis of C++ code has the entry "{% data variables.product.prodname_codeql %} / Analyze (cpp) (pull_request)." You can click **Details** on a {% data variables.product.prodname_code_scanning %} analysis entry to see logging data. This allows you to debug a problem if the analysis job failed. For example, for {% data variables.product.prodname_code_scanning %} analysis of compiled languages, this can happen if the action can't build the code.
|
||||
|
||||

|
||||

|
||||
|
||||
Cuando se completan los jobs del {% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_dotcom %} averigua si la solicitud de cambios agregò alguna alerta y agrega la entrada "resultados del {% data variables.product.prodname_code_scanning_capc %} / NOMBRE DE LA HERRAMIENTA" a la lista de verificaciones. Despuès de que se lleve a cabo el {% data variables.product.prodname_code_scanning %} por lo menos una vez, puedes dar clic en **Detalles** para ver los resultados del anàlisis. Si utilizaste una solicitud de cambios para agregar el {% data variables.product.prodname_code_scanning %} al repositorio, inicialmente verás un mensaje de {% ifversion fpt or ghes > 3.2 or ghae-issue-3891 or ghec %} "Analysis not found"{% else %} "Missing analysis"{% endif %} cuando haces clic en **Detalles** en la verificación de "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME".
|
||||
When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion fpt or ghes > 3.2 or ghae-issue-3891 or ghec %}an "Analysis not found"{% else %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check.
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-3891 or ghec %}
|
||||

|
||||

|
||||
|
||||
La tabla lista una o más categorías. Cada categoría se relaciona con análisis específicos, para la misma herramienta y confirmación, que se realizan en un lenguaje o parte del código diferentes. En cada categoría, la tabla muestra los dos análisis que {% data variables.product.prodname_code_scanning %} intentó comparar para determinar qué alertas se introdujeron o corrigieron en la solicitud de cambios.
|
||||
The table lists one or more categories. Each category relates to specific analyses, for the same tool and commit, performed on a different language or a different part of the code. For each category, the table shows the two analyses that {% data variables.product.prodname_code_scanning %} attempted to compare to determine which alerts were introduced or fixed in the pull request.
|
||||
|
||||
Por ejemplo, en la captura de pantalla anterior, el {% data variables.product.prodname_code_scanning %} encontró un análisis para la confirmación de fusión de la solicitud de cambios, pero no encontró ningún análisis para el encabezado de la rama principal.
|
||||
For example, in the screenshot above, {% data variables.product.prodname_code_scanning %} found an analysis for the merge commit of the pull request, but no analysis for the head of the main branch.
|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-3891 or ghec %}
|
||||
### Razones para obtener el mensaje "Analysis not found"
|
||||
### Reasons for the "Analysis not found" message
|
||||
{% else %}
|
||||
### Razones para obtener el mensaje "Missing analysis"
|
||||
### Reasons for the "Missing analysis" message
|
||||
{% endif %}
|
||||
|
||||
Despuès de que el {% data variables.product.prodname_code_scanning %} analiza el còdigo en una solicitud de cambios, necesita comparar el anàlisis de la rama de tema (la rama que utilizaste para crear la silicolicitud de cambios) con el anàlisis de la rama base (la rama en la cual quieres fusionar la solicitud de cambios). Esto permite al {% data variables.product.prodname_code_scanning %} calcular què alertas introdujo la solicitud de cambios recientemente, cuàles ya estaban presentes en la rama base y si es que cualquiera de las alertas existentes se arreglan con los cambios que lleva la solicitud. Inicialmente, si utilizas una solicitud de cambios para agregar el {% data variables.product.prodname_code_scanning %} a un repositorio, la rama base no se ha analizado, asì que no es posible calcular estos detalles. En este caso, cuando haces clic desde la verificación de resultados en la solicitud de cambios, verás el mensaje {% ifversion fpt or ghes > 3.2 or ghae-issue-3891 or ghec %}"Analysis not found"{% else %}"Missing analysis for base commit SHA-HASH"{% endif %}.
|
||||
After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion fpt or ghes > 3.2 or ghae-issue-3891 or ghec %}"Analysis not found"{% else %}"Missing analysis for base commit SHA-HASH"{% endif %} message.
|
||||
|
||||
Existen otras situaciones en donde puede que no haya un anàlisis para la ùltima confirmaciòn hacia la rama base para una solicitud de cambios. Entre estas se incluyen cuando:
|
||||
There are other situations where there may be no analysis for the latest commit to the base branch for a pull request. These include:
|
||||
|
||||
* La solicitud de cambios se levantó contra una rama diferente a la predeterminada y ésta no se ha analizado.
|
||||
* The pull request has been raised against a branch other than the default branch, and this branch hasn't been analyzed.
|
||||
|
||||
Para verificar si se ha escaneado una rama, ve a la pàgina de {% data variables.product.prodname_code_scanning_capc %}, da clic en el menù desplegable de **Rama** y selecciona la rama relevante.
|
||||
To check whether a branch has been scanned, go to the {% data variables.product.prodname_code_scanning_capc %} page, click the **Branch** drop-down and select the relevant branch.
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}
|
||||

|
||||

|
||||
{% else %}
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
La soluciòn a esta situaciòn es agregar el nombre de esta rama base a las especificaciones de `on:push` y `on:pull_request` en el flujo de trabajo del {% data variables.product.prodname_code_scanning %} en esta rama y luego hacer un cambio que actualice la solicitud de cambios abierta que quieres escanear.
|
||||
The solution in this situation is to add the name of the base branch to the `on:push` and `on:pull_request` specification in the {% data variables.product.prodname_code_scanning %} workflow on that branch and then make a change that updates the open pull request that you want to scan.
|
||||
|
||||
* La ùltima confirmaciòn en la rama base para la solicitud de cambios se està analizando actualmente y dicho anàlisis no està disponible aùn.
|
||||
* The latest commit on the base branch for the pull request is currently being analyzed and analysis is not yet available.
|
||||
|
||||
Espera algunos minutos y luego sube un cambio a la solicitud de extracciòn para reactivar el {% data variables.product.prodname_code_scanning %}.
|
||||
Wait a few minutes and then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}.
|
||||
|
||||
* Ocurriò un error mientras se analizaba la ùltima confirmaciòn en la rama base y el anàlisis para esa confirmaciòn no està disponible.
|
||||
* An error occurred while analyzing the latest commit on the base branch and analysis for that commit isn't available.
|
||||
|
||||
Fusiona un cambio trivial en la rama base para activar el {% data variables.product.prodname_code_scanning %} en esta ùltima confirmaciòn, luego sube un cambio a la solicitud de extracciòn para volver a activar el {% data variables.product.prodname_code_scanning %}.
|
||||
Merge a trivial change into the base branch to trigger {% data variables.product.prodname_code_scanning %} on this latest commit, then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}.
|
||||
|
||||
## Pasos siguientes
|
||||
## Next steps
|
||||
|
||||
Después de configurar el {% data variables.product.prodname_code_scanning %} y permitir que se completen sus acciones, puedes:
|
||||
After setting up {% data variables.product.prodname_code_scanning %}, and allowing its actions to complete, you can:
|
||||
|
||||
- Ver todas las alertas del {% data variables.product.prodname_code_scanning %} que se han generado para este repositorio. Para obtener más información, consulta la sección "[Administrar las alertas de {% data variables.product.prodname_code_scanning %} para tu repositorio](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)".
|
||||
- Ver cualquier alerta que se genere para una solicitud de cambios que se emitió después de que configuraste el {% data variables.product.prodname_code_scanning %}. Para obtener màs informaciònPara obtener más información, consulta la sección "[Clasificar las alertas del {% data variables.product.prodname_code_scanning %} en las solicitudes de extracción](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)".
|
||||
- Configurar las notificaciones para las ejecuciones que se hayan completado. Para obtener más información, consulta la sección "[Configurar notificaciones](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)".
|
||||
- Visualizar las bitácoras que generó el análisis del {% data variables.product.prodname_code_scanning %}. Para obtener más información, 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)".
|
||||
- Investigar cualquier problema que ocurre con la configuración inicial del {% data variables.product.prodname_code_scanning %} de {% data variables.product.prodname_codeql %}. Para obtener más información, consulta la sección "[Solucionar problemas del flujo de trabajo de {% data variables.product.prodname_codeql %}](/code-security/secure-coding/troubleshooting-the-codeql-workflow)".
|
||||
- Personaliza cómo el {% data variables.product.prodname_code_scanning %} escanea el código en tu repositorio. Para obtener más información, consulta "[Configurar {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)".
|
||||
- View all of the {% data variables.product.prodname_code_scanning %} alerts generated for this repository. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)."
|
||||
- View any alerts generated for a pull request submitted after you set up {% data variables.product.prodname_code_scanning %}. 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)."
|
||||
- Set up notifications for completed runs. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)."
|
||||
- View the logs generated by the {% data variables.product.prodname_code_scanning %} analysis. For more information, 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)."
|
||||
- Investigate any problems that occur with the initial setup of {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}. For more information, see "[Troubleshooting the {% data variables.product.prodname_codeql %} workflow](/code-security/secure-coding/troubleshooting-the-codeql-workflow)."
|
||||
- Customize how {% data variables.product.prodname_code_scanning %} scans the code in your repository. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Clasificar las alertas del escaneo de código en las solicitudes de cambios
|
||||
shortTitle: Clasificar las alertas en las solicitudes de cambio
|
||||
intro: 'Cuando el {% data variables.product.prodname_code_scanning %} identifica un problema en una solicitud de extracción, puedes revisar el código que se ha resaltado y resolver la alerta.'
|
||||
title: Triaging code scanning alerts in pull requests
|
||||
shortTitle: Triage alerts in pull requests
|
||||
intro: 'When {% data variables.product.prodname_code_scanning %} identifies a problem in a pull request, you can review the highlighted code and resolve the alert.'
|
||||
product: '{% data reusables.gated-features.code-scanning %}'
|
||||
permissions: 'If you have read permission for a repository, you can see annotations on pull requests. With write permission, you can see detailed information and resolve {% data variables.product.prodname_code_scanning %} alerts for that repository.'
|
||||
redirect_from:
|
||||
@@ -21,76 +21,75 @@ topics:
|
||||
- Alerts
|
||||
- Repositories
|
||||
---
|
||||
|
||||
<!--For this article in earlier GHES versions, see /content/github/finding-security-vulnerabilities-and-errors-in-your-code-->
|
||||
|
||||
{% data reusables.code-scanning.beta %}
|
||||
|
||||
## Acerca de los resultados del {% data variables.product.prodname_code_scanning %} en las solicitudes de cambios
|
||||
## About {% data variables.product.prodname_code_scanning %} results on pull requests
|
||||
|
||||
En los repositorios donde se configura el {% data variables.product.prodname_code_scanning %} como una verificación de solicitudes de cambios, éste verificará el código en dicha solicitud. Predeterminadamente, esto se limita a solicitudes de cambios que apuntan a la rama predeterminada, pero puedes cambiar esta configuración dentro de {% data variables.product.prodname_actions %} o en un sistema de IC/EC de terceros. Si el fusionar los cambios puede introducir alertas nuevas de {% data variables.product.prodname_code_scanning %} a la rama destino, éstas se reportarán como resultados de verificación en la solicitud de cambios. Las alertas también se muestran como anotaciones en la pestaña de **Archivos que cambiaron** de la solicitud de cambios. Si tienes permisos de escritura para el repositorio, puedes ver cualquier alerta del {% data variables.product.prodname_code_scanning %} existente en la pestaña de **Seguridad**. Para obtener más información sobre las alertas de los repositorios, consulta la sección "[Administrar las alertas del {% data variables.product.prodname_code_scanning %} para tu repositorio](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)".
|
||||
In repositories where {% data variables.product.prodname_code_scanning %} is configured as a pull request check, {% data variables.product.prodname_code_scanning %} checks the code in the pull request. By default, this is limited to pull requests that target the default branch, but you can change this configuration within {% data variables.product.prodname_actions %} or in a third-party CI/CD system. If merging the changes would introduce new {% data variables.product.prodname_code_scanning %} alerts to the target branch, these are reported as check results in the pull request. The alerts are also shown as annotations in the **Files changed** tab of the pull request. If you have write permission for the repository, you can see any existing {% data variables.product.prodname_code_scanning %} alerts on the **Security** tab. For information about repository alerts, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)."
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-5093 or ghec %}
|
||||
In repositories where {% data variables.product.prodname_code_scanning %} is configured to scan each time code is pushed, {% data variables.product.prodname_code_scanning %} will also map the results to any open pull requests and add the alerts as annotations in the same places as other pull request checks. For more information, see "[Scanning on push](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)."
|
||||
{% endif %}
|
||||
|
||||
Si tu solicitud de cambios apunta a una rama protegida que utiliza el {% data variables.product.prodname_code_scanning %} y el propietario del repositorio configuró las verificaciones de estado requeridas, entonces la verificación de los "resultados del {% data variables.product.prodname_code_scanning_capc %}" debe pasar antes de que puedas fusionar la solicitud de cambios. Para obtener más información, consulta"[Acerca de las ramas protegidas](/github/administering-a-repository/about-protected-branches#require-status-checks-before-merging)".
|
||||
If your pull request targets a protected branch that uses {% data variables.product.prodname_code_scanning %}, and the repository owner has configured required status checks, then the "{% data variables.product.prodname_code_scanning_capc %} results" check must pass before you can merge the pull request. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-status-checks-before-merging)."
|
||||
|
||||
## Acerca del {% data variables.product.prodname_code_scanning %} como una verificación de solicitudes de cambio
|
||||
## About {% data variables.product.prodname_code_scanning %} as a pull request check
|
||||
|
||||
Hay muchas opciones para configurar el {% data variables.product.prodname_code_scanning %} como una verificación de solicitudes de cambio, así que la configuración de cada repositorio variará y algunas tendrán más de una verificación.
|
||||
There are many options for configuring {% data variables.product.prodname_code_scanning %} as a pull request check, so the exact setup of each repository will vary and some will have more than one check.
|
||||
|
||||
### Verificación de resultados de {% data variables.product.prodname_code_scanning_capc %}
|
||||
### {% data variables.product.prodname_code_scanning_capc %} results check
|
||||
|
||||
Para todas las configuraciones del {% data variables.product.prodname_code_scanning %}, la verificación que contiene los resultados del {% data variables.product.prodname_code_scanning %} es: **resultados de {% data variables.product.prodname_code_scanning_capc %}**. Los resultados para cada herramienta de análisis se muestran por separado. Cualquier alerta nueva que ocasionen los cambios en la solicitud de cambios se muestran como anotaciones.
|
||||
For all configurations of {% data variables.product.prodname_code_scanning %}, the check that contains the results of {% data variables.product.prodname_code_scanning %} is: **{% data variables.product.prodname_code_scanning_capc %} results**. The results for each analysis tool used are shown separately. Any new alerts caused by changes in the pull request are shown as annotations.
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-4902 or ghec %} Para ver el conjunto de alertas completo de la rama analizada, haz clic en **Ver todas las alertas de rama**. Esto abre la vista completa de alertas en donde puedes filtrar todas las de la rama por tipo, gravedad, etiqueta, etc. Para obtener más información, consulta la sección "[Administrar las alertas del escaneo de código para tu repositorio](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#filtering-and-searching-for-code-scanning-alerts)".
|
||||
{% ifversion fpt or ghes > 3.2 or ghae-issue-4902 or ghec %} To see the full set of alerts for the analyzed branch, click **View all branch alerts**. This opens the full alert view where you can filter all the alerts on the branch by type, severity, tag, etc. For more information, see "[Managing code scanning alerts for your repository](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#filtering-and-searching-for-code-scanning-alerts)."
|
||||
|
||||

|
||||

|
||||
{% endif %}
|
||||
|
||||
### Fallos de verificación de resultados de {% data variables.product.prodname_code_scanning_capc %}
|
||||
### {% data variables.product.prodname_code_scanning_capc %} results check failures
|
||||
|
||||
Si la verificación de los resultados del {% data variables.product.prodname_code_scanning %} encuentra cualquier problema con una gravedad de `error`{% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %}, `critical`, o `high`,{% endif %} la verificación fallará y el error se reportará en los resultados de verificación. Si todos los resultados que encontró el {% data variables.product.prodname_code_scanning %} tienen gravedades menores, las alertas se tratarán como advertencias o notas y la verificación tendrá éxito.
|
||||
If the {% data variables.product.prodname_code_scanning %} results check finds any problems with a severity of `error`{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}, `critical`, or `high`,{% endif %} the check fails and the error is reported in the check results. If all the results found by {% data variables.product.prodname_code_scanning %} have lower severities, the alerts are treated as warnings or notes and the check succeeds.
|
||||
|
||||

|
||||

|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}Puedes anular el comportamiento predeterminado de los ajustes de tu repositorio si especificas el nivel de gravedad {% ifversion fpt or ghes > 3.1 or ghae-issue-4697 or ghec %} y las gravedades de seguridad {% endif %} que ocasionarán el fallo de una verificación de solicitud de cambios. Para obtener más información, consulta la sección "[Definir las gravedades que ocasionan un fallo en la verificación de las solicitudes de cambios](/code-security/secure-coding/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)".
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}You can override the default behavior in your repository settings, by specifying the level of severities {% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}and security severities {% endif %}that will cause a pull request check failure. For more information, see "[Defining the severities causing pull request check failure](/code-security/secure-coding/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)".
|
||||
{% endif %}
|
||||
|
||||
### Otras verificaciones del {% data variables.product.prodname_code_scanning %}
|
||||
### Other {% data variables.product.prodname_code_scanning %} checks
|
||||
|
||||
Dependiendo de tu configuración, podrías ver verificaciones adicionales ejecutándose en las solicitudes de cambios con el {% data variables.product.prodname_code_scanning %} configurado. A menudo, estos son flujos de trabajo que analizan el código o que cargan resultados del {% data variables.product.prodname_code_scanning %}. Estas verificaciones son útiles para solucionar problemas cuando el análisis los presenta.
|
||||
Depending on your configuration, you may see additional checks running on pull requests with {% data variables.product.prodname_code_scanning %} configured. These are usually workflows that analyze the code or that upload {% data variables.product.prodname_code_scanning %} results. These checks are useful for troubleshooting when there are problems with the analysis.
|
||||
|
||||
Por ejemplo, si el repositorio utiliza el {% data variables.product.prodname_codeql_workflow %}, se ejecutará una verificación de **{% data variables.product.prodname_codeql %} / Analyze (LANGUAGE)** para cada lenguaje antes de que se ejecute la verificación de resultados. La verificación del análisis podría fallar si existieran problemas de configuración o si la solicitud de cambios impide la compilación para un lenguaje que el análisis necesita compilar (por ejemplo, C/C++, C# o Java).
|
||||
For example, if the repository uses the {% data variables.product.prodname_codeql_workflow %} a **{% data variables.product.prodname_codeql %} / Analyze (LANGUAGE)** check is run for each language before the results check runs. The analysis check may fail if there are configuration problems, or if the pull request breaks the build for a language that the analysis needs to compile (for example, C/C++, C#, or Java).
|
||||
|
||||
Así como con otras verificaciones de solicitudes de cambios, puedes ver todos los detalles de la falla de la verificación en la pestaña de **Verificaciones**. Para obtener más información acerca de la configuración y la soución de problemas, consulta la sección "[Configurar el {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" o "[Solucionar problemas del flujo de trabajo de {% data variables.product.prodname_codeql %}](/code-security/secure-coding/troubleshooting-the-codeql-workflow)".
|
||||
As with other pull request checks, you can see full details of the check failure on the **Checks** tab. For more information about configuring and troubleshooting, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" or "[Troubleshooting the {% data variables.product.prodname_codeql %} workflow](/code-security/secure-coding/troubleshooting-the-codeql-workflow)."
|
||||
|
||||
## Visualizar una alerta en tu solicitud de cambios
|
||||
## Viewing an alert on your pull request
|
||||
|
||||
Puedes ver cualquier alerta del {% data variables.product.prodname_code_scanning %} que se haya introducido en una solicitud de cambios si muestras la pestaña de **Archivos que cambiaron**. Cada alerta se muestra como una anotación en las líneas de código que la activaron. La gravedad de la alerta se muestra en la anotación.
|
||||
You can see any {% data variables.product.prodname_code_scanning %} alerts introduced in a pull request by displaying the **Files changed** tab. Each alert is shown as an annotation on the lines of code that triggered the alert. The severity of the alert is displayed in the annotation.
|
||||
|
||||

|
||||

|
||||
|
||||
Si tienes permisos de escritura para el repositorio, algunas anotaciones contendrán enlaces con un contexto adicional de la alerta. En el ejemplo anterior del análisis de {% data variables.product.prodname_codeql %}, puedes dar clic en **valor proporcionado por el usuario** para ver en dónde ingresarían los datos no confiables dentro del flujo de datos (a esto se le conoce como la fuente). En este caso, también puedes ver la ruta completa desde la fuente hasta el código que utiliza los datos (el consumidor de datos) dando clic en **Mostrar rutas**. Esto facilita la revisión, ya sea que los datos no sean confiables o que el análisis falle en reconocer un paso de sanitización de datos entre la fuente y el consumidor de datos. Para obtener información sobre cómo analizar el flujo de datos utilizando {% data variables.product.prodname_codeql %}, consulta la sección "[Acerca del análisis de flujo de datos](https://codeql.github.com/docs/writing-codeql-queries/about-data-flow-analysis/)".
|
||||
If you have write permission for the repository, some annotations contain links with extra context for the alert. In the example above, from {% data variables.product.prodname_codeql %} analysis, you can click **user-provided value** to see where the untrusted data enters the data flow (this is referred to as the source). In this case you can also view the full path from the source to the code that uses the data (the sink) by clicking **Show paths**. This makes it easy to check whether the data is untrusted or if the analysis failed to recognize a data sanitization step between the source and the sink. For information about analyzing data flow using {% data variables.product.prodname_codeql %}, see "[About data flow analysis](https://codeql.github.com/docs/writing-codeql-queries/about-data-flow-analysis/)."
|
||||
|
||||
Para ver más información sobre una alerta, los usuarios con permisos de escritura pueden dar clic en el enlace de **Mostrar más detalles** que se muestra en la anotación. Esto te permite ver todo el contexto y los metadatos que proporciona la herramienta en una vista de alertas. En el siguiente ejemplo, puedes ver que las etiquetas muestran la severidad, tipo y las enumeraciones de los puntos débiles comunes (los CWE) del problema. La vista también muestra qué confirmación introdujo el problema.
|
||||
To see more information about an alert, users with write permission can click the **Show more details** link shown in the annotation. This allows you to see all of the context and metadata provided by the tool in an alert view. In the example below, you can see tags showing the severity, type, and relevant common weakness enumerations (CWEs) for the problem. The view also shows which commit introduced the problem.
|
||||
|
||||
En la vista detallada de una alerta, algunas herramientas del {% data variables.product.prodname_code_scanning %}, como el análisis de {% data variables.product.prodname_codeql %}, también incluyen una descripción del problema y un enlace de **Mostrar más** para orientarte sobre cómo arreglar tu código.
|
||||
In the detailed view for an alert, some {% data variables.product.prodname_code_scanning %} tools, like {% data variables.product.prodname_codeql %} analysis, also include a description of the problem and a **Show more** link for guidance on how to fix your code.
|
||||
|
||||

|
||||

|
||||
|
||||
## Arreglar una alerta en tu solicitud de cambios
|
||||
## Fixing an alert on your pull request
|
||||
|
||||
Cualquiera con acceso de subida a una solicitud de cambios puede arreglar una alerta del {% data variables.product.prodname_code_scanning %}, la cual se identifique en dicha solicitud. Si confirmas cambios en la solicitud de extracción, esto activará una ejecución nueva de las verificaciones de dicha solicitud. Si tus cambios arreglan el problema, la alerta se cierra y la anotación se elimina.
|
||||
Anyone with push access to a pull request can fix a {% data variables.product.prodname_code_scanning %} alert that's identified on that pull request. If you commit changes to the pull request this triggers a new run of the pull request checks. If your changes fix the problem, the alert is closed and the annotation removed.
|
||||
|
||||
## Descartar una alerta en tu solicitud de cambios
|
||||
## Dismissing an alert on your pull request
|
||||
|
||||
Una forma alterna de cerrar una alerta es descartarla. Puedes descartar una alerta si no crees que necesite arreglarse. {% data reusables.code-scanning.close-alert-examples %} Si tienes permisos de escritura en el repositorio, el botón de **Descartar** está disponible en las anotaciones de código y en el resumen de alertas. Cuando das clic en **Descartar** se te pedirá elegir una razón para cerrar la alerta.
|
||||
An alternative way of closing an alert is to dismiss it. You can dismiss an alert if you don't think it needs to be fixed. {% data reusables.code-scanning.close-alert-examples %} If you have write permission for the repository, the **Dismiss** button is available in code annotations and in the alerts summary. When you click **Dismiss** you will be prompted to choose a reason for closing the alert.
|
||||
|
||||

|
||||

|
||||
|
||||
{% data reusables.code-scanning.choose-alert-dismissal-reason %}
|
||||
|
||||
{% data reusables.code-scanning.false-positive-fix-codeql %}
|
||||
|
||||
Para obtener más información acerca de descartar alertas, consulta la sección "[Administrar alertas del {% data variables.product.prodname_code_scanning %} para tu repositorio](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#dismissing-or-deleting-alerts)".
|
||||
For more information about dismissing alerts, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#dismissing-or-deleting-alerts)."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Características de seguridad de GitHub
|
||||
intro: 'Un resumen de las características de seguridad de {% data variables.product.prodname_dotcom %}.'
|
||||
title: GitHub security features
|
||||
intro: 'An overview of {% data variables.product.prodname_dotcom %} security features.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
@@ -14,72 +14,76 @@ topics:
|
||||
- Advanced Security
|
||||
---
|
||||
|
||||
## Acerca de las característicfas de seguridad de {% data variables.product.prodname_dotcom %}
|
||||
## About {% data variables.product.prodname_dotcom %}'s security features
|
||||
|
||||
{% data variables.product.prodname_dotcom %} tiene características de seguridad que ayudan a mantener seguros el código y los secretos en los repositorios y a través de las organizaciones. Algunas características están disponibles para todos los repositorios y otras solo están disponibles {% ifversion fpt or ghec %}para repositorios públicos y para aquellos{% endif %}con una licencia de {% data variables.product.prodname_GH_advanced_security %}.
|
||||
{% data variables.product.prodname_dotcom %} has security features that help keep code and secrets secure in repositories and across organizations. Some features are available for all repositories and others are only available {% ifversion fpt or ghec %}for public repositories and for repositories {% endif %}with a {% data variables.product.prodname_GH_advanced_security %} license.
|
||||
|
||||
La {% data variables.product.prodname_advisory_database %} contiene una lista organizada de vulnerabilidades de seguridad que puedes ver, buscar y filtrar. {% data reusables.security-advisory.link-browsing-advisory-db %}
|
||||
The {% data variables.product.prodname_advisory_database %} contains a curated list of security vulnerabilities that you can view, search, and filter. {% data reusables.security-advisory.link-browsing-advisory-db %}
|
||||
|
||||
{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
## Disponible para todos los repositorios
|
||||
## Available for all repositories
|
||||
{% endif %}
|
||||
{% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}
|
||||
### Política de seguridad
|
||||
|
||||
Facilítale a tus usuarios el poder reportar de forma confidencial las vulnerabilidades de seguridad que hayan encontrado en tu repositorio. Para obtener más información, consulta "[Aumentar la seguridad para tu repositorio](/code-security/getting-started/adding-a-security-policy-to-your-repository)".
|
||||
### Security policy
|
||||
|
||||
Make it easy for your users to confidentially report security vulnerabilities they've found in your repository. For more information, see "[Adding a security policy to your repository](/code-security/getting-started/adding-a-security-policy-to-your-repository)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
### Asesorías de seguridad
|
||||
### Security advisories
|
||||
|
||||
Debate en privado y arregla las vulnerabilidades de seguridad en el código de tu repositorio. Entonces podrás publicar una asesoría de seguridad para alertar a tu comunidad sobre la vulnerabilidad y exhortar a sus miembros a hacer la actualización correspondiente. Para obtener más información, consulta la sección "[Acerca de{% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)".
|
||||
Privately discuss and fix security vulnerabilities in your repository's code. You can then publish a security advisory to alert your community to the vulnerability and encourage community members to upgrade. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)."
|
||||
|
||||
### {% data variables.product.prodname_dependabot_alerts %} y actualizaciones de seguridad
|
||||
{% endif %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
|
||||
Ver alertas acerca de las dependencias de las cuales se sabe contienen vulnerabilidades de seguridad y elige si se generarán automáticamente las solicitudes de extracción para actualizar dichas dependencias. Para obtener más información, consulta la sección "[Acerca de las alertas para las dependencias vulnerables](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)" y "[Acerca de las {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)".
|
||||
### {% data variables.product.prodname_dependabot_alerts %} and security updates
|
||||
|
||||
View alerts about dependencies that are known to contain security vulnerabilities, and choose whether to have pull requests generated automatically to update these dependencies. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)"
|
||||
and "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes or ghae-issue-4864 %}
|
||||
{% ifversion ghes < 3.3 or ghae-issue-4864 %}
|
||||
### {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
{% data reusables.dependabot.dependabot-alerts-beta %}
|
||||
|
||||
Visualiza las alertas sobre las dependencias de las cuales se conoce que contienen vulnerabilidades de seguridad y adminístralas. Para obtener más información, consulta la sección "[Acerca de las alertas para las dependencias vulnerables](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)".
|
||||
View alerts about dependencies that are known to contain security vulnerabilities, and manage these alerts. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
### Las actualizaciones de versión del {% data variables.product.prodname_dependabot %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
### {% data variables.product.prodname_dependabot %} version updates
|
||||
|
||||
Utilizan al {% data variables.product.prodname_dependabot %} para levantar las solicitudes de cambios automáticamente para mantener tus dependencias actualizadas. Esto te ayuda a reducir tu exposición a las versiones anteriores de las dependencias. El utilizar versiones más nuevas facilita aún más la aplicación de parches si se descubren las vulnerabilidades de seguridad, y también facilita que las {% data variables.product.prodname_dependabot_security_updates %} levante las solicitudes de cambios exitosamente para mejorar las dependencias vulnerables. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)".
|
||||
Use {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. This helps reduce your exposure to older versions of dependencies. Using newer versions makes it easier to apply patches if security vulnerabilities are discovered, and also makes it easier for {% data variables.product.prodname_dependabot_security_updates %} to successfully raise pull requests to upgrade vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
### Gráfica de dependencias
|
||||
La gráfica de dependencias te permite explorar los ecosistemas y paquetes de los cuales depende tu repositorio y los repositorios y paquetes que dependen de tu repositorio.
|
||||
### Dependency graph
|
||||
The dependency graph allows you to explore the ecosystems and packages that your repository depends on and the repositories and packages that depend on your repository.
|
||||
|
||||
Puedes encontrar la gráfica de dependencias en lapestaña de **Perspectivas** para tu repositorio. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)".
|
||||
You can find the dependency graph on the **Insights** tab for your repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."
|
||||
{% endif %}
|
||||
|
||||
## Disponible {% ifversion fpt or ghec %}para los repositorios públicos y para aquellos {% endif %}con {% data variables.product.prodname_advanced_security %}
|
||||
## Available {% ifversion fpt or ghec %}for public repositories and for repositories {% endif %}with {% data variables.product.prodname_advanced_security %}
|
||||
|
||||
{% ifversion fpt or ghes or ghec %}
|
||||
Estas características están disponibles {% ifversion fpt or ghec %}para todos los repositorios públicos y para los repositorios privados que pertenezcan a las organizaciones con {% else %}si tienes {% endif %}una licencia de {% data variables.product.prodname_advanced_security %}. {% data reusables.advanced-security.more-info-ghas %}
|
||||
These features are available {% ifversion fpt or ghec %}for all public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %}
|
||||
{% endif %}
|
||||
|
||||
### Alertas de {% data variables.product.prodname_code_scanning_capc %}
|
||||
### {% data variables.product.prodname_code_scanning_capc %} alerts
|
||||
|
||||
Detecta automáticamente las vulnerabilidades de seguridad y los errores de código en el código nuevo o modificado. Se resaltan los problemas potenciales, con información detallada, lo cual te permite arreglar el código antes de que se fusione en tu rama predeterminada. Para obtener más información, consulta la sección "[Acerca del escaneo de código"](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning).
|
||||
Automatically detect security vulnerabilities and coding errors in new or modified code. Potential problems are highlighted, with detailed information, allowing you to fix the code before it's merged into your default branch. For more information, see "[About code scanning](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning)."
|
||||
|
||||
### alertas del {% data variables.product.prodname_secret_scanning_caps %}
|
||||
### {% data variables.product.prodname_secret_scanning_caps %} alerts
|
||||
|
||||
{% ifversion fpt or ghec %}Para los repositorios privados, ve {% else %}Ve {% endif %}cualquier secreto que {% data variables.product.prodname_dotcom %} haya encontrado en tu código. Deberías tratar a los tokens o las credenciales que se hayan registrado en tu repositorio como puestos en riesgo. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning).
|
||||
{% ifversion fpt or ghec %}For private repositories, view {% else %}View {% endif %}any secrets that {% data variables.product.prodname_dotcom %} has found in your code. You should treat tokens or credentials that have been checked into the repository as compromised. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-issue-4864 or ghec %}
|
||||
### Revisión de dependencias
|
||||
### Dependency review
|
||||
|
||||
Muestra el impacto total de los cambios a las dependencias y ve los detalles de cualquier versión vulnerable antes de que fusiones una solicitud de cambios. Para obtener más información, consulta la sección "[Acerca de la revisión de dependencias](/code-security/supply-chain-security/about-dependency-review)".
|
||||
Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)."
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
- "[Productos de {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/githubs-products)"
|
||||
- "[soporte de idiomas de {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/github-language-support)"
|
||||
## Further reading
|
||||
- "[{% data variables.product.prodname_dotcom %}'s products](/github/getting-started-with-github/githubs-products)"
|
||||
- "[{% data variables.product.prodname_dotcom %} language support](/github/getting-started-with-github/github-language-support)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Asegurar tu organización
|
||||
intro: 'Puedes utilizar varias características de {% data variables.product.prodname_dotcom %} para ayudar a mantener tu organización segura.'
|
||||
title: Securing your organization
|
||||
intro: 'You can use a number of {% data variables.product.prodname_dotcom %} features to help keep your organization secure.'
|
||||
permissions: Organization owners can configure organization security settings.
|
||||
versions:
|
||||
fpt: '*'
|
||||
@@ -13,112 +13,112 @@ topics:
|
||||
- Dependencies
|
||||
- Vulnerabilities
|
||||
- Advanced Security
|
||||
shortTitle: Asegurar tu organización
|
||||
shortTitle: Secure your organization
|
||||
---
|
||||
|
||||
## Introducción
|
||||
Esta guía te muestra cómo configurar las características de seguridad para una organización. Las necesidades de seguridad de tu organización son únicas y puede que no necesites habilitar cada una de las características de seguridad. Para obtener más información, consulta la sección "[Características de seguridad de {% data variables.product.prodname_dotcom %}](/code-security/getting-started/github-security-features)".
|
||||
## Introduction
|
||||
This guide shows you how to configure security features for an organization. Your organization's security needs are unique and you may not need to enable every security feature. For more information, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)."
|
||||
|
||||
Some security features are only available {% ifversion fpt or ghec %}for public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %}
|
||||
|
||||
## Administrar el acceso a tu organización
|
||||
## Managing access to your organization
|
||||
|
||||
You can use roles to control what actions people can take in your organization. {% if security-managers %}For example, you can assign the security manager role to a team to give them the ability to manage security settings across your organization, as well as read access to all repositories.{% endif %} For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}
|
||||
{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
|
||||
## Crear una política de seguridad predeterminada
|
||||
## Creating a default security policy
|
||||
|
||||
Puedes crear una política de seguridad predeterminada que se mostrará en cualquier repositorio público de tu organización que no tenga su propia política de seguridad. Para obtener más información, consulta "[Crear un archivo de salud predeterminado para la comunidad](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)."
|
||||
You can create a default security policy that will display in any of your organization's public repositories that do not have their own security policy. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 2.22 or ghae-issue-4864 or ghec %}
|
||||
## Administrar las {% data variables.product.prodname_dependabot_alerts %} y la gráfica de dependencias
|
||||
## Managing {% data variables.product.prodname_dependabot_alerts %} and the dependency graph
|
||||
|
||||
{% ifversion fpt or ghec %}By default, {% data variables.product.prodname_dotcom %} detects vulnerabilities in public repositories and generates {% data variables.product.prodname_dependabot_alerts %} and a dependency graph. Puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} y la gráfica de dependencias para todos los repositorios privados que pertenezcan a tu organización.
|
||||
{% ifversion fpt or ghec %}By default, {% data variables.product.prodname_dotcom %} detects vulnerabilities in public repositories and generates {% data variables.product.prodname_dependabot_alerts %} and a dependency graph. You can enable or disable {% data variables.product.prodname_dependabot_alerts %} and the dependency graph for all private repositories owned by your organization.
|
||||
|
||||
1. Haz clic en tu foto de perfil y luego en **Organizaciones**.
|
||||
2. Haz clic en **Configuración** junto a tu organización.
|
||||
3. Haz clic en **Análisis & seguridad**.
|
||||
4. Haz clic en **Habilitar todo** o en **Inhabilitar todo** junto a la característica que quieras administrar.
|
||||
5. Opcionalmente, selecciona **Habilitar automáticamente para los repositorios nuevos**.
|
||||
1. Click your profile photo, then click **Organizations**.
|
||||
2. Click **Settings** next to your organization.
|
||||
3. Click **Security & analysis**.
|
||||
4. Click **Enable all** or **Disable all** next to the feature that you want to manage.
|
||||
5. Optionally, select **Automatically enable for new repositories**.
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.dependabot.dependabot-alerts-beta %}
|
||||
{% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %}
|
||||
|
||||
Para obtener más información, consulta las secciones "[Acerca de las alertas para las dependencias vulnerables](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)," "[Explorar las dependencias de un repositorio](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)," y "[Administrar la configuración de seguridad y análisis para tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)".
|
||||
For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)," "[Exploring the dependencies of a repository](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)," and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-issue-4864 or ghec %}
|
||||
|
||||
## Administrar la revisión de dependencias
|
||||
## Managing dependency review
|
||||
|
||||
La revisión de dependencias te permite visualizar los cambios a las dependencias en las solicitudes de cambios antes de que se fusionen con tus repositorios.
|
||||
{% ifversion fpt or ghec %}Dependency review is available in all public repositories. Para los repositorios internos y privados, requieres una licencia para {% data variables.product.prodname_advanced_security %}. Para habilitar la revisión de dependencias de una organización, habilita la gráfica de dependencias y la {% data variables.product.prodname_advanced_security %}.
|
||||
{% elsif ghes or ghae %}La revisión de dependencias se encuentra disponible cuando se habilite la gráfica de dependencias para {% data variables.product.product_location %} y también la {% data variables.product.prodname_advanced_security %} para la organización (consulta a continuación).{% endif %}
|
||||
Para obtener más información, consulta la sección "[Acerca de la revisión de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)".
|
||||
Dependency review lets you visualize dependency changes in pull requests before they are merged into your repositories.
|
||||
{% ifversion fpt or ghec %}Dependency review is available in all public repositories. For private and internal repositories you require a license for {% data variables.product.prodname_advanced_security %}. To enable dependency review for an organization, enable the dependency graph and enable {% data variables.product.prodname_advanced_security %}.
|
||||
{% elsif ghes or ghae %}Dependency review is available when dependency graph is enabled for {% data variables.product.product_location %} and you enable {% data variables.product.prodname_advanced_security %} for the organization (see below).{% endif %}
|
||||
For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
## Administrar las {% data variables.product.prodname_dependabot_security_updates %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
## Managing {% data variables.product.prodname_dependabot_security_updates %}
|
||||
|
||||
En el caso de cualquier repositorio que utilice las {% data variables.product.prodname_dependabot_alerts %}, puedes habilitar las {% data variables.product.prodname_dependabot_security_updates %} para levantar solicitudes de cambio con actualizaciones de seguridad cuando se detectan las vulnerabilidades. También puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_security_updates %} para todos los repositorios a lo largo de tu organización.
|
||||
For any repository that uses {% data variables.product.prodname_dependabot_alerts %}, you can enable {% data variables.product.prodname_dependabot_security_updates %} to raise pull requests with security updates when vulnerabilities are detected. You can also enable or disable {% data variables.product.prodname_dependabot_security_updates %} for all repositories across your organization.
|
||||
|
||||
1. Haz clic en tu foto de perfil y luego en **Organizaciones**.
|
||||
2. Haz clic en **Configuración** junto a tu organización.
|
||||
3. Haz clic en **Análisis & seguridad**.
|
||||
4. Haz clic en **Habilitar todas** or en **Inhabilitar todas** junto a {% data variables.product.prodname_dependabot_security_updates %}.
|
||||
5. Opcionalmente, selecciona **Habilitar automáticamente para los repositorios nuevos**.
|
||||
1. Click your profile photo, then click **Organizations**.
|
||||
2. Click **Settings** next to your organization.
|
||||
3. Click **Security & analysis**.
|
||||
4. Click **Enable all** or **Disable all** next to {% data variables.product.prodname_dependabot_security_updates %}.
|
||||
5. Optionally, select **Automatically enable for new repositories**.
|
||||
|
||||
Para obtener más información, consulta las secciones "[Acerca de {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-dependabot-security-updates)" y "[Administrar la configuración de análisis y seguridad para tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)".
|
||||
For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-dependabot-security-updates)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
## Administrar las {% data variables.product.prodname_dependabot_version_updates %}
|
||||
## Managing {% data variables.product.prodname_dependabot_version_updates %}
|
||||
|
||||
Puedes habilitar el {% data variables.product.prodname_dependabot %} para levantar automáticamente las solicitudes de cambios para mantener tus dependencias actualizadas. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)".
|
||||
You can enable {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)."
|
||||
|
||||
Para habilitar las {% data variables.product.prodname_dependabot_version_updates %}, debes crear un archivo de configuración *dependabot.yml*. Para obtener más información, consulta la sección "[Habilitar e inhabilitar las actualizaciones de versión](/code-security/supply-chain-security/enabling-and-disabling-version-updates)".
|
||||
To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 2.22 or ghae or ghec %}
|
||||
## Admnistrar la {% data variables.product.prodname_GH_advanced_security %}
|
||||
## Managing {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% ifversion fpt or ghes > 2.22 or ghec %}
|
||||
Si tu organización cuenta con una licencia de {% data variables.product.prodname_advanced_security %}, puedes habilitar o inhabilitar las características de la {% data variables.product.prodname_advanced_security %}.
|
||||
If your organization has an {% data variables.product.prodname_advanced_security %} license, you can enable or disable {% data variables.product.prodname_advanced_security %} features.
|
||||
{% elsif ghae %}
|
||||
Puedes habilitar o inhabilitar las características de la {% data variables.product.prodname_advanced_security %}.
|
||||
You can enable or disable {% data variables.product.prodname_advanced_security %} features.
|
||||
{% endif %}
|
||||
|
||||
1. Haz clic en tu foto de perfil y luego en **Organizaciones**.
|
||||
2. Haz clic en **Configuración** junto a tu organización.
|
||||
3. Haz clic en **Análisis & seguridad**.
|
||||
4. Haz clic en **Habilitar todas** or en **Inhabilitar todas** junto a {% data variables.product.prodname_GH_advanced_security %}.
|
||||
5. Opcionalmente, selecciona **Habilitar automáticamente para los repositorios privados nuevos**.
|
||||
1. Click your profile photo, then click **Organizations**.
|
||||
2. Click **Settings** next to your organization.
|
||||
3. Click **Security & analysis**.
|
||||
4. Click **Enable all** or **Disable all** next to {% data variables.product.prodname_GH_advanced_security %}.
|
||||
5. Optionally, select **Automatically enable for new private repositories**.
|
||||
|
||||
Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)" y "[Administrar la configuración de análisis y seguridad para tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)".
|
||||
For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
## Configurar el {% data variables.product.prodname_secret_scanning %}
|
||||
## Configuring {% data variables.product.prodname_secret_scanning %}
|
||||
{% data variables.product.prodname_secret_scanning_caps %} is available {% ifversion fpt or ghec %}for all public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license.
|
||||
|
||||
Puedes habilitar o inhabilitar el {% data variables.product.prodname_secret_scanning %} para todos los repositorios a lo largo de tu organización que tengan habilitada la {% data variables.product.prodname_advanced_security %}.
|
||||
You can enable or disable {% data variables.product.prodname_secret_scanning %} for all repositories across your organization that have {% data variables.product.prodname_advanced_security %} enabled.
|
||||
|
||||
1. Haz clic en tu foto de perfil y luego en **Organizaciones**.
|
||||
2. Haz clic en **Configuración** junto a tu organización.
|
||||
3. Haz clic en **Análisis & seguridad**.
|
||||
4. Haz clic en **Habilitar todo** o en **Inhabilitar todo** junto a {% data variables.product.prodname_secret_scanning_caps %} (solo para repositorios de la {% data variables.product.prodname_GH_advanced_security %}).
|
||||
5. Opcionalmente, selecciona **Habilitar automáticamente para los repositorios privados que se agregan a la {% data variables.product.prodname_advanced_security %}**.
|
||||
1. Click your profile photo, then click **Organizations**.
|
||||
2. Click **Settings** next to your organization.
|
||||
3. Click **Security & analysis**.
|
||||
4. Click **Enable all** or **Disable all** next to {% data variables.product.prodname_secret_scanning_caps %} ({% data variables.product.prodname_GH_advanced_security %} repositories only).
|
||||
5. Optionally, select **Automatically enable for private repositories added to {% data variables.product.prodname_advanced_security %}**.
|
||||
|
||||
Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)".
|
||||
For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Pasos siguientes
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}You can view, filter, and sort security alerts for repositories owned by your organization in the security overview. Para obtener más información, consulta la sección "[Acerca del resumen de seguridad](/code-security/security-overview/about-the-security-overview)".{% endif %}
|
||||
## Next steps
|
||||
{% ifversion fpt or ghes > 3.1 or ghec %}You can view, filter, and sort security alerts for repositories owned by your organization in the security overview. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)."{% endif %}
|
||||
|
||||
Puedes ver y administrar las alertas de las características de seguridad para abordar dependencias y vulnerabilidades en tu código. For more information, see {% ifversion fpt or ghes > 2.22 or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes > 2.22 or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec or ghes > 3.2 %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. Para obtener más información, consulta las secciones "[Acerca de {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" y "[Crear una asesoría de seguridad](/code-security/security-advisories/creating-a-security-advisory)".
|
||||
{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)."
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Asegurar tu repositorio
|
||||
intro: 'Puedes utilizar varias características de {% data variables.product.prodname_dotcom %} para ayudar a mantener tu repositorio seguro.'
|
||||
title: Securing your repository
|
||||
intro: 'You can use a number of {% data variables.product.prodname_dotcom %} features to help keep your repository secure.'
|
||||
permissions: Repository administrators and organization owners can configure repository security settings.
|
||||
redirect_from:
|
||||
- /github/administering-a-repository/about-securing-your-repository
|
||||
@@ -16,119 +16,119 @@ topics:
|
||||
- Dependencies
|
||||
- Vulnerabilities
|
||||
- Advanced Security
|
||||
shortTitle: Asegurar tu repositorio
|
||||
shortTitle: Secure your repository
|
||||
---
|
||||
|
||||
## Introducción
|
||||
Esta guía te muestra cómo configurar las características de seguridad para un repositorio. Debes ser un administrador de repositorio o propietario de organización para configurar las caracteristicas de seguridad de un repositorio.
|
||||
## Introduction
|
||||
This guide shows you how to configure security features for a repository. You must be a repository administrator or organization owner to configure security settings for a repository.
|
||||
|
||||
Tus necesidades de seguridad son únicas de tu repositorio, así que puede que no necesites habilitar todas las características de seguridad para este. Para obtener más información, consulta la sección "[Características de seguridad de {% data variables.product.prodname_dotcom %}](/code-security/getting-started/github-security-features)".
|
||||
Your security needs are unique to your repository, so you may not need to enable every feature for your repository. For more information, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)."
|
||||
|
||||
Some security features are only available {% ifversion fpt or ghec %}for public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %}
|
||||
|
||||
## Administrar el acceso a tu repositorio
|
||||
## Managing access to your repository
|
||||
|
||||
El primer paso para asegurar un repositorio es configurar quién puede ver y modificar tu código. Para obtener más información, consulta la sección "[Administrar la configuración de los repositorios](/github/administering-a-repository/managing-repository-settings)".
|
||||
The first step to securing a repository is to set up who can see and modify your code. For more information, see "[Managing repository settings](/github/administering-a-repository/managing-repository-settings)."
|
||||
|
||||
Desde la página principal de tu repositorio, haz clic en **{% octicon "gear" aria-label="The Settings gear" %} Configuración** y luego desplázate hacia abajo, hacia la "Zona de Peligro".
|
||||
From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**, then scroll down to the "Danger Zone."
|
||||
|
||||
- Para cambiar quién puede ver tu repositorio, haz clic en **Cambiar la visibilidad**. Para obtener más información, consulta la sección "[Configurar la visibilidad de los repositorios](/github/administering-a-repository/setting-repository-visibility)".{% ifversion fpt or ghec %}
|
||||
- Puedes cambiar quién puede acceder a tu repositorio y ajustar los permisos, haz clic en **Administrar acceso**. Para obtener más información, consulta la sección "[Administrar los equipos y personas con acceso a tu repositorio](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)".{% endif %}
|
||||
- To change who can view your repository, click **Change visibility**. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)."{% ifversion fpt or ghec %}
|
||||
- To change who can access your repository and adjust permissions, click **Manage access**. For more information, see"[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)."{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}
|
||||
## Configurar una política de seguridad
|
||||
## Setting a security policy
|
||||
|
||||
1. Desde la página principal de tu repositorio, haz clic en **{% octicon "shield" aria-label="The shield symbol" %} Seguridad**.
|
||||
2. Haz clic en **Política de seguridad**.
|
||||
3. Haz clic en **Start setup** (Iniciar configuración).
|
||||
4. Agrega información sobre las versiones compatibles con tu proyecto y de cómo reportar las vulnerabilidades.
|
||||
1. From the main page of your repository, click **{% octicon "shield" aria-label="The shield symbol" %} Security**.
|
||||
2. Click **Security policy**.
|
||||
3. Click **Start setup**.
|
||||
4. Add information about supported versions of your project and how to report vulnerabilities.
|
||||
|
||||
Para obtener más información, consulta "[Aumentar la seguridad para tu repositorio](/code-security/getting-started/adding-a-security-policy-to-your-repository)".
|
||||
For more information, see "[Adding a security policy to your repository](/code-security/getting-started/adding-a-security-policy-to-your-repository)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
## Administrar la gráfica de dependencias
|
||||
## Managing the dependency graph
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
Una vez que hayas [habilitado la gráfica de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#enabling-the-dependency-graph), esta se generará automáticamente para todos los repositorios públicos y podrás elegir habilitarla para los repositorios privados.
|
||||
Once you have [enabled the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#enabling-the-dependency-graph), it is automatically generated for all public repositories, and you can choose to enable it for private repositories.
|
||||
|
||||
1. Desde la página principal de tu repositorio, haz clic en **{% octicon "gear" aria-label="The Settings gear" %} Configuración**.
|
||||
2. Haz clic en **Análisis & seguridad**.
|
||||
3. Junto a la gráfica de dependencias, haz clic en **Habilitar** o **Inhabilitar**.
|
||||
1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %} Settings**.
|
||||
2. Click **Security & analysis**.
|
||||
3. Next to Dependency graph, click **Enable** or **Disable**.
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %}
|
||||
|
||||
Para obtener más información, consulta la sección "[Explorar las dependencias de un repositorio](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)".
|
||||
For more information, see "[Exploring the dependencies of a repository](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
## Administrar las {% data variables.product.prodname_dependabot_alerts %}
|
||||
## Managing {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
{% ifversion fpt or ghec %}Predeterminadamente, {% data variables.product.prodname_dotcom %} detecta vulnerabilidades en repositorios públicos y genera {% data variables.product.prodname_dependabot_alerts %}. Las {% data variables.product.prodname_dependabot_alerts %} también pueden habilitarse para los repositorios privados.
|
||||
{% ifversion fpt or ghec %}By default, {% data variables.product.prodname_dotcom %} detects vulnerabilities in public repositories and generates {% data variables.product.prodname_dependabot_alerts %}. {% data variables.product.prodname_dependabot_alerts %} can also be enabled for private repositories.
|
||||
|
||||
1. Haz clic en tu foto de perfil y luego en **Configuración**.
|
||||
2. Haz clic en **Análisis & seguridad**.
|
||||
3. Haz clic en **Habilitar todas** junto a {% data variables.product.prodname_dependabot_alerts %}.
|
||||
1. Click your profile photo, then click **Settings**.
|
||||
2. Click **Security & analysis**.
|
||||
3. Click **Enable all** next to {% data variables.product.prodname_dependabot_alerts %}.
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.dependabot.dependabot-alerts-beta %}
|
||||
{% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %}
|
||||
|
||||
Para obtener más información, consulta las secciones "[Acerca de las alertas para las dependencias vulnerables](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies){% ifversion fpt or ghec %}" y "[Administrar la configuración de seguridad y análisis para tu cuenta de usuario](/github/setting-up-and-managing-your-github-user-account/managing-security-and-analysis-settings-for-your-user-account){% endif %}".
|
||||
For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies){% ifversion fpt or ghec %}" and "[Managing security and analysis settings for your user account](/github/setting-up-and-managing-your-github-user-account/managing-security-and-analysis-settings-for-your-user-account){% endif %}."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-issue-4864 or ghec %}
|
||||
## Administrar la revisión de dependencias
|
||||
## Managing dependency review
|
||||
|
||||
La revisión de dependencias te permite visualizar los cambios a las dependencias en las solicitudes de cambios antes de que se fusionen con tus repositorios.
|
||||
{%- ifversion fpt %}La revisión de dependencias está disponible en todos los repositorios públicos. Para los repositorios internos y privados, requieres una licencia para {% data variables.product.prodname_advanced_security %}. Para habilitar la revisión de dependencias de un repositorio, habilita la gráfica de dependencias y la {% data variables.product.prodname_advanced_security %}.
|
||||
{%- elsif ghes or ghae %}La revisión de dependencias se encuentra disponible cuando se habilite la gráfica de dependencias para {% data variables.product.product_location %} y también la {% data variables.product.prodname_advanced_security %} para la el repositorio (consulta a continuación).{% endif %}
|
||||
Para obtener más información, consulta la sección "[Acerca de la revisión de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)".
|
||||
Dependency review lets you visualize dependency changes in pull requests before they are merged into your repositories.
|
||||
{%- ifversion fpt %}Dependency review is available in all public repositories. For private and internal repositories you require a license for {% data variables.product.prodname_advanced_security %}. To enable dependency review for a repository, enable the dependency graph and enable {% data variables.product.prodname_advanced_security %}.
|
||||
{%- elsif ghes or ghae %}Dependency review is available when dependency graph is enabled for {% data variables.product.product_location %} and you enable {% data variables.product.prodname_advanced_security %} for the repository (see below).{% endif %}
|
||||
For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
|
||||
## Administrar las {% data variables.product.prodname_dependabot_security_updates %}
|
||||
## Managing {% data variables.product.prodname_dependabot_security_updates %}
|
||||
|
||||
En el caso de cualquier repositorio que utilice las {% data variables.product.prodname_dependabot_alerts %}, puedes habilitar las {% data variables.product.prodname_dependabot_security_updates %} para levantar solicitudes de cambio con actualizaciones de seguridad cuando se detectan las vulnerabilidades.
|
||||
For any repository that uses {% data variables.product.prodname_dependabot_alerts %}, you can enable {% data variables.product.prodname_dependabot_security_updates %} to raise pull requests with security updates when vulnerabilities are detected.
|
||||
|
||||
1. Desde la página principal de tu repositorio, haz clic en **{% octicon "gear" aria-label="The Settings gear" %} Configuración**.
|
||||
2. Haz clic en **Análisis & seguridad**.
|
||||
3. Junto a {% data variables.product.prodname_dependabot_security_updates %}, haz clic en **Habilitar**.
|
||||
1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**.
|
||||
2. Click **Security & analysis**.
|
||||
3. Next to {% data variables.product.prodname_dependabot_security_updates %}, click **Enable**.
|
||||
|
||||
Para obtener más información, consulta las secciones "[Acerca de las {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-dependabot-security-updates)" y "[Configurar las {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/configuring-dependabot-security-updates)".
|
||||
For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-dependabot-security-updates)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/configuring-dependabot-security-updates)."
|
||||
|
||||
## Administrar las {% data variables.product.prodname_dependabot_version_updates %}
|
||||
## Managing {% data variables.product.prodname_dependabot_version_updates %}
|
||||
|
||||
Puedes habilitar el {% data variables.product.prodname_dependabot %} para levantar automáticamente las solicitudes de cambios para mantener tus dependencias actualizadas. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)".
|
||||
You can enable {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)."
|
||||
|
||||
Para habilitar las {% data variables.product.prodname_dependabot_version_updates %}, debes crear un archivo de configuración *dependabot.yml*. Para obtener más información, consulta la sección "[Habilitar e inhabilitar las actualizaciones de versión](/code-security/supply-chain-security/enabling-and-disabling-version-updates)".
|
||||
To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Configurar {% data variables.product.prodname_code_scanning %}
|
||||
## Configuring {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
{% data variables.product.prodname_code_scanning_capc %} se encuentra disponible {% ifversion fpt or ghec %}para todos los repositorios públicos y para los repositorios privados que pertenezcan a organizaciones con{% else %} para repositorios que pertenezcan a organizaciones si tienen{% endif %}una licencia de {% data variables.product.prodname_advanced_security %}.
|
||||
{% data variables.product.prodname_code_scanning_capc %} is available {% ifversion fpt or ghec %}for all public repositories, and for private repositories owned by organizations with {% else %} for organization-owned repositories if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license.
|
||||
|
||||
Puedes configurar el {% data variables.product.prodname_code_scanning %} para que identifique automáticamente las vulnerabilidades y los errores en el código que se almacena en tu repositorio si utilizas un {% data variables.product.prodname_codeql_workflow %} o una herramienta de terceros. Para obtener más información, consulta la sección "[Configurar el {% data variables.product.prodname_code_scanning %} en un repositorio](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)".
|
||||
You can set up {% data variables.product.prodname_code_scanning %} to automatically identify vulnerabilities and errors in the code stored in your repository by using a {% data variables.product.prodname_codeql_workflow %} or third-party tool. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)."
|
||||
|
||||
## Configurar el {% data variables.product.prodname_secret_scanning %}
|
||||
{% data variables.product.prodname_secret_scanning_caps %} se encuentra disponible {% ifversion fpt or ghec %}para todos los repositorios públicos y para los repositorios privados que pertenezcan a organizaciones con{% else %} para repositorios que pertenezcan a organizaciones si tienen{% endif %}una licencia de {% data variables.product.prodname_advanced_security %}.
|
||||
## Configuring {% data variables.product.prodname_secret_scanning %}
|
||||
{% data variables.product.prodname_secret_scanning_caps %} is available {% ifversion fpt or ghec %}for all public repositories, and for private repositories owned by organizations with {% else %} for organization-owned repositories if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license.
|
||||
|
||||
El {% data variables.product.prodname_secret_scanning_caps %} podría estar habilitado para tu repositorio predeterminadamente dependiendo de la configuración de tu organización.
|
||||
{% data variables.product.prodname_secret_scanning_caps %} may be enabled for your repository by default depending upon your organization's settings.
|
||||
|
||||
1. Desde la página principal de tu repositorio, haz clic en **{% octicon "gear" aria-label="The Settings gear" %} Configuración**.
|
||||
2. Haz clic en **Análisis & seguridad**.
|
||||
3. Si {% data variables.product.prodname_GH_advanced_security %} no está habilitada previamente, haz clic en **Habilitar**.
|
||||
4. Junto a {% data variables.product.prodname_secret_scanning_caps %}, haz clic en **Habilitar**.
|
||||
1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**.
|
||||
2. Click **Security & analysis**.
|
||||
3. If {% data variables.product.prodname_GH_advanced_security %} is not already enabled, click **Enable**.
|
||||
4. Next to {% data variables.product.prodname_secret_scanning_caps %}, click **Enable**.
|
||||
|
||||
## Pasos siguientes
|
||||
Puedes ver y administrar las alertas de las características de seguridad para abordar dependencias y vulnerabilidades en tu código. For more information, see {% ifversion fpt or ghes or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
## Next steps
|
||||
You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec or ghes > 3.2 %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. Para obtener más información, consulta las secciones "[Acerca de {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" y "[Crear una asesoría de seguridad](/code-security/security-advisories/creating-a-security-advisory)".
|
||||
{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)."
|
||||
{% endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Guías para la seguridad del código
|
||||
intro: 'Aprende sobre las formas diferentes en las que {% data variables.product.product_name %} puede ayudarte a mejorar la seguridad de tu código.'
|
||||
title: Guides for code security
|
||||
intro: 'Learn about the different ways that {% data variables.product.product_name %} can help you improve your code''s security.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
layout: product-sublanding
|
||||
versions:
|
||||
@@ -26,6 +26,7 @@ includeGuides:
|
||||
- /code-security/secret-security/about-secret-scanning
|
||||
- /code-security/secret-security/configuring-secret-scanning-for-your-repositories
|
||||
- /code-security/secret-security/managing-alerts-from-secret-scanning
|
||||
- /code-security/code-scanning//automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists
|
||||
- /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning
|
||||
- /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning
|
||||
- /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages
|
||||
@@ -58,7 +59,7 @@ includeGuides:
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Seguridad de código
|
||||
shortTitle: Seguridad de código
|
||||
intro: 'Crea la seguridad de tu flujo de trabajo de {% data variables.product.prodname_dotcom %} con características para mantener tus secretos y vulnerabilidades duera de tu base de código{% ifversion not ghae %} y para mantener la cadena de suministro de tu software{% endif %}.'
|
||||
title: Code security
|
||||
shortTitle: Code security
|
||||
intro: 'Build security into your {% data variables.product.prodname_dotcom %} workflow with features to keep secrets and vulnerabilities out of your codebase{% ifversion not ghae %}, and to maintain your software supply chain{% endif %}.'
|
||||
introLinks:
|
||||
overview: /code-security/getting-started/github-security-features
|
||||
featuredLinks:
|
||||
@@ -12,7 +12,7 @@ featuredLinks:
|
||||
- '{% ifversion ghes or ghae %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif%}'
|
||||
guideCards:
|
||||
- '{% ifversion fpt %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates{% endif %}'
|
||||
- '{% ifversion fpt %}/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates{% endif %}'
|
||||
- '{% ifversion fpt %}/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates{% endif %}'
|
||||
- '{% ifversion fpt %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif %}'
|
||||
- '{% ifversion ghes %}/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository{% endif %}'
|
||||
- '{% ifversion ghes %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}'
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
---
|
||||
title: Acerca del escaneo de secretos
|
||||
intro: '{% data variables.product.product_name %} escanea repositorios para encontrar tipos conocidos de secretos para prevenir el uso fraudulento de aquellos que se confirmaron por accidente.'
|
||||
title: About secret scanning
|
||||
intro: '{% data variables.product.product_name %} scans repositories for known types of secrets, to prevent fraudulent use of secrets that were committed accidentally.'
|
||||
product: '{% data reusables.gated-features.secret-scanning %}'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
redirect_from:
|
||||
- /github/administering-a-repository/about-token-scanning
|
||||
- /articles/about-token-scanning
|
||||
@@ -22,54 +23,61 @@ topics:
|
||||
{% data reusables.secret-scanning.beta %}
|
||||
{% data reusables.secret-scanning.enterprise-enable-secret-scanning %}
|
||||
|
||||
Si tu proyecto se comunica con un servicio externo, puedes utilizar un token o llave privada para autenticación. Los tokens y llaves privadas son ejemplos de secretos que puede emitir un proveedor de servicios. Si registras un secreto en un repositorio, cualquiera que tenga acceso de lectura al mismo puede utilizarlo para acceder al servicio externo con tus privilegios. Te recomendamos que almacenes los secretos en una ubicación dedicada y segura fuera del repositorio de tu proyecto.
|
||||
If your project communicates with an external service, you might use a token or private key for authentication. Tokens and private keys are examples of secrets that a service provider can issue. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. We recommend that you store secrets in a dedicated, secure location outside of the repository for your project.
|
||||
|
||||
{% data variables.product.prodname_secret_scanning_caps %} escaneará todo tu historial de Git en todas las ramas presentes en tu repositorio de {% data variables.product.prodname_dotcom %} en búsqueda de cualquier secreto. Los proveedores de servicio pueden asociarse con {% data variables.product.company_short %} para proporcionar sus formatos de secreto para el escaneo.{% ifversion fpt or ghec %} Para obtener más información, consulta la sección "[Programa asociado para el escaneo de secretos](/developers/overview/secret-scanning-partner-program)".
|
||||
{% data variables.product.prodname_secret_scanning_caps %} will scan your entire Git history on all branches present in your {% data variables.product.prodname_dotcom %} repository for any secrets. Service providers can partner with {% data variables.product.company_short %} to provide their secret formats for scanning.{% ifversion fpt or ghec %} For more information, see "[Secret scanning partner program](/developers/overview/secret-scanning-partner-program)."
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.secret-scanning.about-secret-scanning %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
## Acerca de {% data variables.product.prodname_secret_scanning %} para repositorios públicos
|
||||
## About {% data variables.product.prodname_secret_scanning %} for public repositories
|
||||
|
||||
Las {% data variables.product.prodname_secret_scanning_caps %} se habilitan automáticamente en los repositorios públicos. Cuando subes información a un repositorio público, {% data variables.product.product_name %} escanea el contenido de las confirmaciones para los secretos. Si cambias un repositorio de privado a público, {% data variables.product.product_name %} escanea todo el repositorio en busca de secretos.
|
||||
{% data variables.product.prodname_secret_scanning_caps %} is automatically enabled on public repositories. When you push to a public repository, {% data variables.product.product_name %} scans the content of the commits for secrets. If you switch a private repository to public, {% data variables.product.product_name %} scans the entire repository for secrets.
|
||||
|
||||
Cuando {% data variables.product.prodname_secret_scanning %} detecta un conjunto de credenciales, notificamos al proveedor del servicio que emitió el secreto. El proveedor del servicio valida la credencial y luego decide si debería retirar el secreto, emitir uno nuevo, o contactarte directamente, lo cual dependerá de los riesgos asociados a ti o a dicho proveedor. Para encontrar un resumen de cómo trabajamos con nuestros socios que emiten tokens, consulta la sección "[Porgrama de socios del escaneo de secretos](/developers/overview/secret-scanning-partner-program)".
|
||||
When {% data variables.product.prodname_secret_scanning %} detects a set of credentials, we notify the service provider who issued the secret. The service provider validates the credential and then decides whether they should revoke the secret, issue a new secret, or reach out to you directly, which will depend on the associated risks to you or the service provider. For an overview of how we work with token-issuing partners, see "[Secret scanning partner program](/developers/overview/secret-scanning-partner-program)."
|
||||
|
||||
Actualmente, {% data variables.product.product_name %} escanea los repositorios públicos en busca de secretos emitidos por los siguientes proveedores de servicios.
|
||||
### List of supported secrets for public repositories
|
||||
|
||||
{% data variables.product.product_name %} currently scans public repositories for secrets issued by the following service providers.
|
||||
|
||||
{% data reusables.secret-scanning.partner-secret-list-public-repo %}
|
||||
|
||||
## Acerca de {% data variables.product.prodname_secret_scanning %} para repositorios privados
|
||||
## About {% data variables.product.prodname_secret_scanning %} for private repositories
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes or ghae %}
|
||||
## Acerca del {% data variables.product.prodname_secret_scanning %} en {% data variables.product.product_name %}
|
||||
## About {% data variables.product.prodname_secret_scanning %} on {% data variables.product.product_name %}
|
||||
|
||||
El {% data variables.product.prodname_secret_scanning_caps %} se encuentra disponible en todos los repositorios que pertenezcan a la organización como parte de la {% data variables.product.prodname_GH_advanced_security %}. No se encuentra disponible en repositorios que pertenezcan a usuarios individuales.
|
||||
{% data variables.product.prodname_secret_scanning_caps %} is available on all organization-owned repositories as part of {% data variables.product.prodname_GH_advanced_security %}. It is not available on user-owned repositories.
|
||||
{% endif %}
|
||||
|
||||
Si eres un administrador de repositorio o un propietario de organización, puedes habilitar el {% data variables.product.prodname_secret_scanning %} para los repositorios {% ifversion fpt or ghec %} privados{% endif %} que pertenezcan a las organizaciones. You can enable {% data variables.product.prodname_secret_scanning %} for all your repositories, or for all new repositories within your organization.{% ifversion fpt or ghec %} {% data variables.product.prodname_secret_scanning_caps %} is not available for user-owned private repositories.{% 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)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
If you're a repository administrator or an organization owner, you can enable {% data variables.product.prodname_secret_scanning %} for {% ifversion fpt or ghec %} private{% endif %} repositories that are owned by organizations. You can enable {% data variables.product.prodname_secret_scanning %} for all your repositories, or for all new repositories within your organization.{% ifversion fpt or ghec %} {% data variables.product.prodname_secret_scanning_caps %} is not available for user-owned private repositories.{% 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)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}You can also define custom {% data variables.product.prodname_secret_scanning %} patterns that only apply to your repository or organization. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)".{% endif %}
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}You can also define custom {% data variables.product.prodname_secret_scanning %} patterns that only apply to your repository or organization. For more information, see "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)."{% endif %}
|
||||
|
||||
When you push commits to a{% ifversion fpt or ghec %} private{% endif %} repository with {% data variables.product.prodname_secret_scanning %} enabled, {% data variables.product.prodname_dotcom %} scans the contents of the commits for secrets.
|
||||
|
||||
When {% data variables.product.prodname_secret_scanning %} detects a secret in a{% ifversion fpt or ghec %} private{% endif %} repository, {% data variables.product.prodname_dotcom %} generates an alert.
|
||||
|
||||
- {% data variables.product.prodname_dotcom %} envía una alerta por correo electrónico a los administradores del repositorio y a los propietarios de la organización.
|
||||
- {% data variables.product.prodname_dotcom %} sends an email alert to the repository administrators and organization owners.
|
||||
{% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}
|
||||
- {% data variables.product.prodname_dotcom %} envía una alerta por correo electrónico al contribuyente que confirmó el secreto en el repositorio con un enlace a la alerta del {% data variables.product.prodname_secret_scanning %} relacionada. El autor de la confirmación puede entonces ver la alerta en el repositorio y resolverla.
|
||||
- {% data variables.product.prodname_dotcom %} sends an email alert to the contributor who committed the secret to the repository, with a link to the related {% data variables.product.prodname_secret_scanning %} alert. The commit author can then view the alert in the repository, and resolve the alert.
|
||||
{% endif %}
|
||||
- {% data variables.product.prodname_dotcom %} muestra una alerta en el repositorio.{% ifversion ghes = 3.0 %} Para obtener más información, consulta la sección "[Administrar alertas desde {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)".{% endif %}
|
||||
- {% data variables.product.prodname_dotcom %} displays an alert in the repository.{% ifversion ghes = 3.0 %} For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."{% endif %}
|
||||
|
||||
{% ifversion fpt or ghes > 3.0 or ghae-next or ghec %}
|
||||
Para obtener más información sobre visualizar y resolver las alertas del {% data variables.product.prodname_secret_scanning %}, consulta la sección "[Administrar alertas del {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)".{% endif %}
|
||||
For more information about viewing and resolving {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."{% endif %}
|
||||
|
||||
Los administradores de repositorio y propietarios de las organizaciones pueden otorgar a los usuarios y equipos acceso a las alertas del {% data variables.product.prodname_secret_scanning %}. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)".
|
||||
Repository administrators and organization owners can grant users and teams access to {% data variables.product.prodname_secret_scanning %} alerts. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
Para monitorear los resultados del {% data variables.product.prodname_secret_scanning %} a lo largo de tus repositorios privados o de tu organización, puedes utilizar la API de {% data variables.product.prodname_secret_scanning %}. Para obtener más información acerca de las terminales de las API, consulta la sección "[{% data variables.product.prodname_secret_scanning_caps %}](/rest/reference/secret-scanning)".{% endif %}
|
||||
To monitor results from {% data variables.product.prodname_secret_scanning %} across your private repositories or your organization, you can use the {% data variables.product.prodname_secret_scanning %} API. For more information about API endpoints, see "[{% data variables.product.prodname_secret_scanning_caps %}](/rest/reference/secret-scanning)."{% endif %}
|
||||
|
||||
{% ifversion ghes or ghae %}
|
||||
## List of supported secrets{% else %}
|
||||
### List of supported secrets for private repositories
|
||||
{% endif %}
|
||||
|
||||
{% data variables.product.prodname_dotcom %} currently scans{% ifversion fpt or ghec %} private{% endif %} repositories for secrets issued by the following service providers.
|
||||
|
||||
@@ -78,12 +86,12 @@ Para monitorear los resultados del {% data variables.product.prodname_secret_sca
|
||||
{% ifversion ghes < 3.2 or ghae %}
|
||||
{% note %}
|
||||
|
||||
**Nota:**{% data variables.product.prodname_secret_scanning_caps %} no permite actualmente que definas tus propios parámetros para detectar secretos.
|
||||
**Note:** {% data variables.product.prodname_secret_scanning_caps %} does not currently allow you to define your own patterns for detecting secrets.
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
## Leer más
|
||||
## Further reading
|
||||
|
||||
- "[Asegurar tu repositorio](/code-security/getting-started/securing-your-repository)"
|
||||
- "[Mantener la seguridad en tu cuenta y tus datos](/github/authenticating-to-github/keeping-your-account-and-data-secure)"
|
||||
- "[Securing your repository](/code-security/getting-started/securing-your-repository)"
|
||||
- "[Keeping your account and data secure](/github/authenticating-to-github/keeping-your-account-and-data-secure)"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Definir patrones personalizados para el escaneo de secretos
|
||||
shortTitle: Definir patrones personalizados
|
||||
intro: 'Puedes definir los patrones personalizados para el {% data variables.product.prodname_secret_scanning %} en las organizaciones y repositorios privados.'
|
||||
title: Defining custom patterns for secret scanning
|
||||
shortTitle: Define custom patterns
|
||||
intro: 'You can define custom patterns for {% data variables.product.prodname_secret_scanning %} in organizations and private repositories.'
|
||||
product: '{% data reusables.gated-features.secret-scanning %}'
|
||||
redirect_from:
|
||||
- /code-security/secret-security/defining-custom-patterns-for-secret-scanning
|
||||
@@ -17,36 +17,40 @@ topics:
|
||||
{% ifversion ghes < 3.3 or ghae %}
|
||||
{% note %}
|
||||
|
||||
**Nota:** Los patrones personalizados del {% data variables.product.prodname_secret_scanning %} se encuentran actualmente en beta y están sujetos a cambios.
|
||||
**Note:** Custom patterns for {% data variables.product.prodname_secret_scanning %} is currently in beta and is subject to change.
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
## Acerca de los patrones personalizados para el {% data variables.product.prodname_secret_scanning %}
|
||||
## About custom patterns for {% data variables.product.prodname_secret_scanning %}
|
||||
|
||||
{% data variables.product.company_short %} lleva a cabo el {% data variables.product.prodname_secret_scanning %} en los repositorios{% ifversion fpt or ghec %}públicos y privados{% endif %} para los patrones de secretos que proporcionan los socios de {% data variables.product.company_short %} y {% data variables.product.company_short %}. Para obtener más información sobre el programa asociado del {% data variables.product.prodname_secret_scanning %}, consulta la sección "<a href="/developers/overview/secret-scanning-partner-program" class="dotcom-only">Programa asociado de escaneo de secretos</a>".
|
||||
{% data variables.product.company_short %} performs {% data variables.product.prodname_secret_scanning %} on {% ifversion fpt or ghec %}public and private{% endif %} repositories for secret patterns provided by {% data variables.product.company_short %} and {% data variables.product.company_short %} partners. For more information on the {% data variables.product.prodname_secret_scanning %} partner program, see "<a href="/developers/overview/secret-scanning-partner-program" class="dotcom-only">Secret scanning partner program</a>."
|
||||
|
||||
Sin embargo, puede que existan situaciones en las que quieras escanear en búsqueda de otros patrones de secreto en tus repositorios {% ifversion fpt or ghec %}privados{% endif %}. Por ejemplo, puede que tengas un patrón secreto que sea interno a tu organización. Para estos casos, puedes definir patrones personalizados del {% data variables.product.prodname_secret_scanning %} en tu empresa, organización, o epositorio {% ifversion fpt or ghec %}privado{% endif %} en{% data variables.product.product_name %}. Puedes definir hasta 100 patrones personalizados para cada cuenta de organización o empresa y hasta 20 de ellos por repositorio {% ifversion fpt or ghec %}repositorio privado{% endif %}.
|
||||
However, there can be situations where you want to scan for other secret patterns in your {% ifversion fpt or ghec %}private{% endif %} repositories. For example, you might have a secret pattern that is internal to your organization. For these situations, you can define custom {% data variables.product.prodname_secret_scanning %} patterns in your enterprise, organization, or {% ifversion fpt or ghec %}private{% endif %} repository on {% data variables.product.product_name %}. You can define up to
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 %} 500 custom patterns for each organization or enterprise account, and up to 100 custom patterns per {% ifversion fpt or ghec %}private{% endif %} repository.
|
||||
{%- elsif ghes = 3.3 %} 100 custom patterns for each organization or enterprise account, and per repository.
|
||||
{%- else %} 20 custom patterns for each organization or enterprise account, and per repository.
|
||||
{%- endif %}
|
||||
|
||||
{% ifversion ghes < 3.3 or ghae %}
|
||||
{% note %}
|
||||
|
||||
**Nota:** Durante el beta, hay algunas limitaciones al utilizar patrones personalizados para el {% data variables.product.prodname_secret_scanning %}:
|
||||
**Note:** During the beta, there are some limitations when using custom patterns for {% data variables.product.prodname_secret_scanning %}:
|
||||
|
||||
* No hay una funcionalidad de simulacro.
|
||||
* No puedes editar patrones personalizados después de que se hayan creado. Para cambiar un patrón, debes borrarlo y volverlo a crear.
|
||||
* No hay una API para crear, editar o borrar patrones personalizados. Sin embargo, los resultados para los patrones personalizados se devuelven en la [API de alertas para el escaneo de secretos](/rest/reference/secret-scanning).
|
||||
* There is no dry-run functionality.
|
||||
* You cannot edit custom patterns after they're created. To change a pattern, you must delete it and recreate it.
|
||||
* There is no API for creating, editing, or deleting custom patterns. However, results for custom patterns are returned in the [secret scanning alerts API](/rest/reference/secret-scanning).
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
## Sintaxis de expresión regular para los patrones personalizados
|
||||
## Regular expression syntax for custom patterns
|
||||
|
||||
Los patrones personalizados del {% data variables.product.prodname_secret_scanning %} se especifican como expresiones regulares. El {% data variables.product.prodname_secret_scanning_caps %} utiliza la [biblioteca Hyperscan](https://github.com/intel/hyperscan) y solo es compatible con las construcciones de regex de Hyperscan, las cuales son un subconjunto de la sintaxis PCRE. Los modificadores de opción de Hyperscan no son compatibles. Para obtener más información sobre las consturcciones de patrones de Hyperscan, consulta el "[Soporte para patrones](http://intel.github.io/hyperscan/dev-reference/compilation.html#pattern-support)" en la documentación de Hyperscan.
|
||||
Custom patterns for {% data variables.product.prodname_secret_scanning %} are specified as regular expressions. {% data variables.product.prodname_secret_scanning_caps %} uses the [Hyperscan library](https://github.com/intel/hyperscan) and only supports Hyperscan regex constructs, which are a subset of PCRE syntax. Hyperscan option modifiers are not supported. For more information on Hyperscan pattern constructs, see "[Pattern support](http://intel.github.io/hyperscan/dev-reference/compilation.html#pattern-support)" in the Hyperscan documentation.
|
||||
|
||||
## Definir un patrón común para un repositorio
|
||||
## Defining a custom pattern for a repository
|
||||
|
||||
Antes de definir un patrón personalizado, debes asegurarte de que el {% data variables.product.prodname_secret_scanning %} esté habilitado en tu repositorio. Para obtener más información, consulta la sección "[Configurar el {% data variables.product.prodname_secret_scanning %} para tus repositorios](/code-security/secret-security/configuring-secret-scanning-for-your-repositories)".
|
||||
Before defining a custom pattern, you must ensure that {% data variables.product.prodname_secret_scanning %} is enabled on your repository. For more information, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your repositories](/code-security/secret-security/configuring-secret-scanning-for-your-repositories)."
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
@@ -55,15 +59,15 @@ Antes de definir un patrón personalizado, debes asegurarte de que el {% data va
|
||||
{% data reusables.advanced-security.secret-scanning-new-custom-pattern %}
|
||||
{% data reusables.advanced-security.secret-scanning-add-custom-pattern-details %}
|
||||
|
||||
Después de que se crea tu patrón, {% data reusables.secret-scanning.secret-scanning-process %} Para obtener más información sobre cómo visualizar alertas del {% data variables.product.prodname_secret_scanning %}, consulta la sección "[Administrar las alertas del {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)".
|
||||
After your pattern is created, {% data reusables.secret-scanning.secret-scanning-process %} For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
## Definir un patrón común para una organización
|
||||
## Defining a custom pattern for an organization
|
||||
|
||||
Antes de definir un patrón personalizado, debes asegurarte de que hayas habilitado el {% data variables.product.prodname_secret_scanning %} para los repositorios {% ifversion fpt or ghec %}privados{% endif %} que quieras escanear en tu organización. Para habilitar el {% data variables.product.prodname_secret_scanning %} en todos los repositorios {% ifversion fpt or ghec %}privados{% endif %} de tu organizción, consulta la sección "[Administrar la configuración de seguridad y análisis para tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)".
|
||||
Before defining a custom pattern, you must ensure that you enable {% data variables.product.prodname_secret_scanning %} for the {% ifversion fpt or ghec %}private{% endif %} repositories that you want to scan in your organization. To enable {% data variables.product.prodname_secret_scanning %} on all {% ifversion fpt or ghec %}private{% endif %} repositories in your organization, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Como no hay funcionalidad de pruebas en seco, te recomendamos probar tus patrones personalizados en un repositorio antes de definirlos para toda tu organización. De esta forma, puedes evitar crear un exceso de alertas de {% data variables.product.prodname_secret_scanning %} falsas positivas.
|
||||
**Note:** As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire organization. That way, you can avoid creating excess false-positive {% data variables.product.prodname_secret_scanning %} alerts.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
@@ -74,15 +78,15 @@ Antes de definir un patrón personalizado, debes asegurarte de que hayas habilit
|
||||
{% data reusables.advanced-security.secret-scanning-new-custom-pattern %}
|
||||
{% data reusables.advanced-security.secret-scanning-add-custom-pattern-details %}
|
||||
|
||||
Después de que se cree un patrón, el {% data variables.product.prodname_secret_scanning %} escaneará cualquier secreto en los repositorios {% ifversion fpt or ghec %}privados{% endif %} de tu organización, incluyendo el historial completo de Git en todas las ramas. Se alertará a los propietarios de organizaciones y administradores de repositorios de cualquier secreto que se encuentre y estos podrán revisar la alerta en el repositorio en donde se encontró el secreto. Para obtener más información sobre cómo ver las alertas del {% data variables.product.prodname_secret_scanning %}, consulta la sección "[Administrar las alertas del {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)".
|
||||
After your pattern is created, {% data variables.product.prodname_secret_scanning %} scans for any secrets in {% ifversion fpt or ghec %}private{% endif %} repositories in your organization, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
## Definir un patrón común para una cuenta empresarial
|
||||
## Defining a custom pattern for an enterprise account
|
||||
|
||||
Antes de definir un patrón personalizado, debes garantizar que habilitaste el escaneo de secretos para tu cuenta empresarial. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_GH_advanced_security %} en tu empresa]({% ifversion fpt or ghec %}/enterprise-server@latest/{% endif %}/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)".
|
||||
Before defining a custom pattern, you must ensure that you enable secret scanning for your enterprise account. For more information, see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise]({% ifversion fpt or ghec %}/enterprise-server@latest/{% endif %}/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Como no hay funcionalidad de pruebas en seco, te recomendamos probar tus patrones personalizados en un repositorio antes de definirlos para toda tu empresa. De esta forma, puedes evitar crear alertas del {% data variables.product.prodname_secret_scanning %} falsas positivas en exceso.
|
||||
**Note:** As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire enterprise. That way, you can avoid creating excess false-positive {% data variables.product.prodname_secret_scanning %} alerts.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
@@ -90,35 +94,35 @@ Antes de definir un patrón personalizado, debes garantizar que habilitaste el e
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.advanced-security-policies %}
|
||||
{% data reusables.enterprise-accounts.advanced-security-security-features %}
|
||||
1. Debajo de "Patrones personalizados del escaneo de secretos", haz clic en {% ifversion fpt or ghes > 3.2 or ghae-next or ghec %}**Patrón nuevo**{% elsif ghes = 3.2 %}**Patrón personalizado nuevo**{% endif %}.
|
||||
1. Under "Secret scanning custom patterns", click {% ifversion ghes = 3.2 %}**New custom pattern**{% else %}**New pattern**{% endif %}.
|
||||
{% data reusables.advanced-security.secret-scanning-add-custom-pattern-details %}
|
||||
|
||||
Después de que se cree tu patrón, el {% data variables.product.prodname_secret_scanning %} escaneará en búsqueda de cualquier secreto en los repositorios {% ifversion fpt or ghec %}privados{% endif %} dentro de las organizaciones de tu empresa que cuenten con la {% data variables.product.prodname_GH_advanced_security %} habilitada, incluyendo todo su historial de Git en todas las ramas. Se alertará a los propietarios de organizaciones y administradores de repositorios de cualquier secreto que se encuentre y estos podrán revisar la alerta en el repositorio en donde se encontró el secreto. Para obtener más información sobre cómo ver las alertas del {% data variables.product.prodname_secret_scanning %}, consulta la sección "[Administrar las alertas del {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)".
|
||||
After your pattern is created, {% data variables.product.prodname_secret_scanning %} scans for any secrets in {% ifversion fpt or ghec %}private{% endif %} repositories within your enterprise's organizations with {% data variables.product.prodname_GH_advanced_security %} enabled, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghec %}
|
||||
## Editar un patrón personalizado
|
||||
{% ifversion fpt or ghes > 3.2 or ghec or ghae %}
|
||||
## Editing a custom pattern
|
||||
|
||||
Cuando guardas un cambio en un patrón personalizado, este cierra todas las alertas del {% data variables.product.prodname_secret_scanning %} que se crearon utilizando la versión anterior del patrón.
|
||||
1. Navegar a donde se creó el patrón personalizado. Un patrón personalizado puede crearse en un repositorio, organización o cuenta empresarial.
|
||||
* Para un repositorio u organización, muestra los ajustes de "Seguridad & análisis" para el repositorio u organización en donde se creó el patrón personalizado. Para obtener más información, consulta las secciones anteriores "[Definir un patrón personalizado para un repositorio](#defining-a-custom-pattern-for-a-repository)" o "[Definir un patrón personalizado apra una organización](#defining-a-custom-pattern-for-an-organization)".
|
||||
* Para una empresa, debajo de "Políticas", muestra el área de "Seguridad Avanzada" y luego haz clic en **Características de seguridad**. Para obtener más información, consulta la sección anterior "[Definir un patrón personalizado para una cuenta empresarial](#defining-a-custom-pattern-for-an-enterprise-account)".
|
||||
2. Debajo de "{% data variables.product.prodname_secret_scanning_caps %}", a la derecha del patrón personalizado que quieras editar, haz clic en {% octicon "pencil" aria-label="The edit icon" %}.
|
||||
3. Cuando hayas revisado y probado tus cambios, haz clic en **Guardar cambios**.
|
||||
When you save a change to a custom pattern, this closes all the {% data variables.product.prodname_secret_scanning %} alerts that were created using the previous version of the pattern.
|
||||
1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.
|
||||
* For a repository or organization, display the "Security & analysis" settings for the repository or organization where the custom pattern was created. For more information, see "[Defining a custom pattern for a repository](#defining-a-custom-pattern-for-a-repository)" or "[Defining a custom pattern for an organization](#defining-a-custom-pattern-for-an-organization)" above.
|
||||
* For an enterprise, under "Policies" display the "Advanced Security" area, and then click **Security features**. For more information, see "[Defining a custom pattern for an enterprise account](#defining-a-custom-pattern-for-an-enterprise-account)" above.
|
||||
2. Under "{% data variables.product.prodname_secret_scanning_caps %}", to the right of the custom pattern you want to edit, click {% octicon "pencil" aria-label="The edit icon" %}.
|
||||
3. When you have reviewed and tested your changes, click **Save changes**.
|
||||
{% endif %}
|
||||
|
||||
## Eliminar un patrón personalizado
|
||||
## Removing a custom pattern
|
||||
|
||||
1. Navegar a donde se creó el patrón personalizado. Un patrón personalizado se puede crear en un repositorio, organización o cuenta empresarial.
|
||||
1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.
|
||||
|
||||
* Para un repositorio u organización, muestra los ajustes de "Seguridad & análisis" para el repositorio u organización en donde se creó el patrón personalizado. Para obtener más información, consulta las secciones anteriores "[Definir un patrón personalizado para un repositorio](#defining-a-custom-pattern-for-a-repository)" o "[Definir un patrón personalizado apra una organización](#defining-a-custom-pattern-for-an-organization)".
|
||||
* Para una empresa, debajo de "Políticas", muestra el área de "Seguridad Avanzada" y luego haz clic en **Características de seguridad**. Para obtener más información, consulta la sección anterior "[Definir un patrón personalizado para una cuenta empresarial](#defining-a-custom-pattern-for-an-enterprise-account)".
|
||||
{%- ifversion fpt or ghes > 3.2 or ghae-next %}
|
||||
1. A la derecha del patrón personalizado que quieras eliminar, haz clic en {% octicon "trash" aria-label="The trash icon" %}.
|
||||
1. Revisa la confirmación y seleccionar el método para tratar con cualquier alerta abierta que tenga relación con el patrón personalizado.
|
||||
1. Haz clic en **Sí, borrar este patrón**.
|
||||
* For a repository or organization, display the "Security & analysis" settings for the repository or organization where the custom pattern was created. For more information, see "[Defining a custom pattern for a repository](#defining-a-custom-pattern-for-a-repository)" or "[Defining a custom pattern for an organization](#defining-a-custom-pattern-for-an-organization)" above.
|
||||
* For an enterprise, under "Policies" display the "Advanced Security" area, and then click **Security features**. For more information, see "[Defining a custom pattern for an enterprise account](#defining-a-custom-pattern-for-an-enterprise-account)" above.
|
||||
{%- ifversion fpt or ghes > 3.2 or ghae %}
|
||||
1. To the right of the custom pattern you want to remove, click {% octicon "trash" aria-label="The trash icon" %}.
|
||||
1. Review the confirmation, and select a method for dealing with any open alerts relating to the custom pattern.
|
||||
1. Click **Yes, delete this pattern**.
|
||||
|
||||

|
||||

|
||||
{%- elsif ghes = 3.2 %}
|
||||
1. A la derecha del patrón personalizado que quieras eliminar, haz clic en **Eliminar**.
|
||||
1. Revisa la confirmación y haz clic en **Eliminar patrón personalizado**.
|
||||
1. To the right of the custom pattern you want to remove, click **Remove**.
|
||||
1. Review the confirmation, and click **Remove custom pattern**.
|
||||
{%- endif %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Acerca de las actualizaciones a la versión del Dependabot
|
||||
intro: 'Puede utilizar el {% data variables.product.prodname_dependabot %} para mantener los paquetes que utilizas actualizados a su versión más reciente.'
|
||||
title: About Dependabot version updates
|
||||
intro: 'You can use {% data variables.product.prodname_dependabot %} to keep the packages you use updated to the latest versions.'
|
||||
redirect_from:
|
||||
- /github/administering-a-repository/about-dependabot
|
||||
- /github/administering-a-repository/about-github-dependabot
|
||||
@@ -10,6 +10,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '> 3.2'
|
||||
type: overview
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -17,48 +18,50 @@ topics:
|
||||
- Repositories
|
||||
- Dependencies
|
||||
- Pull requests
|
||||
shortTitle: Actualizaciones de versión del dependabot
|
||||
shortTitle: Dependabot version updates
|
||||
---
|
||||
|
||||
## Acerca de {% data variables.product.prodname_dependabot_version_updates %}
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
El {% data variables.product.prodname_dependabot %} hace el esfuerzo de mantener tus dependencias. Puedes utilizarlo para garantizar que tu repositorio se mantenga automáticamente con los últimos lanzamientos de los paquetes y aplicaciones de los que depende.
|
||||
## About {% data variables.product.prodname_dependabot_version_updates %}
|
||||
|
||||
Se habilitan las {% data variables.product.prodname_dependabot_version_updates %} al registrar un archivo de configuración en tu repositorio. Este archivo de configuración especifica la ubicación del manifiesto o de otros archivos de definición de paquetes almacenados en tu repositorio. El {% data variables.product.prodname_dependabot %} utiliza esta información para revisar los paquetes y las aplicaciones desactualizadas. El {% data variables.product.prodname_dependabot %} determina si hay una versión nueva de una dependencia al buscar el versionamiento semántico ([semver](https://semver.org/)) de la dependencia para decidir si debería actualizarla a esa versión. Para ciertos administradores de paquetes, {% data variables.product.prodname_dependabot_version_updates %} también es compatible con su delegación a proveedores. Las dependencias delegadas (o almacenadas en caché) son aquellas que se registran en un directorio específico en un repositorio en vez de que se referencien en un manifiesto. Las dependencias delegadas a proveedores están disponibles desde el momento de su creación, incluso si los servidores de paquetes no se encuentran disponibles. Las {% data variables.product.prodname_dependabot_version_updates %} pueden configurarse para verificar las dependencias delegadas a proveedores para las nuevas versiones y también pueden actualizarse de ser necesario.
|
||||
{% data variables.product.prodname_dependabot %} takes the effort out of maintaining your dependencies. You can use it to ensure that your repository automatically keeps up with the latest releases of the packages and applications it depends on.
|
||||
|
||||
Cuando el {% data variables.product.prodname_dependabot %} identifica una dependencia desactualizada, levanta una solicitud de extracción para actualizar el manifiesto a su última versión de la dependencia. Lara las dependencias delegadas a proveedores, el {% data variables.product.prodname_dependabot %} levanta una solicitud de cambios para reemplazar la dependencia desactualizada directamente con la versión nueva. Verificas que tu prueba pase, revisas el registro de cambios y notas de lanzamiento que se incluyan en el resumen de la solicitud de extracción y, posteriormente, lo fusionas. Para obtener más información, consulta la sección "[Habilitar e inhabilitar las actualizaciones de versión](/github/administering-a-repository/enabling-and-disabling-version-updates)".
|
||||
You enable {% data variables.product.prodname_dependabot_version_updates %} by checking a configuration file into your repository. The configuration file specifies the location of the manifest, or of other package definition files, stored in your repository. {% data variables.product.prodname_dependabot %} uses this information to check for outdated packages and applications. {% data variables.product.prodname_dependabot %} determines if there is a new version of a dependency by looking at the semantic versioning ([semver](https://semver.org/)) of the dependency to decide whether it should update to that version. For certain package managers, {% data variables.product.prodname_dependabot_version_updates %} also supports vendoring. Vendored (or cached) dependencies are dependencies that are checked in to a specific directory in a repository rather than referenced in a manifest. Vendored dependencies are available at build time even if package servers are unavailable. {% data variables.product.prodname_dependabot_version_updates %} can be configured to check vendored dependencies for new versions and update them if necessary.
|
||||
|
||||
Si habilitas las actualizaciones de seguridad, el {% data variables.product.prodname_dependabot %} también levantará las solicitudes de extracción para actualizar las dependencias vulnerables. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)".
|
||||
When {% data variables.product.prodname_dependabot %} identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. For vendored dependencies, {% data variables.product.prodname_dependabot %} raises a pull request to replace the outdated dependency with the new version directly. You check that your tests pass, review the changelog and release notes included in the pull request summary, and then merge it. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
If you enable _security updates_, {% data variables.product.prodname_dependabot %} also raises pull requests to update vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
|
||||
{% data reusables.dependabot.pull-request-security-vs-version-updates %}
|
||||
|
||||
{% data reusables.dependabot.dependabot-tos %}
|
||||
|
||||
## Frecuencia de las solicitudes de extracción del {% data variables.product.prodname_dependabot %}
|
||||
## Frequency of {% data variables.product.prodname_dependabot %} pull requests
|
||||
|
||||
Tú eres quien especifica qué tan a menudo se revisa cada ecosistema para encontrar nuevas versiones en el archivo de configuración: diario, semanalmente, o mensualmente.
|
||||
You specify how often to check each ecosystem for new versions in the configuration file: daily, weekly, or monthly.
|
||||
|
||||
{% data reusables.dependabot.initial-updates %}
|
||||
|
||||
Si habilitaste las actualizaciones de seguridad, algunas veces verás solicitudes de extracción adicionales para actualizaciones de seguridad. Esto se activa con una alerta del {% data variables.product.prodname_dependabot %} para una dependencia en tu rama predeterminada. El {% data variables.product.prodname_dependabot %} levanta automáticamente una solicitud de extracción para actualizar la dependencia vulnerable.
|
||||
If you've enabled security updates, you'll sometimes see extra pull requests for security updates. These are triggered by a {% data variables.product.prodname_dependabot %} alert for a dependency on your default branch. {% data variables.product.prodname_dependabot %} automatically raises a pull request to update the vulnerable dependency.
|
||||
|
||||
## Repositorios y ecosistemas compatibles
|
||||
## Supported repositories and ecosystems
|
||||
<!-- If you make changes to this feature, update /getting-started-with-github/github-language-support to reflect any changes to supported repositories or ecosystems. -->
|
||||
|
||||
Puedes configurar las actualizaciones de versión para los repositorios que contengan un manifiesto de dependencias o un archivo fijado para alguno de los administradores de paquetes compatibles. Para algunos administradores de paquetes, también puedes configurar la delegación a proveedores para las dependencias. Para obtener más información, consulta la sección "[Opciones de configuración para las actualizaciones de dependencias](/github/administering-a-repository/configuration-options-for-dependency-updates#vendor)".
|
||||
|
||||
You can configure version updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see "[Configuration options for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#vendor)."
|
||||
{% note %}
|
||||
|
||||
{% data reusables.dependabot.private-dependencies-note %}
|
||||
{% data reusables.dependabot.private-dependencies-note %}
|
||||
|
||||
El {% data variables.product.prodname_dependabot %} no es compatible con dependencias privadas de {% data variables.product.prodname_dotcom %} para todos los administradores de paquetes. Consulta los detalles en la tabla a continuación.
|
||||
{% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. See the details in the table below.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% data reusables.dependabot.supported-package-managers %}
|
||||
|
||||
Si tu repositorio ya utiliza una integración para la administración de dependencias, necesitarás inhabilitarlo antes de habilitar el {% data variables.product.prodname_dependabot %}. Para obtener más información, consulta la sección "[Acerca de las integraciones](/github/customizing-your-github-workflow/about-integrations)".
|
||||
If your repository already uses an integration for dependency management, you will need to disable this before enabling {% data variables.product.prodname_dependabot %}. {% ifversion fpt or ghec %}For more information, see "[About integrations](/github/customizing-your-github-workflow/about-integrations)."{% endif %}
|
||||
|
||||
## Acerca de las notificaciones para las actualizaciones de versión del {% data variables.product.prodname_dependabot %}
|
||||
## About notifications for {% data variables.product.prodname_dependabot %} version updates
|
||||
|
||||
Puedes filtrar tus notificaciones en {% data variables.product.company_short %} para mostrar las actualizaciones de versión del {% data variables.product.prodname_dependabot %}. Para recibir más información, consulta la sección "[Administrar las notificaciones desde tu bandeja de entrada](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)".
|
||||
You can filter your notifications on {% data variables.product.company_short %} to show notifications for pull requests created by {% data variables.product.prodname_dependabot %}. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox)."
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
---
|
||||
title: Automatizar al Dependabot con las GitHub Actions
|
||||
intro: 'Ejemplos de cómo puedes utilizar las {% data variables.product.prodname_actions %} para automatizar las tareas comunes relacionadas con el {% data variables.product.prodname_dependabot %}.'
|
||||
title: Automating Dependabot with GitHub Actions
|
||||
intro: 'Examples of how you can use {% data variables.product.prodname_actions %} to automate common {% data variables.product.prodname_dependabot %} related tasks.'
|
||||
permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_actions %} to respond to {% data variables.product.prodname_dependabot %}-created pull requests.'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Actions
|
||||
@@ -15,29 +16,42 @@ topics:
|
||||
- Repositories
|
||||
- Dependencies
|
||||
- Pull requests
|
||||
shortTitle: Utiliza el Dependabot con las acciones
|
||||
shortTitle: Use Dependabot with actions
|
||||
---
|
||||
|
||||
## Acerca del {% data variables.product.prodname_dependabot %} y de las {% data variables.product.prodname_actions %}
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
El {% data variables.product.prodname_dependabot %} crea las solicitudes de cambios para mantener actualizadas tus dependencias y puedes utilizar las {% data variables.product.prodname_actions %} para llevar a cabo tareas automatizadas cuando se creen estas solicitudes de cambios. Por ejemplo, recupera artefactos adicionales, agrega etiquetas, ejecuta pruebas o modifica la solicitud de cambios de cualquier otra forma.
|
||||
## About {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_actions %}
|
||||
|
||||
## Responder a los eventos
|
||||
{% data variables.product.prodname_dependabot %} creates pull requests to keep your dependencies up to date, and you can use {% data variables.product.prodname_actions %} to perform automated tasks when these pull requests are created. For example, fetch additional artifacts, add labels, run tests, or otherwise modifying the pull request.
|
||||
|
||||
El {% data variables.product.prodname_dependabot %} puede activar los flujos de trabajo de las {% data variables.product.prodname_actions %} en sus solicitudes de cambios y comentarios; sin embargo, debido a que los["Flujos de trabajo de las GitHub Actions que activen las solicitudes de cambios del Dependabot se ejecutarán con permisos de solo lectura"](https://github.blog/changelog/2021-02-19-github-actions-workflows-triggered-by-dependabot-prs-will-run-with-read-only-permissions/), se tratará a algunos eventos de forma distinta.
|
||||
## Responding to events
|
||||
|
||||
En el caso de los flujos de trabajos que inició el {% data variables.product.prodname_dependabot %} (`github.actor == "dependabot[bot]"`) y que utilizan los eventos `pull_request`, `pull_request_review`, `pull_request_review_comment`, y `push`, aplicarán las siguientes restricciones:
|
||||
{% data variables.product.prodname_dependabot %} is able to trigger {% data variables.product.prodname_actions %} workflows on its pull requests and comments; however, due to ["GitHub Actions: Workflows triggered by Dependabot PRs will run with read-only permissions"](https://github.blog/changelog/2021-02-19-github-actions-workflows-triggered-by-dependabot-prs-will-run-with-read-only-permissions/), certain events are treated differently.
|
||||
|
||||
- `GITHUB_TOKEN` tiene permisos de solo lectura.
|
||||
- No se puede acceder a los secretos.
|
||||
For workflows initiated by {% data variables.product.prodname_dependabot %} (`github.actor == "dependabot[bot]"`) using the `pull_request`, `pull_request_review`, `pull_request_review_comment`, and `push` events, the following restrictions apply:
|
||||
|
||||
Para obtener màs informaciòn, consulta la secciòn "[Mantener seguras tus GitHub Actions y flujos de trabajo: Prevenir solicitudes de tipo pwn](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)".
|
||||
- `GITHUB_TOKEN` has read-only permissions.
|
||||
- Secrets are inaccessible.
|
||||
|
||||
### Manejar los eventos de `pull_request`
|
||||
For more information, see ["Keeping your GitHub Actions and workflows secure: Preventing pwn requests"](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/).
|
||||
|
||||
Si tu flujo de trabajo necesita acceso a los secretos o a un `GITHUB_TOKEN` con permisos de escritura, tienes dos opciones: utilizar `pull_request_target`, o utilizar dos flujos de trabajo separados. En esta sección, describiremos a detalle cómo utilizar `pull_request_target` y utilizaremos los dos siguientes flujos de trabajo en cómo "[Manejar eventos `push`](#handling-push-events)".
|
||||
{% ifversion ghes > 3.2 %}
|
||||
{% note %}
|
||||
|
||||
Debajo hay un ejemplo simple de un flujo de trabajo de una `pull_request` que podría estar fallando ahora:
|
||||
**Note:** Your site administrator can override these restrictions for {% data variables.product.product_location %}. For more information, see "[Troubleshooting {% data variables.product.prodname_actions %} for your enterprise](/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise#troubleshooting-failures-when-dependabot-triggers-existing-workflows)."
|
||||
|
||||
If the restrictions are removed, when a workflow is triggered by {% data variables.product.prodname_dependabot %} it will have access to any secrets that are normally available. In addition, workflows triggered by {% data variables.product.prodname_dependabot %} can use the `permissions` term to increase the default scope of the `GITHUB_TOKEN` from read-only access.
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
### Handling `pull_request` events
|
||||
|
||||
If your workflow needs access to secrets or a `GITHUB_TOKEN` with write permissions, you have two options: using `pull_request_target`, or using two separate workflows. We will detail using `pull_request_target` in this section, and using two workflows below in "[Handling `push` events](#handling-push-events)."
|
||||
|
||||
Below is a simple example of a `pull_request` workflow that might now be failing:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -56,11 +70,11 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Puedes reemplazar a `pull_request` con `pull_request_target`, el cual se utiliza para las solicitudes de cambio de las bifurcaciones y revisar explícitamente el `HEAD` de la solicitud de cambios.
|
||||
You can replace `pull_request` with `pull_request_target`, which is used for pull requests from forks, and explicitly check out the pull request `HEAD`.
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Advertencia:** El utilizar `pull_request_target` como sustituto de `pull_request` de expone a un comportamiento inseguro. Te recomendamos utilizar el método de dos flujos de trabajo de acuerdo con lo que se describe a continuación en "[Administrar eventos `push`](#handling-push-events)".
|
||||
**Warning:** Using `pull_request_target` as a substitute for `pull_request` exposes you to insecure behavior. We recommend you use the two workflow method, as described below in "[Handling `push` events](#handling-push-events)."
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
@@ -87,13 +101,13 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
También se recomienda fuertemente que bajes el alcance de los permisos que otorgas al `GITHUB_TOKEN` para poder evitar que se fugue un token con más privilegios de lo necesario. Para obtener más información, consulta ña sección "[Permisos del `GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)".
|
||||
It is also strongly recommended that you downscope the permissions granted to the `GITHUB_TOKEN` in order to avoid leaking a token with more privilege than necessary. For more information, see "[Permissions for the `GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)."
|
||||
|
||||
### Manejar eventos `push`
|
||||
### Handling `push` events
|
||||
|
||||
Ya que no hay un equivalente de `pull_request_target` para los eventos `push`, tendrás que utilizar dos flujos de trabajo: uno no confiable que termine cargando artefactos, el cual activará un segundo flujo de trabajo que descargará los artefactos y seguirá procesándose.
|
||||
As there is no `pull_request_target` equivalent for `push` events, you will have to use two workflows: one untrusted workflow that ends by uploading artifacts, which triggers a second trusted workflow that downloads artifacts and continues processing.
|
||||
|
||||
El primer flujo de trabajo lleva a cabo cualquier trabajo no confiable:
|
||||
The first workflow performs any untrusted work:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -111,7 +125,7 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
El segundo flujo de trabajo llevará a cabo el trabajo confiable después de que el primero se complete exitosamente:
|
||||
The second workflow performs trusted work after the first workflow completes successfully:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -120,7 +134,7 @@ name: Dependabot Trusted Workflow
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Dependabot Untrusted Workflow"]
|
||||
types:
|
||||
types:
|
||||
- completed
|
||||
|
||||
permissions:
|
||||
@@ -135,19 +149,19 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Volver a ejecutar un flujo de trabajo manualmente
|
||||
### Manually re-running a workflow
|
||||
|
||||
También puedes volver a ejecutar un flujo de trabajo fallido del Dependabot manualmente y este seguirá ejecutándose con un token de lectura-escritura y con acceso a los secretos. Antes de volver a ejecutar los flujos de trabajo fallidos manualmente, siempre debes verificar la dependencia que se está actualizando para asegurarte de que el cambio no introduzca ningún comportamiento imprevisto o malicioso.
|
||||
You can also manually re-run a failed Dependabot workflow, and it will run with a read-write token and access to secrets. Before manually re-running a failed workflow, you should always check the dependency being updated to ensure that the change doesn't introduce any malicious or unintended behavior.
|
||||
|
||||
## Automatizaciones comunes del Dependabot
|
||||
## Common Dependabot automations
|
||||
|
||||
Aquí mostramos varios escenarios comunes que pueden automatizarse utilizando las {% data variables.product.prodname_actions %}.
|
||||
Here are several common scenarios that can be automated using {% data variables.product.prodname_actions %}.
|
||||
|
||||
### Recuperar metadatos de una solicitud de cambios
|
||||
### Fetch metadata about a pull request
|
||||
|
||||
Automatizar mucho requiere saber información del contenido de la solicitud de cambios: cuál era el nombre de la dependencia, si es una dependencia productva y si es una actualización de parche menor o mayor.
|
||||
A large amount of automation requires knowing information about the contents of the pull request: what the dependency name was, if it's a production dependency, and if it's a major, minor, or patch update.
|
||||
|
||||
La acción `dependabot/fetch-metadata` te proporciona toda esta información:
|
||||
The `dependabot/fetch-metadata` action provides all that information for you:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -165,24 +179,24 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
# The following properties are now available:
|
||||
# - steps.metadata.outputs.dependency-names
|
||||
# - steps.metadata.outputs.dependency-type
|
||||
# - steps.metadata.outputs.update-type
|
||||
# - steps.dependabot-metadata.outputs.dependency-names
|
||||
# - steps.dependabot-metadata.outputs.dependency-type
|
||||
# - steps.dependabot-metadata.outputs.update-type
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Para obtener más información, consulta el repositorio [`dependabot/fetch-metadata`](https://github.com/dependabot/fetch-metadata).
|
||||
For more information, see the [`dependabot/fetch-metadata`](https://github.com/dependabot/fetch-metadata) repository.
|
||||
|
||||
### Etiquetar una solicitud de cambios
|
||||
### Label a pull request
|
||||
|
||||
Si tienes otros flujos de trabajo de automatización o clasificación que se basen en etiquetas de {% data variables.product.prodname_dotcom %}, puedes configurar una acción para asignar etiquetas con base en los metadatos proporcionados.
|
||||
If you have other automation or triage workflows based on {% data variables.product.prodname_dotcom %} labels, you can configure an action to assign labels based on the metadata provided.
|
||||
|
||||
Por ejemplo, si quieres etiquetar todas las actualizaciones de las dependencias de producción con una etiqueta:
|
||||
For example, if you want to flag all production dependency updates with a label:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -200,21 +214,21 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- name: Add a label for all production dependencies
|
||||
if: ${{ steps.metadata.outputs.dependency-type == 'direct:production' }}
|
||||
if: ${{ steps.dependabot-metadata.outputs.dependency-type == 'direct:production' }}
|
||||
run: gh pr edit "$PR_URL" --add-label "production"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Aprobar una solicitud de cambios
|
||||
### Approve a pull request
|
||||
|
||||
Si quieres aprobar las solicitudes de cambios del Dependabot automáticamente, puedes utilizar el {% data variables.product.prodname_cli %} en un flujo de trabajo:
|
||||
If you want to automatically approve Dependabot pull requests, you can use the {% data variables.product.prodname_cli %} in a workflow:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -230,7 +244,7 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
@@ -242,11 +256,11 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Habilita la fusión automática en una solicitud de cambios
|
||||
### Enable auto-merge on a pull request
|
||||
|
||||
Si quieres fusionar tus solicitudes de cambios automáticamente, puedes utilizar la funcionalidad de fusión automática de {% data variables.product.prodname_dotcom %}. Esto habilita a la solicitud de cambios para que se fusione cuando se cumpla con todas las pruebas y aprobaciones requeridas. Para obtener más información sobre la fusión automática, consulta la sección "[Fusionar una solicitud de cambios automáticamente](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)".
|
||||
If you want to auto-merge your pull requests, you can use {% data variables.product.prodname_dotcom %}'s auto-merge functionality. This enables the pull request to be merged when all required tests and approvals are successfully met. For more information on auto-merge, see "[Automatically merging a pull request"](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)."
|
||||
|
||||
Aquí tienes un ejemplo de cómo habilitar la fusión automática para todas las actualizaciones de parche en `my-dependency`:
|
||||
Here is an example of enabling auto-merge for all patch updates to `my-dependency`:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -263,12 +277,12 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- name: Enable auto-merge for Dependabot PRs
|
||||
if: ${{contains(steps.metadata.outputs.dependency-names, 'my-dependency') && steps.metadata.outputs.update-type == 'version-update:semver-patch'}}
|
||||
if: ${{contains(steps.dependabot-metadata.outputs.dependency-names, 'my-dependency') && steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch'}}
|
||||
run: gh pr merge --auto --merge "$PR_URL"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
@@ -276,13 +290,13 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Solucionar los problemas de las ejecuciones de flujo de trabajo fallidas
|
||||
## Troubleshooting failed workflow runs
|
||||
|
||||
Si tu ejecución de flujo de trabajo falla, verifica lo siguiente:
|
||||
If your workflow run fails, check the following:
|
||||
|
||||
- Estás ejecutando el flujo de trabajo únicamente cuando el actor adecuado lo activa.
|
||||
- Estás verificando la `ref` de tu `pull_request`.
|
||||
- No estás intentando acceder a los secretos desde un evento de `pull_request`, `pull_request_review`, `pull_request_review_comment`, o `push` activado por el Dependabot.
|
||||
- No estás intentando llevar a cabo ninguna acción de `write` desde dentro de un evento de tipo `pull_request`, `pull_request_review`, `pull_request_review_comment`, o `push` que haya activado el Dependabot.
|
||||
- You are running the workflow only when the correct actor triggers it.
|
||||
- You are checking out the correct `ref` for your `pull_request`.
|
||||
- You aren't trying to access secrets from within a Dependabot-triggered `pull_request`, `pull_request_review`, `pull_request_review_comment`, or `push` event.
|
||||
- You aren't trying to perform any `write` actions from within a Dependabot-triggered `pull_request`, `pull_request_review`, `pull_request_review_comment`, or `push` event.
|
||||
|
||||
Para obtener más información sobre cómo escribir y depurar las {% data variables.product.prodname_actions %}, consulta la sección "[Aprender sobre las Acciones de GitHub](/actions/learn-github-actions)".
|
||||
For information on writing and debugging {% data variables.product.prodname_actions %}, see "[Learning GitHub Actions](/actions/learn-github-actions)."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Opciones de configuración para actualizaciones de dependencias
|
||||
intro: 'La información detallada para todas las opciones que puedes utilizar para personalizar como el {% data variables.product.prodname_dependabot %} mantiene tus repositorios.'
|
||||
title: Configuration options for dependency updates
|
||||
intro: 'Detailed information for all the options you can use to customize how {% data variables.product.prodname_dependabot %} maintains your repositories.'
|
||||
permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_dependabot %} for the repository.'
|
||||
redirect_from:
|
||||
- /github/administering-a-repository/configuration-options-for-dependency-updates
|
||||
@@ -9,6 +9,7 @@ miniTocMaxHeadingLevel: 3
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: reference
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -16,68 +17,71 @@ topics:
|
||||
- Repositories
|
||||
- Dependencies
|
||||
- Pull requests
|
||||
shortTitle: Opciones de configuración
|
||||
shortTitle: Configuration options
|
||||
---
|
||||
|
||||
## Acerca del archivo *dependabot.yml*
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
El archivo de configuración del {% data variables.product.prodname_dependabot %}, *dependabot.yml*, utiliza la sintaxis YAML. Si eres nuevo en YAML y deseas conocer más, consulta "[Aprender YAML en cinco minutos](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)".
|
||||
## About the *dependabot.yml* file
|
||||
|
||||
Debes almacenar este archivo en el directorio `.github` de tu repositorio. Cuando agregas o actualizas el archivo *dependabot.yml*, esto activa una revisión inmediata de las actualizaciones de la versión. Cualquier opción que también afecte las actualizaciones de seguridad se utiliza en la siguiente ocasión en que una alerta de seguridad active una solicitud de cambios para una actualización de seguridad. Para obtener más información, consulta las secciónes "[Habilitar e inhabilitar las actualizaciones de versión](/github/administering-a-repository/enabling-and-disabling-version-updates)" y "[Configurar las {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)".
|
||||
The {% data variables.product.prodname_dependabot %} configuration file, *dependabot.yml*, uses YAML syntax. If you're new to YAML and want to learn more, see "[Learn YAML in five minutes](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)."
|
||||
|
||||
El archivo *dependabot.yml* tiene dos claves mandatorias de nivel superior: `version`, y `updates`. Opcionalmente, puedes incluir una clave de `registries` de nivel superior. El archivo debe comenzar con `version: 2`.
|
||||
You must store this file in the `.github` directory of your repository. When you add or update the *dependabot.yml* file, this triggers an immediate check for version updates. Any options that also affect security updates are used the next time a security alert triggers a pull request for a security update. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates)."
|
||||
|
||||
## Opciones de configuración para las actualizaciones
|
||||
The *dependabot.yml* file has two mandatory top-level keys: `version`, and `updates`. You can, optionally, include a top-level `registries` key. The file must start with `version: 2`.
|
||||
|
||||
La clave `updates` de nivel superior es obligatoria. La utilizas para configurar la forma en que el {% data variables.product.prodname_dependabot %} actualiza las versiones o las dependencias de tu proyecto. Cada entrada configura los ajustes de actualización para un administrador de paquetes en particular. Puedes utilizar las siguientes opciones.
|
||||
## Configuration options for updates
|
||||
|
||||
| Opción | Requerido | Descripción |
|
||||
|:-------------------------------------------------------------------------- |:---------:|:-------------------------------------------------------------------------------------------------- |
|
||||
| [`package-ecosystem`](#package-ecosystem) | **X** | Administrador de paquetes a utilizar |
|
||||
| [`directorio`](#directory) | **X** | Ubicación de los manifiestos del paquete |
|
||||
| [`schedule.interval`](#scheduleinterval) | **X** | Qué tan a menudo se revisará si hay actualizaciones |
|
||||
| [`allow`](#allow) | | Personalizar qué actualizaciones se permitirán |
|
||||
| [`asignatarios`](#assignees) | | Los asignados a configurar en las solicitudes de extracción |
|
||||
| [`commit-message`](#commit-message) | | Preferencias de mensaje de confirmación |
|
||||
| [`ignore`](#ignore) | | Ignorar ciertas dependencias o versiones |
|
||||
| [`insecure-external-code-execution`](#insecure-external-code-execution) | | Permite o rechaza la ejecución de código en los archivos de manifiesto |
|
||||
| [`etiquetas`](#labels) | | Las etiquetas a configurar en las solicitudes de extracción |
|
||||
| [`hito`](#milestone) | | Hito a configurar en las solicitudes de extracción |
|
||||
| [`open-pull-requests-limit`](#open-pull-requests-limit) | | Limitar la cantidad de solicitudes de extracción abiertas para las actualizaciones de versión |
|
||||
| [`pull-request-branch-name.separator`](#pull-request-branch-nameseparator) | | Cambiar el separador para los nombres de rama de la solicitud de extracción |
|
||||
| [`rebase-strategy`](#rebase-strategy) | | Inhabilitar el rebase automático |
|
||||
| [`registries`](#registries) | | Los registros privados a los que puede acceder el {% data variables.product.prodname_dependabot %}
|
||||
| [`reviewers`](#reviewers) | | Los revisores a configurar en las solicitudes de extracción |
|
||||
| [`schedule.day`](#scheduleday) | | Día de la semana para revisar si hay actualizaciones |
|
||||
| [`schedule.time`](#scheduletime) | | Hora del día para revisar si hay actualizaciones (hh:mm) |
|
||||
| [`schedule.timezone`](#scheduletimezone) | | Huso horario para la hora del día (identificador de zona) |
|
||||
| [`target-branch`](#target-branch) | | Rama contra la cual se creará la solicitud de extracción |
|
||||
| [`vendor`](#vendor) | | Actualiza las dependencias delegadas a proveedores o almacenadas en caché |
|
||||
| [`versioning-strategy`](#versioning-strategy) | | Cómo actualizar los requisitos de la versión del manifiesto |
|
||||
The top-level `updates` key is mandatory. You use it to configure how {% data variables.product.prodname_dependabot %} updates the versions or your project's dependencies. Each entry configures the update settings for a particular package manager. You can use the following options.
|
||||
|
||||
Estas opciones caen a groso modo en las siguientes categorías.
|
||||
| Option | Required | Description |
|
||||
|:---|:---:|:---|
|
||||
| [`package-ecosystem`](#package-ecosystem) | **X** | Package manager to use |
|
||||
| [`directory`](#directory) | **X** | Location of package manifests |
|
||||
| [`schedule.interval`](#scheduleinterval) | **X** | How often to check for updates |
|
||||
| [`allow`](#allow) | | Customize which updates are allowed |
|
||||
| [`assignees`](#assignees) | | Assignees to set on pull requests |
|
||||
| [`commit-message`](#commit-message) | | Commit message preferences |
|
||||
| [`ignore`](#ignore) | | Ignore certain dependencies or versions |
|
||||
| [`insecure-external-code-execution`](#insecure-external-code-execution) | | Allow or deny code execution in manifest files |
|
||||
| [`labels`](#labels) | | Labels to set on pull requests |
|
||||
| [`milestone`](#milestone) | | Milestone to set on pull requests |
|
||||
| [`open-pull-requests-limit`](#open-pull-requests-limit) | | Limit number of open pull requests for version updates|
|
||||
| [`pull-request-branch-name.separator`](#pull-request-branch-nameseparator) | | Change separator for pull request branch names |
|
||||
| [`rebase-strategy`](#rebase-strategy) | | Disable automatic rebasing |
|
||||
| [`registries`](#registries) | | Private registries that {% data variables.product.prodname_dependabot %} can access|
|
||||
| [`reviewers`](#reviewers) | | Reviewers to set on pull requests |
|
||||
| [`schedule.day`](#scheduleday) | | Day of week to check for updates |
|
||||
| [`schedule.time`](#scheduletime) | | Time of day to check for updates (hh:mm) |
|
||||
| [`schedule.timezone`](#scheduletimezone) | | Timezone for time of day (zone identifier) |
|
||||
| [`target-branch`](#target-branch) | | Branch to create pull requests against |
|
||||
| [`vendor`](#vendor) | | Update vendored or cached dependencies |
|
||||
| [`versioning-strategy`](#versioning-strategy) | | How to update manifest version requirements |
|
||||
|
||||
- Opciones de configuración esenciales que debes incluir en todas las configuraciones: [`package-ecosystem`](#package-ecosystem), [`directory`](#directory),[`schedule.interval`](#scheduleinterval).
|
||||
- Opciones para personalizar el calendario de actualización: [`schedule.time`](#scheduletime), [`schedule.timezone`](#scheduletimezone), [`schedule.day`](#scheduleday).
|
||||
- Las opciones para controlar qué dependencias se actualizarán: [`allow`](#allow), [`ignore`](#ignore), [`vendor`](#vendor).
|
||||
- Opciones para agregar metadatos a las solicitudes de extracción: [`reviewers`](#reviewers), [`assignees`](#assignees), [`labels`](#labels), [`milestone`](#milestone).
|
||||
- Opciones para cambiar el comportamiento de las solicitudes de extracción: [`target-branch`](#target-branch), [`versioning-strategy`](#versioning-strategy), [`commit-message`](#commit-message), [`rebase-strategy`](#rebase-strategy), [`pull-request-branch-name.separator`](#pull-request-branch-nameseparator).
|
||||
These options fit broadly into the following categories.
|
||||
|
||||
Adicionalmente, la opción [`open-pull-requests-limit`](#open-pull-requests-limit) cambia la cantidad máxima de solicitudes de extracción para las actualizaciones de versión que puede abrir el {% data variables.product.prodname_dependabot %}.
|
||||
- Essential set up options that you must include in all configurations: [`package-ecosystem`](#package-ecosystem), [`directory`](#directory),[`schedule.interval`](#scheduleinterval).
|
||||
- Options to customize the update schedule: [`schedule.time`](#scheduletime), [`schedule.timezone`](#scheduletimezone), [`schedule.day`](#scheduleday).
|
||||
- Options to control which dependencies are updated: [`allow`](#allow), [`ignore`](#ignore), [`vendor`](#vendor).
|
||||
- Options to add metadata to pull requests: [`reviewers`](#reviewers), [`assignees`](#assignees), [`labels`](#labels), [`milestone`](#milestone).
|
||||
- Options to change the behavior of the pull requests: [`target-branch`](#target-branch), [`versioning-strategy`](#versioning-strategy), [`commit-message`](#commit-message), [`rebase-strategy`](#rebase-strategy), [`pull-request-branch-name.separator`](#pull-request-branch-nameseparator).
|
||||
|
||||
In addition, the [`open-pull-requests-limit`](#open-pull-requests-limit) option changes the maximum number of pull requests for version updates that {% data variables.product.prodname_dependabot %} can open.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Algunas de estas opciones de configuración también pueden afectar a las solicitudes de extracción que se levantan para las actualizaciones de seguridad de los manifiestos delos paquetes vulnerables.
|
||||
**Note:** Some of these configuration options may also affect pull requests raised for security updates of vulnerable package manifests.
|
||||
|
||||
Las actualizaciones de seguridad se levantan para los manifiestos de paquetes vulnerables únicamente en la rama predeterminada. Cuando se establecen las opciones de configuración para la misma rama (como "true" a menos de que utilices `target-branch`), y se especifica un `package-ecosystem` y `directory` para el manifiesto vulnerable, entonces las solicitudes de extracción para las actualizaciones de seguridad utilizan las opciones relevantes.
|
||||
Security updates are raised for vulnerable package manifests only on the default branch. When configuration options are set for the same branch (true unless you use `target-branch`), and specify a `package-ecosystem` and `directory` for the vulnerable manifest, then pull requests for security updates use relevant options.
|
||||
|
||||
En general, las actualizaciones de seguridad utilizan cualquier opción de configuración que afecte las solicitudes de extracción, por ejemplo, agregar metadatos o cambiar su comportamiento. Para obtener más información acerca de las actualizaciones de seguridad, consulta la sección "[Configurar {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)".
|
||||
In general, security updates use any configuration options that affect pull requests, for example, adding metadata or changing their behavior. For more information about security updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### `package-ecosystem`
|
||||
|
||||
**Requerido**. Agregarás un elemento de `package-ecosystem` para cada administrador de paquetes que quieras que monitoree el {% data variables.product.prodname_dependabot %} para encontrar versiones nuevas. El repositorio también debe contener un archivo bloqueado o de manifiesto de dependencias para cada uno de estos administradores de paquetes. Si quieres habilitar la delegación a proveedores para un administrador de paquetes que sea compatible con ella, las dependencias delegadas a proveedores deben ubicarse en el directorio requerido. Para obtener más información, consulta la sección [`vendor`](#vendor) a continuación.
|
||||
**Required**. You add one `package-ecosystem` element for each package manager that you want {% data variables.product.prodname_dependabot %} to monitor for new versions. The repository must also contain a dependency manifest or lock file for each of these package managers. If you want to enable vendoring for a package manager that supports it, the vendored dependencies must be located in the required directory. For more information, see [`vendor`](#vendor) below.
|
||||
|
||||
{% data reusables.dependabot.supported-package-managers %}
|
||||
|
||||
@@ -106,9 +110,9 @@ updates:
|
||||
interval: "daily"
|
||||
```
|
||||
|
||||
### `directorio`
|
||||
### `directory`
|
||||
|
||||
**Requerido**. Debes definir la ubicación de los manifiestos de los paquetes para cada administrador de paquetes (por ejemplo, el *package.json* o *Gemfile*). Tú definierás el directorio relativo a la raíz del repositorio para todos los ecosistemas, menos para GitHub Actions. Para GitHub Actions, configura el directorio para que sea `/` y así revisar los archivos de flujo de trabajo en `.github/workflows`.
|
||||
**Required**. You must define the location of the package manifests for each package manager (for example, the *package.json* or *Gemfile*). You define the directory relative to the root of the repository for all ecosystems except GitHub Actions. For GitHub Actions, set the directory to `/` to check for workflow files in `.github/workflows`.
|
||||
|
||||
```yaml
|
||||
# Specify location of manifest files for each package manager
|
||||
@@ -137,11 +141,11 @@ updates:
|
||||
|
||||
### `schedule.interval`
|
||||
|
||||
**Requerido**. Debes definir la frecuencia en la que se verificará si hay versiones nuevas para cada administrador de paquetes. Predeterminadamente, el {% data variables.product.prodname_dependabot %} asigna una hora aleatoria para aplicar todas las actualizaciones en el archivo de configuración. Para configurar una hora específica, puedes utilizar [`schedule.time`](#scheduletime) y [`schedule.timezone`](#scheduletimezone).
|
||||
**Required**. You must define how often to check for new versions for each package manager. By default, {% data variables.product.prodname_dependabot %} randomly assigns a time to apply all the updates in the configuration file. To set a specific time, you can use [`schedule.time`](#scheduletime) and [`schedule.timezone`](#scheduletimezone).
|
||||
|
||||
- `daily`—se ejecuta en cada día de la semana, de Lunes a Viernes.
|
||||
- `weekly`—se ejecuta una vez cada semana. Predeterminadamente, esto ocurre los lunes. Para modificar esto, utiliza [`schedule.day`](#scheduleday).
|
||||
- `monthly`—se ejecuta una vez al mes. Esto ocurre en el primer día de cada mes.
|
||||
- `daily`—runs on every weekday, Monday to Friday.
|
||||
- `weekly`—runs once each week. By default, this is on Monday. To modify this, use [`schedule.day`](#scheduleday).
|
||||
- `monthly`—runs once each month. This is on the first day of the month.
|
||||
|
||||
```yaml
|
||||
# Set update schedule for each package manager
|
||||
@@ -164,7 +168,7 @@ updates:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note**: `schedule` define cuando el {% data variables.product.prodname_dependabot %} intenta hacer una actualización nueva. Sin embargo, no es la única ocasión en la que podrías recibir solilcitudes de cambio. Las actualizaciones pueden activarse con base en los cambios a tu archivo de `dependabot.yml`, los cambios a tus archivo(s) de manifiesto después de una actualización fallida, o las {% data variables.product.prodname_dependabot_security_updates %}. Para obtener más información, consulta las secciones "[Frecuencia de las solicitudes de cambio del {% data variables.product.prodname_dependabot %}](/github/administering-a-repository/about-dependabot-version-updates#frequency-of-dependabot-pull-requests)" y "[Acerca de las {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)".
|
||||
**Note**: `schedule` defines when {% data variables.product.prodname_dependabot %} attempts a new update. However, it's not the only time you may receive pull requests. Updates can be triggered based on changes to your `dependabot.yml` file, changes to your manifest file(s) after a failed update, or {% data variables.product.prodname_dependabot_security_updates %}. For more information, see "[Frequency of {% data variables.product.prodname_dependabot %} pull requests](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates#frequency-of-dependabot-pull-requests)" and "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
@@ -172,18 +176,18 @@ updates:
|
||||
|
||||
{% data reusables.dependabot.default-dependencies-allow-ignore %}
|
||||
|
||||
Utiliza la opción `allow` para personalizar qué dependencias se actualizan. Esto aplica tanto a la versión como a las actualizaciones de seguridad. Puedes utilizar las siguientes opciones:
|
||||
Use the `allow` option to customize which dependencies are updated. This applies to both version and security updates. You can use the following options:
|
||||
|
||||
- `dependency-name`—se utiliza para permitir actualizaciones para las dependencias con nombres coincidentes, opcionalmente, utiliza `*` para empatar cero o más caracteres. Para las dependencias de Java, el formato del atributo `dependency-name` es: `groupId:artifactId`, por ejemplo: `org.kohsuke:github-api`.
|
||||
- `dependency-type`—utilízalo para permitir actualizaciones para dependencias de tipos específicos.
|
||||
- `dependency-name`—use to allow updates for dependencies with matching names, optionally using `*` to match zero or more characters. For Java dependencies, the format of the `dependency-name` attribute is: `groupId:artifactId`, for example: `org.kohsuke:github-api`.
|
||||
- `dependency-type`—use to allow updates for dependencies of specific types.
|
||||
|
||||
| Tipos de dependencia | Administradores de paquete compatibles | Permitir actualizaciones |
|
||||
| -------------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `direct` | Todas | Todas las dependencias definidas explícitamente. |
|
||||
| `indirect` | `bundler`, `pip`, `composer`, `cargo` | Las dependencias de las dependencias directas (también conocidas como sub-dependencias, o dependencias transitorias). |
|
||||
| `all` | Todas | Todas las dependencias definidas explícitamente. Para `bundler`, `pip`, `composer`, `cargo`, también las dependencias de las dependencias directas. |
|
||||
| `production` | `bundler`, `composer`, `mix`, `maven`, `npm`, `pip` | Solo las dependencias en el "Grupo de dependencias de producción". |
|
||||
| `development` | `bundler`, `composer`, `mix`, `maven`, `npm`, `pip` | Únicamente las dependencias en el "Grupo de dependencias de desarrollo". |
|
||||
| Dependency types | Supported by package managers | Allow updates |
|
||||
|------------------|-------------------------------|--------|
|
||||
| `direct` | All | All explicitly defined dependencies. |
|
||||
| `indirect` | `bundler`, `pip`, `composer`, `cargo` | Dependencies of direct dependencies (also known as sub-dependencies, or transient dependencies).|
|
||||
| `all` | All | All explicitly defined dependencies. For `bundler`, `pip`, `composer`, `cargo`, also the dependencies of direct dependencies.|
|
||||
| `production` | `bundler`, `composer`, `mix`, `maven`, `npm`, `pip` | Only dependencies in the "Production dependency group". |
|
||||
| `development`| `bundler`, `composer`, `mix`, `maven`, `npm`, `pip` | Only dependencies in the "Development dependency group". |
|
||||
|
||||
```yaml
|
||||
# Use `allow` to specify which dependencies to maintain
|
||||
@@ -222,9 +226,9 @@ updates:
|
||||
dependency-type: "production"
|
||||
```
|
||||
|
||||
### `asignatarios`
|
||||
### `assignees`
|
||||
|
||||
Utiliza `assignees` para especificar a los asignados individuales para todas las solicitudes de extracción levantadas para un administrador de paquete.
|
||||
Use `assignees` to specify individual assignees for all pull requests raised for a package manager.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -244,13 +248,13 @@ updates:
|
||||
|
||||
### `commit-message`
|
||||
|
||||
Predeterminadamente, el {% data variables.product.prodname_dependabot %} intenta detectar tus preferencias de mensajes de confirmación y utiliza patrones similares. Utiliza la opción`commit-message` para especificar tus preferencias explícitamente.
|
||||
By default, {% data variables.product.prodname_dependabot %} attempts to detect your commit message preferences and use similar patterns. Use the `commit-message` option to specify your preferences explicitly.
|
||||
|
||||
Opciones compatibles
|
||||
Supported options
|
||||
|
||||
- `prefix` especifica un prefijo para todos los mensajes de confirmación.
|
||||
- `prefix-development` especifica un prefijo separado para todos los mensajes de confirmación que actualizan dependencias en el grupo de dependencias de desarrollo. Cuando especificas un valor para esta opción, `prefix` se utiliza únicamente para las actualizaciones a las dependencias en el grupo de dependencias de producción. Esto es compatible con: `bundler`, `composer`, `mix`, `maven`, `npm`, y `pip`.
|
||||
- `include: "scope"` especifica que cualquier prefijo es sucedido por una lista de dependencias actualizadas en la confirmación.
|
||||
- `prefix` specifies a prefix for all commit messages.
|
||||
- `prefix-development` specifies a separate prefix for all commit messages that update dependencies in the Development dependency group. When you specify a value for this option, the `prefix` is used only for updates to dependencies in the Production dependency group. This is supported by: `bundler`, `composer`, `mix`, `maven`, `npm`, and `pip`.
|
||||
- `include: "scope"` specifies that any prefix is followed by a list of the dependencies updated in the commit.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -293,25 +297,25 @@ updates:
|
||||
|
||||
{% data reusables.dependabot.default-dependencies-allow-ignore %}
|
||||
|
||||
Las dependencias pueden ignorarse ya sea agregándolas a `ignore` o utilizando el comando `@dependabot ignore` en una solicitud de cambios que haya abierto el {% data variables.product.prodname_dependabot %}.
|
||||
Dependencies can be ignored either by adding them to `ignore` or by using the `@dependabot ignore` command on a pull request opened by {% data variables.product.prodname_dependabot %}.
|
||||
|
||||
#### Crear condiciones de `ignore` desde `@dependabot ignore`
|
||||
#### Creating `ignore` conditions from `@dependabot ignore`
|
||||
|
||||
Las dependencias que se ignoran utilizando el comando `@dependabot ignore` se almacenan centralmente para cada administrador de paquete. Si comienzas a ignorar las dependencias en el archivo `dependabot.yml`, estas preferencias existentes se consideran junto con las dependencias de `ignore` en la configuración.
|
||||
Dependencies ignored by using the `@dependabot ignore` command are stored centrally for each package manager. If you start ignoring dependencies in the `dependabot.yml` file, these existing preferences are considered alongside the `ignore` dependencies in the configuration.
|
||||
|
||||
Puedes verificar si un repositorio tiene preferencias de `ignore` almacenadas si buscas `"@dependabot ignore" in:comments` en este. Si quieres dejar de ignorar una dependencia que se haya ignorado de esta forma, vuelve a abrir la solicitud de cambios.
|
||||
You can check whether a repository has stored `ignore` preferences by searching the repository for `"@dependabot ignore" in:comments`. If you wish to un-ignore a dependency ignored this way, re-open the pull request.
|
||||
|
||||
Para obtener más información acerca de los comandos de `@dependabot ignore`, consulta la sección "[Administrar las solicitudes de extracción para las actualizaciones de dependencias](/github/administering-a-repository/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)".
|
||||
For more information about the `@dependabot ignore` commands, see "[Managing pull requests for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)."
|
||||
|
||||
#### Especificar dependencias y versiones para ignorar
|
||||
#### Specifying dependencies and versions to ignore
|
||||
|
||||
Puedes utilizar la opción `ignore` para personalizar qué dependencias se actualizarán. La opción `ignore` es compatible con las siguientes opciones.
|
||||
You can use the `ignore` option to customize which dependencies are updated. The `ignore` option supports the following options.
|
||||
|
||||
- `dependency-name`—se utiliza para ignorar actualizaciones para las dependencias con nombres coincidentes, opcionalmente, utiliza `*` para empatar cero o más caracteres. Para las dependencias de Java, el formato del atributo `dependency-name` es: `groupId:artifactId` (por ejemplo: `org.kohsuke:github-api`).
|
||||
- `versions`—se utiliza para ignorar versiones o rangos específicos de las versiones. Si quieres definir un rango, utiliza el patrón estándar del administrador de paquetes (por ejemplo: `^1.0.0` para npm, o `~> 2.0` para Bundler).
|
||||
- `update-types`—Se utiliza para ignorar tipos de actualizaciones tales como las de tipo `major`, `minor`, o `patch` en actualizaciones de versión (por ejemplo: `version-update:semver-patch` ignorará las actualizaciones de parche). Puedes combinar esto con `dependency-name: "*"` para ignorar algún `update-types` en particular en todas las dependencias. Actualmente, `version-update:semver-major`, `version-update:semver-minor`, y `version-update:semver-patch` son las únicas opciones compatibles. Este ajuste no afectará a las actualizaciones de seguridad.
|
||||
- `dependency-name`—use to ignore updates for dependencies with matching names, optionally using `*` to match zero or more characters. For Java dependencies, the format of the `dependency-name` attribute is: `groupId:artifactId` (for example: `org.kohsuke:github-api`).
|
||||
- `versions`—use to ignore specific versions or ranges of versions. If you want to define a range, use the standard pattern for the package manager (for example: `^1.0.0` for npm, or `~> 2.0` for Bundler).
|
||||
- `update-types`—use to ignore types of updates, such as semver `major`, `minor`, or `patch` updates on version updates (for example: `version-update:semver-patch` will ignore patch updates). You can combine this with `dependency-name: "*"` to ignore particular `update-types` for all dependencies. Currently, `version-update:semver-major`, `version-update:semver-minor`, and `version-update:semver-patch` are the only supported options. Security updates are unaffected by this setting.
|
||||
|
||||
Si las `versions` y los `update-types` se utilizan juntos, el {% data variables.product.prodname_dependabot %} ignorará todas las actualizaciones en cualquiera que se configure.
|
||||
If `versions` and `update-types` are used together, {% data variables.product.prodname_dependabot %} will ignore any update in either set.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -337,16 +341,16 @@ updates:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota**: El {% data variables.product.prodname_dependabot %} solo puede ejecutar actualizaciones de versión en los archivos de bloqueo o de manifiesto si puede acceder a todas las dependencias en estos archivos, aún si agregas dependencias inaccesibles a la opción `ignore` de tu archivo de configuración. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis de tu organización](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization#allowing-dependabot-to-access-private-dependencies)" y "[Solución de problemas para errores del {% data variables.product.prodname_dependabot %}](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors#dependabot-cant-resolve-your-dependency-files)".
|
||||
**Note**: {% data variables.product.prodname_dependabot %} can only run version updates on manifest or lock files if it can access all of the dependencies in the file, even if you add inaccessible dependencies to the `ignore` option of your configuration file. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization#allowing-dependabot-to-access-private-dependencies)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors#dependabot-cant-resolve-your-dependency-files)."
|
||||
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### `insecure-external-code-execution`
|
||||
|
||||
Los administradores de paquetes con los valores `bundler`, `mix`, y `pip` de `package-ecosystem` pueden ejecutar el código externo en el manifiesto como parte del proceso de actualización de la versión. Esto podría permitir que un paquete que se haya puesto en riesgo borre las credenciales u obtenga acceso a los registros configurados. Cuando agregas un ajuste de [`registries`](#registries) dentro de una configuración de `updates`, el {% data variables.product.prodname_dependabot %} prevendrá automáticamente la ejecución de código externo, en cuyo caso, la actualización de versión podría fallar. Puedes elegir ignorar este comportamiento y permitir la ejecución de código externo para los administradores de paquetes `bundler`, `mix`, y `pip` si configuras a `insecure-external-code-execution` en `allow`.
|
||||
Package managers with the `package-ecosystem` values `bundler`, `mix`, and `pip` may execute external code in the manifest as part of the version update process. This might allow a compromised package to steal credentials or gain access to configured registries. When you add a [`registries`](#registries) setting within an `updates` configuration, {% data variables.product.prodname_dependabot %} automatically prevents external code execution, in which case the version update may fail. You can choose to override this behavior and allow external code execution for `bundler`, `mix`, and `pip` package managers by setting `insecure-external-code-execution` to `allow`.
|
||||
|
||||
Puedes negar explícitamente la ejecución de código externo, sin importar si es que hay un ajuste de `registries` para esta configuración de actualización, configurando a `insecure-external-code-execution` en `deny`.
|
||||
You can explicitly deny external code execution, irrespective of whether there is a `registries` setting for this update configuration, by setting `insecure-external-code-execution` to `deny`.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -368,11 +372,12 @@ updates:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `etiquetas`
|
||||
### `labels`
|
||||
|
||||
{% data reusables.dependabot.default-labels %}
|
||||
|
||||
Utiliza `labels` para anular las etiquetas predeterminadas y especificar las etiquetas alternas para todas las solicitudes de extracción que se levante para un administrador de paquete. Si ninguna de estas etiquetas se define en el repositorio, entonces se ha ignorado. Para inhabilitar todas las etiquetas, incluyendo aquellas predeterminadas, utiliza `labels: [ ]`.
|
||||
Use `labels` to override the default labels and specify alternative labels for all pull requests raised for a package manager. If any of these labels is not defined in the repository, it is ignored.
|
||||
To disable all labels, including the default labels, use `labels: [ ]`.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -391,9 +396,9 @@ updates:
|
||||
- "dependencies"
|
||||
```
|
||||
|
||||
### `hito`
|
||||
### `milestone`
|
||||
|
||||
Utiliza `milestone` para asociar todas las solicitudes de extracción que se han levantado para un administrador de paquete con un hito. Necesitas especificar el identificador numérico del hito y, no así, su etiqueta. Si ves un hito, la parte final de la URL de la página, después de `milestone`, es el identificador. Por ejemplo: `https://github.com/<org>/<repo>/milestone/3`.
|
||||
Use `milestone` to associate all pull requests raised for a package manager with a milestone. You need to specify the numeric identifier of the milestone and not its label. If you view a milestone, the final part of the page URL, after `milestone`, is the identifier. For example: `https://github.com/<org>/<repo>/milestone/3`.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -412,9 +417,9 @@ updates:
|
||||
|
||||
### `open-pull-requests-limit`
|
||||
|
||||
Predeterminadamente, {% data variables.product.prodname_dependabot %} abre un máximo de cinco solicitudes de extracción para las actualizaciones de versión. Una vez que hayan cinco solicitudes de cambio abiertas, las solicitudes nuevas se bloquearán hasta que fusiones o cierres algunas de las sollicitudes abiertas, después de lo cual, las solicitudes de cambiso nuevas pueden abrirse en actualizaciones subsecuentes. Utiliza `open-pull-requests-limit` para cambiar este límite. Esto también proporciona una forma simple de inhabilitar temporalmente las actualizaciones de versión para un administrador de paquete.
|
||||
By default, {% data variables.product.prodname_dependabot %} opens a maximum of five pull requests for version updates. Once there are five open pull requests, new requests are blocked until you merge or close some of the open requests, after which new pull requests can be opened on subsequent updates. Use `open-pull-requests-limit` to change this limit. This also provides a simple way to temporarily disable version updates for a package manager.
|
||||
|
||||
Esta opción no tiene impacto en las actualizaciones de seguridad que tienen un límite separado e interno de diez solicitudes de extracción abiertas.
|
||||
This option has no impact on security updates, which have a separate, internal limit of ten open pull requests.
|
||||
|
||||
```yaml
|
||||
# Specify the number of open pull requests allowed
|
||||
@@ -438,9 +443,9 @@ updates:
|
||||
|
||||
### `pull-request-branch-name.separator`
|
||||
|
||||
El {% data variables.product.prodname_dependabot %} genera una rama para cada solicitud de extracción. Cada nombre de rama incluye `dependabot`, y el administrador de paquete y la dependencia que se actualizaron. Predeterminadamente, estas partes están separadas por un símbolo de `/`, por ejemplo: `dependabot/npm_and_yarn/next_js/acorn-6.4.1`.
|
||||
{% data variables.product.prodname_dependabot %} generates a branch for each pull request. Each branch name includes `dependabot`, and the package manager and dependency that are updated. By default, these parts are separated by a `/` symbol, for example: `dependabot/npm_and_yarn/next_js/acorn-6.4.1`.
|
||||
|
||||
Utiliza `pull-request-branch-name.separator` para especificar un separador diferente. Este puede ser alguno de entre: `"-"`, `_` o `/`. El símbolo de guión debe estar entre comillas porque, de lo contrario, se interpretará como que está declarando una lista YAML vacía.
|
||||
Use `pull-request-branch-name.separator` to specify a different separator. This can be one of: `"-"`, `_` or `/`. The hyphen symbol must be quoted because otherwise it's interpreted as starting an empty YAML list.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -461,12 +466,12 @@ updates:
|
||||
|
||||
### `rebase-strategy`
|
||||
|
||||
Predeterminadamente, el{% data variables.product.prodname_dependabot %} rebasa automáticamente las solicitudes de cambios abiertas y detecta cualquier cambio en ellas. Utiliza `rebase-strategy` para inhabilitar este comportamiento.
|
||||
By default, {% data variables.product.prodname_dependabot %} automatically rebases open pull requests when it detects any changes to the pull request. Use `rebase-strategy` to disable this behavior.
|
||||
|
||||
Estrategias de rebase disponibles
|
||||
Available rebase strategies
|
||||
|
||||
- `disabled` para inhabilitar el rebase automático.
|
||||
- `auto` para utilizar el comportamiento predeterminado y rebasar las solicitudes de cambios abiertas cuando se detecten cambios.
|
||||
- `disabled` to disable automatic rebasing.
|
||||
- `auto` to use the default behavior and rebase open pull requests when changes are detected.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -485,9 +490,9 @@ updates:
|
||||
|
||||
### `registries`
|
||||
|
||||
Para permitir que el {% data variables.product.prodname_dependabot %} acceda a un registro de paquete privado cuando esté realizando una actualización de versión, debes incluir un ajuste de `registries` dentro de la configuración relevante de `updates`. Puedes permitir que se utilicen todos los registros definidos si configuras a `registries` en `"*"`. Como alternativa, puedes listar los registros que puede utilizar la actualización. Para hacerlo, utiliza el nombre del registro como se define en la sección `registries` de nivel superior en el archivo _dependabot.yml_.
|
||||
To allow {% data variables.product.prodname_dependabot %} to access a private package registry when performing a version update, you must include a `registries` setting within the relevant `updates` configuration. You can allow all of the defined registries to be used by setting `registries` to `"*"`. Alternatively, you can list the registries that the update can use. To do this, use the name of the registry as defined in the top-level `registries` section of the _dependabot.yml_ file.
|
||||
|
||||
Para permitir que el {% data variables.product.prodname_dependabot %} utilice los administradores de paquetes `bundler`, `mix`, y `pip` para actualizar dependencias en los registros privados, puedes elegir el permitir la ejecución de código externo. Para obtener más información, consulta [`insecure-external-code-execution`](#insecure-external-code-execution).
|
||||
To allow {% data variables.product.prodname_dependabot %} to use `bundler`, `mix`, and `pip` package managers to update dependencies in private registries, you can choose to allow external code execution. For more information, see [`insecure-external-code-execution`](#insecure-external-code-execution).
|
||||
|
||||
```yaml
|
||||
# Allow {% data variables.product.prodname_dependabot %} to use one of the two defined private registries
|
||||
@@ -518,7 +523,7 @@ updates:
|
||||
|
||||
### `reviewers`
|
||||
|
||||
Utiliza `reviewers` para especificar los revisores o equipos individuales de revisores para las solicitudes de extracción que se levantaron para un administrador de paquete. Debes utilizar el nombre completo del equipo, incluyendo la organización, como si lo estuvieras @mencionando.
|
||||
Use `reviewers` to specify individual reviewers or teams of reviewers for all pull requests raised for a package manager. You must use the full team name, including the organization, as if you were @mentioning the team.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
@@ -540,9 +545,9 @@ updates:
|
||||
|
||||
### `schedule.day`
|
||||
|
||||
Cuando configuras una programación de actualizaciones en `weekly`, predeterminadamente, {% data variables.product.prodname_dependabot %} revisa si hay versiones nuevas los lunes en alguna hora aleatoria para el repositorio. Utiliza `schedule.day` para especificar un día alterno para revisar si hay actualizaciones.
|
||||
When you set a `weekly` update schedule, by default, {% data variables.product.prodname_dependabot %} checks for new versions on Monday at a random set time for the repository. Use `schedule.day` to specify an alternative day to check for updates.
|
||||
|
||||
Valores compatibles
|
||||
Supported values
|
||||
|
||||
- `monday`
|
||||
- `tuesday`
|
||||
@@ -567,7 +572,7 @@ updates:
|
||||
|
||||
### `schedule.time`
|
||||
|
||||
Predeterminadamente, el {% data variables.product.prodname_dependabot %} revisa si hay nuevas versiones en una hora aleatoria para el repositorio. Utiliza `schedule.time` para especificar una hora alterna para revisar si hay actualizaciones (formato: `hh:mm`).
|
||||
By default, {% data variables.product.prodname_dependabot %} checks for new versions at a random set time for the repository. Use `schedule.time` to specify an alternative time of day to check for updates (format: `hh:mm`).
|
||||
|
||||
```yaml
|
||||
# Set a time for checks
|
||||
@@ -583,7 +588,7 @@ updates:
|
||||
|
||||
### `schedule.timezone`
|
||||
|
||||
Predeterminadamente, el {% data variables.product.prodname_dependabot %} revisa si hay nuevas versiones en una hora aleatoria para el repositorio. Utiliza `schedule.timezone` para especificar un huso horario alternativo. El identificador de zona debe ser tomado de la base de datos de Husos Horarios que mantiene [iana](https://www.iana.org/time-zones). Para obtener más información, consulta la [Lista de bases de datos tz para husos horarios](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
||||
By default, {% data variables.product.prodname_dependabot %} checks for new versions at a random set time for the repository. Use `schedule.timezone` to specify an alternative time zone. The time zone identifier must be from the Time Zone database maintained by [iana](https://www.iana.org/time-zones). For more information, see [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
||||
|
||||
```yaml
|
||||
# Specify the timezone for checks
|
||||
@@ -601,7 +606,7 @@ updates:
|
||||
|
||||
### `target-branch`
|
||||
|
||||
Predeterminadamente, el {% data variables.product.prodname_dependabot %} revisa si hay archivos de manifiesto en las ramas predeterminadas y levanta solicitudes de extracción para las actualizaciones de versión contra dicha rama. Utiliza `target-branch` para especificar una rama diferente para los archivos de manifiesto y para las solicitudes de extracción. Cuando utilizas esta opción, la configuración para este administrador de paquete ya no afectará ninguna solicitud de extracción que se haya levantado para las actualizaciones de seguridad.
|
||||
By default, {% data variables.product.prodname_dependabot %} checks for manifest files on the default branch and raises pull requests for version updates against this branch. Use `target-branch` to specify a different branch for manifest files and for pull requests. When you use this option, the settings for this package manager will no longer affect any pull requests raised for security updates.
|
||||
|
||||
```yaml
|
||||
# Specify a non-default branch for pull requests for pip
|
||||
@@ -632,7 +637,7 @@ updates:
|
||||
|
||||
### `vendor`
|
||||
|
||||
Utiliza la opción `vendor` para indicar al {% data variables.product.prodname_dependabot %} delegar las dependencias a los proveedores cuando se actualicen. No utilices esta opción si estás usando `gomod`, ya que el {% data variables.product.prodname_dependabot %} detecta la delegación a vendedores automáticamente para esta herramienta.
|
||||
Use the `vendor` option to tell {% data variables.product.prodname_dependabot %} to vendor dependencies when updating them. Don't use this option if you're using `gomod` as {% data variables.product.prodname_dependabot %} automatically detects vendoring for this tool.
|
||||
|
||||
```yaml
|
||||
# Configure version updates for both dependencies defined in manifests and vendored dependencies
|
||||
@@ -647,34 +652,34 @@ updates:
|
||||
interval: "weekly"
|
||||
```
|
||||
|
||||
El {% data variables.product.prodname_dependabot %} solo actualiza las dependencias delegadas a proveedores que se ubiquen en directorios específicos en un repositorio.
|
||||
{% data variables.product.prodname_dependabot %} only updates the vendored dependencies located in specific directories in a repository.
|
||||
|
||||
| Administración de paquetes | Ruta de archivo requerida para las dependencias delegadas | Más información |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
|
||||
| `bundler` | Las dependencias deben estar en el directorio _vendor/cache_.</br>Otras rutas de archivo no son compatibles. | [documentación de `bundle cache`](https://bundler.io/man/bundle-cache.1.html) |
|
||||
| `gomod` | No hay requisitos de ruta (las dependencias se ubican habitualmente en el directorio _vendor_) | [documentación de `go mod vendor`](https://golang.org/ref/mod#go-mod-vendor) |
|
||||
| Package manager | Required file path for vendored dependencies | More information |
|
||||
|------------------|-------------------------------|--------|
|
||||
| `bundler` | The dependencies must be in the _vendor/cache_ directory.</br>Other file paths are not supported. | [`bundle cache` documentation](https://bundler.io/man/bundle-cache.1.html) |
|
||||
| `gomod` | No path requirement (dependencies are usually located in the _vendor_ directory) | [`go mod vendor` documentation](https://golang.org/ref/mod#go-mod-vendor) |
|
||||
|
||||
|
||||
### `versioning-strategy`
|
||||
|
||||
Cuando el {% data variables.product.prodname_dependabot %} edita un archivo de manifiesto para actualizar una versión, utiliza las siguientes estrategias generales:
|
||||
When {% data variables.product.prodname_dependabot %} edits a manifest file to update a version, it uses the following overall strategies:
|
||||
|
||||
- Para las apps, los requisitos de versión se incrementan, por ejemplo: npm, pip y Composer.
|
||||
- Para las bibliotecas, el rango de versiones se amplía, por ejemplo: Bundler y Cargo.
|
||||
- For apps, the version requirements are increased, for example: npm, pip and Composer.
|
||||
- For libraries, the range of versions is widened, for example: Bundler and Cargo.
|
||||
|
||||
Utiliza la opción `versioning-strategy` para cambiar este comportamiento para los administradores de paquete compatibles.
|
||||
Use the `versioning-strategy` option to change this behavior for supported package managers.
|
||||
|
||||
{% data reusables.dependabot.option-affects-security-updates %}
|
||||
|
||||
Estrategias de actualización disponibles
|
||||
Available update strategies
|
||||
|
||||
| Opción | Compatible con | Acción |
|
||||
| ----------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `lockfile-only` | `bundler`, `cargo`, `composer`, `mix`, `npm`, `pip` | Crear únicamente solicitudes de cambios para actualizar archivos de bloqueo. Ignorar cualquier versión nueva que pudiera requerir cambios en el paquete del manifiesto. |
|
||||
| `auto` | `bundler`, `cargo`, `composer`, `mix`, `npm`, `pip` | Seguir la estrategia predeterminada descrita anteriormente. |
|
||||
| `widen` | `composer`, `npm` | Relajar el requisito de versión para que incluya tanto la versión nueva como la anterior, cuando sea posible. |
|
||||
| `increase` | `bundler`, `composer`, `npm` | Siempre incrementar el requisito de versión para que empate con la versión nueva. |
|
||||
| `increase-if-necessary` | `bundler`, `composer`, `npm` | Incrementar el requisito de versión únicamente cuando lo requiera la versión nueva. |
|
||||
| Option | Supported by | Action |
|
||||
|--------|--------------|--------|
|
||||
| `lockfile-only` | `bundler`, `cargo`, `composer`, `mix`, `npm`, `pip` | Only create pull requests to update lockfiles. Ignore any new versions that would require package manifest changes. |
|
||||
| `auto` | `bundler`, `cargo`, `composer`, `mix`, `npm`, `pip` | Follow the default strategy described above.|
|
||||
| `widen`| `composer`, `npm` | Relax the version requirement to include both the new and old version, when possible. |
|
||||
| `increase`| `bundler`, `composer`, `npm` | Always increase the version requirement to match the new version. |
|
||||
| `increase-if-necessary` | `bundler`, `composer`, `npm` | Increase the version requirement only when required by the new version. |
|
||||
|
||||
```yaml
|
||||
# Customize the manifest version strategy
|
||||
@@ -706,17 +711,17 @@ updates:
|
||||
versioning-strategy: lockfile-only
|
||||
```
|
||||
|
||||
## Opciones de configuración para los registros privados
|
||||
## Configuration options for private registries
|
||||
|
||||
La clave de nivel superior `registries` es opcional. Esta te permite especificar los detalles de autenticación que el {% data variables.product.prodname_dependabot %} puede utilizar para acceder a los registros de paquetes privados.
|
||||
The top-level `registries` key is optional. It allows you to specify authentication details that {% data variables.product.prodname_dependabot %} can use to access private package registries.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Nota:** Los registros privados detras de los cortafuegos en las redes privadas no son compatibles.
|
||||
**Note:** Private registries behind firewalls on private networks are not supported.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
El valor de la clave `registries` es un arreglo asociativo, del cual cada elemento consiste de una clave que identifica un registro en particular y un valor que es un arreglo asociativo que especifica la configuración que se requiere para acceder a dicho registro. El siguiente archivo de *dependabot.yml* configura un registro que se identifica como `dockerhub` en la sección de `registries` del archivo y luego lo referencia en la sección de `updates` del mismo.
|
||||
The value of the `registries` key is an associative array, each element of which consists of a key that identifies a particular registry and a value which is an associative array that specifies the settings required to access that registry. The following *dependabot.yml* file, configures a registry identified as `dockerhub` in the `registries` section of the file and then references this in the `updates` section of the file.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -739,24 +744,24 @@ updates:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Utilizarás las siguientes opciones para especificar la configuración de acceso. La configuración del registro debe contener un `type` y una `url` y, habitualmente, ya sea una combinación de `username` y `password` o un `token`.
|
||||
You use the following options to specify access settings. Registry settings must contain a `type` and a `url`, and typically either a `username` and `password` combination or a `token`.
|
||||
|
||||
| Opción | Descripción |
|
||||
|:------------------------------------------------------------------------------------------------------ |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `type` | Identifica el tipo de registro. Consulta la lista completa de tipos más adelante. |
|
||||
| `url` | La URL a utilizar para acceder a las dependencias en el registro. El protocolo es opcional. Si no se especifica, se asumirá que es `https://`. El {% data variables.product.prodname_dependabot %} agrega o ignora las diagonales iniciales conforme sea necesario. |
|
||||
| `nombre de usuario` | El nombre de usuario que utilizará el {% data variables.product.prodname_dependabot %} para acceder al registro. |
|
||||
| `contraseña` | Una referencia a un secreto del {% data variables.product.prodname_dependabot %} que contenga la contraseña del usuario específico. Para obtener más información, consulta la sección "[Administrar los secretos cifrados del Dependabot](/github/administering-a-repository/managing-encrypted-secrets-for-dependabot)". |
|
||||
| `clave` | Una referencia a un secreto del {% data variables.product.prodname_dependabot %} que contenga una clave de acceso para este registro. Para obtener más información, consulta la sección "[Administrar los secretos cifrados del Dependabot](/github/administering-a-repository/managing-encrypted-secrets-for-dependabot)". |
|
||||
| `token` | Una referencia a un secreto del {% data variables.product.prodname_dependabot %} que contenga un token de acceso para este registro. Para obtener más información, consulta la sección "[Administrar los secretos cifrados del Dependabot](/github/administering-a-repository/managing-encrypted-secrets-for-dependabot)". |
|
||||
| `replaces-base` | Para los registros con `type: python-index`, si el valor booleano es `true`, pip resuleve las dependencias utilizando la URL especificada en vez de la URL base del Índice de Paquetes de Python (que predeterminadamente es `https://pypi.org/simple`). |
|
||||
| Option | Description |
|
||||
|:---|:---|
|
||||
| `type` | Identifies the type of registry. See the full list of types below. |
|
||||
| `url` | The URL to use to access the dependencies in this registry. The protocol is optional. If not specified, `https://` is assumed. {% data variables.product.prodname_dependabot %} adds or ignores trailing slashes as required. |
|
||||
| `username` | The username that {% data variables.product.prodname_dependabot %} uses to access the registry. |
|
||||
| `password` | A reference to a {% data variables.product.prodname_dependabot %} secret containing the password for the specified user. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `key` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access key for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `token` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access token for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `replaces-base` | For registries with `type: python-index`, if the boolean value is `true`, pip resolves dependencies by using the specified URL rather than the base URL of the Python Package Index (by default `https://pypi.org/simple`). |
|
||||
|
||||
|
||||
Cada `type` de configuración requiere que proporciones ajustes en particular. Algunos tipos permiten más de una forma de conectarse. Las siguientes secciones proporcionan detalles de las configuraciones que deberías utilizar para cada `type`.
|
||||
Each configuration `type` requires you to provide particular settings. Some types allow more than one way to connect. The following sections provide details of the settings you should use for each `type`.
|
||||
|
||||
### `composer-repository`
|
||||
### `composer-repository`
|
||||
|
||||
El tipo `composer-repository` es compatible con nombre de usuario y contraseña.
|
||||
The `composer-repository` type supports username and password.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -769,9 +774,9 @@ registries:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `docker-registry`
|
||||
### `docker-registry`
|
||||
|
||||
El tipo `docker-registry` es compatible con nombre de usuario y contraseña.
|
||||
The `docker-registry` type supports username and password.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -784,7 +789,7 @@ registries:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
El tipo `docker-registry` también se puede utilizar para extraer información de Amazon ECR utilizando las credenciales estáticas de AWS.
|
||||
The `docker-registry` type can also be used to pull from Amazon ECR using static AWS credentials.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -797,9 +802,9 @@ registries:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `git`
|
||||
### `git`
|
||||
|
||||
El tipo `git` es compatible con nombre de usuario y contraseña.
|
||||
The `git` type supports username and password.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -812,9 +817,9 @@ registries:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `hex-organization`
|
||||
### `hex-organization`
|
||||
|
||||
El tipo `hex-organization` es compatible con organizaciones y claves.
|
||||
The `hex-organization` type supports organization and key.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -828,7 +833,7 @@ registries:
|
||||
|
||||
### `maven-repository`
|
||||
|
||||
El tipo `maven-repository` es compatible con usuario y contraseña.
|
||||
The `maven-repository` type supports username and password.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -843,9 +848,9 @@ registries:
|
||||
|
||||
### `npm-registry`
|
||||
|
||||
El tipo `npm-registry` es compatible con nombre de usuario y contraseña, o token.
|
||||
The `npm-registry` type supports username and password, or token.
|
||||
|
||||
Cuando utilizas un nombre de usuario y contraseña, tu token de autorización de `.npmrc` podría contener un `_password` cifrado en `base64`; sin embargo, la contraseña referenciada en tu archivo de configuración del {% data variables.product.prodname_dependabot %} podría ser la contraseña original (descifrada).
|
||||
When using username and password, your `.npmrc`'s auth token may contain a `base64` encoded `_password`; however, the password referenced in your {% data variables.product.prodname_dependabot %} configuration file must be the original (unencoded) password.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -868,9 +873,9 @@ registries:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `nuget-feed`
|
||||
### `nuget-feed`
|
||||
|
||||
El tipo `nuget-feed` es compatible con nombre de usuario y contraseña, o token.
|
||||
The `nuget-feed` type supports username and password, or token.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -893,9 +898,9 @@ registries:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### `python-index`
|
||||
### `python-index`
|
||||
|
||||
El tipo `python-index` es compatible con nombre de usuario y contraseña, o token.
|
||||
The `python-index` type supports username and password, or token.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -922,7 +927,7 @@ registries:
|
||||
|
||||
### `rubygems-server`
|
||||
|
||||
El tipo `rubygems-server` es compatible con nombre de usuario y contraseña, o token.
|
||||
The `rubygems-server` type supports username and password, or token.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -947,7 +952,7 @@ registries:
|
||||
|
||||
### `terraform-registry`
|
||||
|
||||
El tipo `terraform-registry` es comatible con un token.
|
||||
The `terraform-registry` type supports a token.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user