This version of GitHub Enterprise Server was discontinued on 2024-03-26. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise Server. For help with the upgrade, contact GitHub Enterprise support.
Guides for GitHub Actions
These guides for GitHub Actions include specific use cases and examples to help you configure workflows.
GitHub Actions learning paths
Get started with GitHub Actions
Discover the possibilities of GitHub Actions by creating your first workflow.
Start learning path- OverviewUnderstanding GitHub Actions
- How-to guideFinding and customizing actions
- OverviewEssential features of GitHub Actions
- OverviewAbout workflows
- How-to guideReusing workflows
- OverviewSecurity hardening for GitHub Actions
Adopt GitHub Actions for your enterprise
Learn how to plan and implement a rollout of GitHub Actions in your enterprise.
Start learning path- OverviewAbout GitHub Actions for enterprises
- OverviewUnderstanding GitHub Actions
- How-to guideIntroducing GitHub Actions to your enterprise
- How-to guideMigrating your enterprise to GitHub Actions
- How-to guideGetting started with GitHub Actions for GitHub Enterprise Server
- QuickstartGetting started with self-hosted runners for your enterprise
- OverviewSecurity hardening for GitHub Actions
Host your own runners
You can create self-hosted runners to run workflows in a highly customizable environment.
Start learning path- OverviewAbout self-hosted runners
- TutorialAdding self-hosted runners
- TutorialConfiguring the self-hosted runner application as a service
- TutorialUsing a proxy server with self-hosted runners
- TutorialUsing labels with self-hosted runners
- TutorialUsing self-hosted runners in a workflow
- TutorialManaging access to self-hosted runners using groups
- TutorialMonitoring and troubleshooting self-hosted runners
Create an action
Do you have an idea for a new action? Have you built something custom for your project? Learn how to build shareable actions and publish them to GitHub Marketplace.
Start learning path- OverviewAbout custom actions
- TutorialCreating a Docker container action
- TutorialCreating a JavaScript action
- TutorialCreating a composite action
- ReferenceMetadata syntax for GitHub Actions
- ReferenceDockerfile support for GitHub Actions
- How-to guideSetting exit codes for actions
- Quickstart for GitHub ActionsQuickstart- Try out the features of GitHub Actions in 5 minutes or less. - Fundamentals
 
- Understanding GitHub ActionsOverview- Learn the basics of GitHub Actions, including core concepts and essential terminology. - Fundamentals
 
- Creating a Docker container actionTutorial- This guide shows you the minimal steps required to build a Docker container action. - Action development
- Docker
 
- Using starter workflowsTutorial- GitHub Enterprise Server provides starter workflows for a variety of languages and tooling. - Workflows
- CI
- CD
 
- Building and testing PythonTutorial- You can create a continuous integration (CI) workflow to build and test your Python project. - CI
- Python
 
- Building and testing Node.jsTutorial- You can create a continuous integration (CI) workflow to build and test your Node.js project. - CI
- Node
- JavaScript
 
- About packaging with GitHub ActionsOverview- You can set up workflows in GitHub Actions to produce packages and upload them to GitHub Packages or another package hosting provider. - Packaging
 
- Publishing Docker imagesTutorial- You can publish Docker images to a registry, such as Docker Hub or GitHub Packages, as part of your continuous integration (CI) workflow. - Packaging
- Publishing
- Docker
 
- Caching dependencies to speed up workflowsTutorial- To make your workflows faster and more efficient, you can create and use caches for dependencies and other commonly reused files. - Workflows
 
- About continuous integrationOverview- You can create custom continuous integration (CI) workflows directly in your GitHub repository with GitHub Actions. - CI
 
- Building and testing PowerShellTutorial- You can create a continuous integration (CI) workflow to build and test your PowerShell project. - CI
- PowerShell
 
- Building and testing RubyTutorial- You can create a continuous integration (CI) workflow to build and test your Ruby project. - CI
- Ruby
 
