Skip to content

Latest commit

 

History

History
119 lines (78 loc) · 9.77 KB

getting-started-with-github-actions-for-github-enterprise-server.md

File metadata and controls

119 lines (78 loc) · 9.77 KB
title shortTitle intro permissions redirect_from versions type topics
Getting started with GitHub Actions for GitHub Enterprise Server
Get started
Learn about enabling and configuring {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} for the first time.
Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.
/enterprise/admin/github-actions/enabling-github-actions-and-configuring-storage
/admin/github-actions/enabling-github-actions-and-configuring-storage
/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server
/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server
/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server
ghes
*
how_to
Actions
Enterprise

{% data reusables.actions.enterprise-github-hosted-runners %}

About {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}

This article explains how site administrators can configure {% data variables.product.prodname_ghe_server %} to use {% data variables.product.prodname_actions %}.

{% data reusables.actions.ghes-actions-not-enabled-by-default %} You'll need to determine whether your instance has adequate CPU and memory resources to handle the load from {% data variables.product.prodname_actions %} without causing performance loss, and possibly increase those resources. You'll also need to decide which storage provider you'll use for the blob storage required to store artifacts and caches generated by workflow runs. Then, you'll enable {% data variables.product.prodname_actions %} for your enterprise, manage access permissions, and add self-hosted runners to run workflows.

{% data reusables.actions.introducing-enterprise %}

{% data reusables.actions.migrating-enterprise %}

Review hardware requirements

The CPU and memory resources available to {% data variables.location.product_location %} determine the number of runners that can be configured without performance loss. {% data reusables.actions.minimum-hardware %}

The peak quantity of connected runners without performance loss depends on such factors as job duration, artifact usage, number of repositories running Actions, and how much other work your instance is doing not related to Actions. Internal testing at GitHub demonstrated performance targets for GitHub Enterprise Server on a range of CPU and memory configurations.

vCPUs Memory Maximum Connected Runners
8 64 GB 740 runners
32 160 GB 2700 runners
96 384 GB 7000 runners

{% data variables.product.company_short %} measured maximum connected runners using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance.

Note

  • Beginning with {% data variables.product.prodname_ghe_server %} 3.6, {% data variables.product.company_short %} documents connected runners as opposed to concurrent jobs. Connected runners represents the most runners you can connect and expect to utilize. It should also be noted that connecting more runners than you can expect to utilize can negatively impact performance.
  • Beginning with {% data variables.product.prodname_ghe_server %} 3.5, {% data variables.product.company_short %}'s internal testing uses 3rd generation CPUs to better reflect a typical customer configuration. This change in CPU represents a small portion of the changes to performance targets in this version of {% data variables.product.prodname_ghe_server %}.

If you plan to enable {% data variables.product.prodname_actions %} for the users of an existing instance, review the levels of activity for users and automations on the instance and ensure that you have provisioned adequate CPU and memory for your users. For more information about monitoring the capacity and performance of {% data variables.product.prodname_ghe_server %}, see AUTOTITLE.

For more information about minimum hardware requirements for {% data variables.location.product_location %}, see the hardware considerations for your instance's platform.

{% data reusables.enterprise_installation.about-adjusting-resources %}

Optionally, you can limit resource consumption on {% data variables.location.product_location %} by configuring a rate limit for {% data variables.product.prodname_actions %}. For more information, see AUTOTITLE.

External storage requirements

To enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}, you must have access to external blob storage.

{% data reusables.actions.enterprise-storage-contents %} The amount of storage required depends on your usage of {% data variables.product.prodname_actions %}. Only a single external storage configuration is supported, and you can't use multiple storage providers at the same time.

All other {% data variables.product.prodname_actions %} data, such as the workflow files in a repository's file structure, are stored on the data storage volume for {% data variables.location.product_location %}.

{% data variables.product.prodname_actions %} supports these storage providers:

  • Azure Blob storage
  • Amazon S3
  • Google Cloud Storage
  • S3-compatible MinIO cluster

Note

These are the only storage providers that {% data variables.product.company_short %} supports and can provide assistance with.

{% data reusables.actions.enterprise-s3-tech-partners %}

Networking considerations

{% data reusables.actions.proxy-considerations %} For more information about using a proxy with {% data variables.product.prodname_ghe_server %}, see AUTOTITLE.

Enabling {% data variables.product.prodname_actions %} with your storage provider

Follow one of the procedures below to enable {% data variables.product.prodname_actions %} with your chosen storage provider:

Managing access permissions for {% data variables.product.prodname_actions %} in your enterprise

You can use policies to manage access to {% data variables.product.prodname_actions %}. For more information, see AUTOTITLE.

Adding self-hosted runners

{% data reusables.actions.enterprise-github-hosted-runners %}

To run {% data variables.product.prodname_actions %} workflows, you need to add self-hosted runners. You can add self-hosted runners at the enterprise, organization, or repository levels. For more information, see AUTOTITLE.

Managing which actions can be used in your enterprise

You can control which actions your users are allowed to use in your enterprise. This includes setting up {% data variables.product.prodname_github_connect %} for automatic access to actions from {% data variables.product.prodname_dotcom_the_website %}, or manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}.

For more information, see AUTOTITLE.

{% data reusables.actions.general-security-hardening %}

Reserved names

When you enable {% data variables.product.prodname_actions %} for your enterprise, two organizations are created: github and actions. If your enterprise already uses the github organization name, github-org (or github-github-org if github-org is also in use) will be used instead. If your enterprise already uses the actions organization name, github-actions (or github-actions-org if github-actions is also in use) will be used instead. Once actions is enabled, you won't be able to use these names anymore.