Deployment protection rules
Deployment protection rules require specific conditions to pass before a job referencing the environment can proceed. You can use deployment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches. You can also create and implement custom protection rules powered by GitHub Apps to use third-party systems to control deployments referencing environments configured on GitHub.
Third-party systems can be observability systems, change management systems, code quality systems, or other manual configurations that you use to assess readiness before deployments are safely rolled out to environments.
Nota:
Se puede instalar en un repositorio cualquier número de reglas de protección de implementación basadas en GitHub Apps. Sin embargo, se puede habilitar un máximo de 6 reglas de protección de implementación en cualquier entorno al mismo tiempo.
Required reviewers
Use required reviewers to require a specific person or team to approve workflow jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.
You also have the option to prevent self-reviews for deployments to protected environments. If you enable this setting, users who initiate a deployment cannot approve the deployment job, even if they are a required reviewer. This ensures that deployments to protected environments are always reviewed by more than one person.
For more information on reviewing jobs that reference an environment with required reviewers, see Revisar los despliegues.
Nota:
If you are on a GitHub Free, GitHub Pro, or GitHub Team plan, required reviewers are only available for public repositories.
Wait timer
Use a wait timer to delay a job for a specific amount of time after the job is initially triggered. The time (in minutes) must be an integer between 1 and 43,200 (30 days). Wait time will not count towards your billable time.
Nota:
If you are on a GitHub Free, GitHub Pro, or GitHub Team plan, wait timers are only available for public repositories.
Deployment branches and tags
Use deployment branches and tags to restrict which branches and tags can deploy to the environment. Below are the options for deployment branches and tags for an environment:
-
No restriction: No restriction on which branch or tag can deploy to the environment.
-
Protected branches only: Only branches with branch protection rules enabled can deploy to the environment. If no branch protection rules are defined for any branch in the repository, then all branches can deploy. For more information about branch protection rules, see Acerca de las ramas protegidas.
Nota:
Deployment workflow runs triggered by tags with the same name as a protected branch and forks with branches that match the protected branch name cannot deploy to the environment.
-
Selected branches and tags: Only branches and tags that match your specified name patterns can deploy to the environment.
If you specify
releases/*
as a deployment branch or tag rule, only a branch or tag whose name begins withreleases/
can deploy to the environment. (Wildcard characters will not match/
. To match branches or tags that begin withrelease/
and contain an additional single slash, userelease/*/*
.) If you addmain
as a branch rule, a branch namedmain
can also deploy to the environment. For more information about syntax options for deployment branches, see the RubyFile.fnmatch
documentation.Nota:
Los patrones de nombre deben configurarse para ramas o etiquetas de forma individual.
Nota:
Deployment branches and tags are available for all public repositories. For users on GitHub Pro or GitHub Team plans, deployment branches and tags are also available for private repositories.
Allow administrators to bypass configured protection rules
By default, administrators can bypass the protection rules and force deployments to specific environments. For more information, see Revisar los despliegues.
Alternatively, you can configure environments to disallow bypassing the protection rules for all deployments to the environment.
Nota:
Allowing administrators to bypass protection rules is only available for public repositories for users on GitHub Free, GitHub Pro, and GitHub Team plans.
Custom deployment protection rules
Nota:
Las reglas de protección de implementación personalizadas se encuentran actualmente en versión preliminar pública y están sujetas a cambios.
Puede habilitar sus propias reglas de protección personalizadas para controlar las implementaciones con servicios de terceros. Por ejemplo, puede usar servicios como Datadog, Honeycomb y ServiceNow para proporcionar aprobaciones automatizadas para implementaciones en GitHub. For more information, see Creación de reglas de protección de implementación personalizadas.
Once custom deployment protection rules have been created and installed on a repository, you can enable the custom deployment protection rule for any environment in the repository. For more information about configuring and enabling custom deployment protection rules, see Configuración de reglas de protección de implementación personalizadas.
Nota:
Custom deployment protection rules are only available for public repositories for users on GitHub Free, GitHub Pro, and GitHub Team plans.
Environment secrets
Secrets stored in an environment are only available to workflow jobs that reference the environment. If the environment requires approval, a job cannot access environment secrets until one of the required reviewers approves it. For more information about secrets, see Secrets.
Nota:
- Workflows that run on self-hosted runners are not run in an isolated container, even if they use environments. Environment secrets should be treated with the same level of security as repository and organization secrets. For more information, see Fortalecimiento de seguridad para GitHub Actions.
- If you are using GitHub Free, environment secrets are only available in public repositories. For access to environment secrets in private or internal repositories, you must use GitHub Pro, GitHub Team, or GitHub Enterprise. For more information on switching your plan, see Actualización del plan de una cuenta.
Environment variables
Variables stored in an environment are only available to workflow jobs that reference the environment. These variables are only accessible using the vars
context. For more information, see Almacenamiento de información en variables.
Nota:
Environment variables are available for all public repositories. For users on GitHub Pro or GitHub Team plans, environment variables are also available for private repositories.