- Building and testing Java with MavenTutorial- You can create a continuous integration (CI) workflow in GitHub Actions to build and test your Java project with Maven. - CI
- Java
- Maven
 
- Building and testing Java with GradleTutorial- You can create a continuous integration (CI) workflow in GitHub Actions to build and test your Java project with Gradle. - CI
- Java
- Gradle
 
- Building and testing Java with AntTutorial- You can create a continuous integration (CI) workflow in GitHub Actions to build and test your Java project with Ant. - CI
- Java
- Ant
 
- Building and testing SwiftTutorial- You can create a continuous integration (CI) workflow to build and test your Swift project. - CI
- Swift
 
- Installing an Apple certificate on macOS runners for Xcode developmentTutorial- You can sign Xcode apps within your continuous integration (CI) workflow by installing an Apple code signing certificate on GitHub Actions runners. - CI
- Xcode
 
- Building and testing Xamarin applicationsTutorial- You can create a continuous integration (CI) workflow in GitHub Actions to build and test your Xamarin application. - CI
- Xamarin
- Xamarin.iOS
- Xamarin.Android
- Android
- iOS
 
- Publishing Node.js packagesTutorial- You can publish Node.js packages to a registry as part of your continuous integration (CI) workflow. - Packaging
- Publishing
- Node
- JavaScript
 
- Publishing Java packages with MavenTutorial- You can use Maven to publish Java packages to a registry as part of your continuous integration (CI) workflow. - Packaging
- Publishing
- Java
- Maven
 
- Publishing Java packages with GradleTutorial- You can use Gradle to publish Java packages to a registry as part of your continuous integration (CI) workflow. - Packaging
- Publishing
- Java
- Gradle
 
- Storing workflow data as artifactsTutorial- Artifacts allow you to share data between jobs in a workflow and store data once that workflow has completed. - Workflows
 
- About service containersOverview- You can use service containers to connect databases, web services, memory caches, and other tools to your workflow. - Containers
- Docker
 
- Creating Redis service containersTutorial- You can use service containers to create a Redis client in your workflow. This guide shows examples of creating a Redis service for jobs that run in containers or directly on the runner machine. - Containers
- Docker
 
- Creating PostgreSQL service containersTutorial- You can create a PostgreSQL service container to use in your workflow. This guide shows examples of creating a PostgreSQL service for jobs that run in containers or directly on the runner machine. - Containers
- Docker
 
- Deploying to Amazon Elastic Container ServiceTutorial- You can deploy to Amazon Elastic Container Service (ECS) as part of your continuous deployment (CD) workflows. - CD
- Containers
- Amazon ECS
 
- Deploying to Google Kubernetes EngineTutorial- You can deploy to Google Kubernetes Engine as part of your continuous deployment (CD) workflows. - CD
- Containers
- Google Kubernetes Engine
 
- Essential features of GitHub ActionsOverview- GitHub Actions are designed to help you build robust and dynamic automations. This guide will show you how to craft GitHub Actions workflows that include environment variables, customized scripts, and more. - Fundamentals
 
- Security hardening for GitHub ActionsOverview- Good security practices for using GitHub Actions features. - Security
 
- About custom actionsOverview- Actions are individual tasks that you can combine to create jobs and customize your workflow. You can create your own actions, or use and customize actions shared by the GitHub community. - Action development
- Fundamentals
 
- Creating a JavaScript actionTutorial- In this guide, you'll learn how to build a JavaScript action using the actions toolkit. - Action development
- JavaScript
 
- Creating a composite actionTutorial- In this guide, you'll learn how to build a composite action. - Action development
 
- Migrating from Azure Pipelines to GitHub ActionsTutorial- GitHub Actions and Azure Pipelines share several configuration similarities, which makes migrating to GitHub Actions relatively straightforward. - Azure Pipelines
- Migration
- CI
- CD
 
