GitHub Actions

GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production.

GitHub Actions goes beyond just DevOps and lets you run workflows when other events happen in your repository. For example, you can run a workflow to automatically add the appropriate labels whenever someone creates a new issue in your repository.

GitHub provides Linux, Windows, and macOS virtual machines to run your workflows, or you can host your own self-hosted runners in your own data center or cloud infrastructure.

Suggested Learning Path


Comparisons with Jenkins

  • Both allow creating custom/reusable functionality. Jenkins often accomplishes this via plug-ins in GitHub they are Marketplace Actions, Composite & Reuasable Workflows
  • Both support describing a process in a document that can be checked into source control. In Jenkins they are called pipelines (Jenkinsfile), GitHub Actions calls them workflows (.gitub/workflows/{your-workflow}.yml)
  • Both support timed and manually triggered jobs. Jenkins can be triggered by checking code into GitHub (and can likely do more via Plug-ins); however, GitHub Actions natively supports a more diverse and granular set of events, and seems better suited for automations
  • Both Jenkins and GitHub Actions support "secrets". GitHub's approach seems more secure.

Tips, Resources, & Useful Actions


Reusable Workflows and Custom NU Actions

Non-authoratative list of NUIT developed workflows and actions that perform common actions