Giter VIP home page Giter VIP logo

github-actions-exercises's Introduction

GitHub Actions Exercises

Have you ever wanted to use GitHub Actions, but aren't really sure where to start? Then this repo is for you! In the Outline below, you will find a list of exercises to perform that will increase your knowledge of Actions with practical application and real-world examples. Most exercises can be performed alone, but a few build on each-other and say so in the prerequisites for the exercise. You will also learn about GitHub features that tie-in to Actions and see how to use them first-hand.

Don't see an exercise you were hoping to find? Open an issue on this repo to suggest it.

This work is entirely open source and comes with no support or guarantee, especially as GitHub features change over time.


Exercise Prerequisites

Software Installed

Environment

  1. An empty (unitialized) GitHub repository that you have admin access to.
  2. Authentication to GitHub (OAUTH credentials or PAT token)
  3. Set-Up:
    1. This repository cloned locally
    2. Remove the ./github/workflows/ci.yaml file.
    3. Update the remote to your repository URL from step 1. See instructions for adding a remote.

Knowledge


Outline & Where To Start

Below are exercises to help you in your Actions journey. They build on each other, so walking through incrementally is ideal.

  1. Basic workflow creation
  2. Context information & Environment Variables
  3. Other event workflow creation
  4. Global environment variables across jobs
  5. Workflow defaults
  6. Dependent jobs creation
  7. Concurrency groups
  8. Matrix strategy creation
  9. Manual workflows
  10. Reusable workflows
  11. Using public actions
  12. Dependabot config
  13. Continuous integration
  14. Artifacts
  15. Caching
  16. Packages & continuous celivery
  17. Environments & continuous deployment
  18. Releases & Tags (under construction)
  19. Creating Your Own Actions (under construction)

Files In This Repository

  • ./docker_image contains files pertaining to the Docker image creation in the Continuous Delivery exercise.
  • ./golang_app contains all files pertaining to the Golang application we will build in the Continuous Integration exercise.
  • ./golang_replacments contains files pertaining to the Golang application modification in several exercises.
  • ./images contains any images placed in the exercise Markdown (./md) files.
  • ./.gitignore simply ignores specific files that should not exist in the repository.
  • ./<##>-<Exercise-Name>.md are the exercises written in Markdown and can be viewed through the GitHub repository, or opened in a code editor.

Commands Quick-Reference

  • Push: git push
  • Add & commit: git add <path-to-file>; git commit -m "<your message>" (replace with file and message)
  • Publish a branch: git push --set-upstream origin <branch> (replace with branch name)
  • Clone a repository: git clone <repository-url> (replace with repository URL)
  • Checkout to a branch: git checkout <branch-name> (replace with branch name)

github-actions-exercises's People

Contributors

jschanfung avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.