- Migrating from CircleCI to GitHub ActionsTutorial- GitHub Actions and CircleCI share several similarities in configuration, which makes migration to GitHub Actions relatively straightforward. - CircleCI
- Migration
- CI
- CD
 
- Migrating from GitLab CI/CD to GitHub ActionsTutorial- GitHub Actions and GitLab CI/CD share several configuration similarities, which makes migrating to GitHub Actions relatively straightforward. - GitLab
- Migration
- CI
- CD
 
- Migrating from Jenkins to GitHub ActionsTutorial- GitHub Actions and Jenkins share multiple similarities, which makes migration to GitHub Actions relatively straightforward. - Jenkins
- Migration
- CI
- CD
 
- Migrating from Travis CI to GitHub ActionsTutorial- GitHub Actions and Travis CI share multiple similarities, which helps make it relatively straightforward to migrate to GitHub Actions. - Travis CI
- Migration
- CI
- CD
 
- Using GitHub Actions for project managementOverview- You can use GitHub Actions to automate many of your project management tasks. - Project management
 
- Closing inactive issuesTutorial- You can use GitHub Actions to comment on or close issues that have been inactive for a certain period of time. - Workflows
- Project management
 
- Scheduling issue creationTutorial- You can use GitHub Actions to create an issue on a regular basis for things like daily meetings or quarterly reviews. - Workflows
- Project management
 
- Adding labels to issuesTutorial- You can use GitHub Actions to automatically label issues. - Workflows
- Project management
 
- Commenting on an issue when a label is addedTutorial- You can use GitHub Actions to automatically comment on issues when a specific label is applied. - Workflows
- Project management
 
- Moving assigned issues on projects (classic)Tutorial- You can use GitHub Actions to automatically move an issue to a specific column on a project (classic) when the issue is assigned. - Workflows
- Project management
 
- Removing a label when a card is added to a project (classic) columnTutorial- You can use GitHub Actions to automatically remove a label when an issue or pull request is added to a specific column on a project (classic). - Workflows
- Project management
 
- Automating Dependabot with GitHub ActionsHow-to guide- Examples of how you can use GitHub Actions to automate common Dependabot related tasks. - Actions
- Dependabot
- Version updates
- Security updates
- Repositories
- Dependencies
- Pull requests
 
- Keeping your actions up to date with DependabotHow-to guide- You can use Dependabot to keep the actions you use updated to the latest versions. - Repositories
- Dependabot
- Version updates
- Actions
 
- Deploying Docker to Azure App ServiceTutorial- You can deploy a Docker container to Azure App Service as part of your continuous deployment (CD) workflows. - CD
- Containers
- Docker
- Azure App Service
 
- Deploying Java to Azure App ServiceTutorial- You can deploy your Java project to Azure App Service as part of your continuous deployment (CD) workflows. - CD
- Java
- Azure App Service
 
- Deploying .NET to Azure App ServiceTutorial- You can deploy your .NET project to Azure App Service as part of your continuous deployment (CD) workflows. - CD
- Azure App Service
 
- Deploying Node.js to Azure App ServiceTutorial- You can deploy your Node.js project to Azure App Service as part of your continuous deployment (CD) workflows. - CD
- Node
- JavaScript
- Azure App Service
 
- Deploying PHP to Azure App ServiceTutorial- You can deploy your PHP project to Azure App Service as part of your continuous deployment (CD) workflows. - CD
- Azure App Service
 
- Deploying Python to Azure App ServiceTutorial- You can deploy your Python project to Azure App Service as part of your continuous deployment (CD) workflows. - CD
- Python
- Azure App Service
 
- Deploying to Azure Static Web AppTutorial- You can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows. - CD
- Azure Static Web Apps
 
- Deploying to Azure Kubernetes ServiceTutorial- You can deploy your project to Azure Kubernetes Service (AKS) as part of your continuous deployment (CD) workflows. - CD
- Azure Kubernetes Service