NUS Hackers Wiki
NUS Hackers Wiki
  • NUS Hackers Wiki
  • Hackerschool
    • Virtual Machines and Linux
    • Beginners' Guide to the Terminal
      • Introduction to the Terminal
      • Modern Shell Tools
      • Shell Scripting
      • Real World Scripting
      • Resources
    • Self-Hosting: Three Easy Pieces
      • 1. Setting up your server
      • 2. Running Services
      • 3. Monitoring your server
    • Vim
    • Introduction to Zig
      • Language Basics
      • Error Handling
      • Memory Management
      • Working with C
      • Exploring comptime
    • CI/CD with Github Actions
      • Background
      • Basics of Github Actions
        • Target workflow
        • Running unit tests
        • Linting code
        • Deploying to Github Pages
      • Advanced use cases
        • Pollers
        • Github script
        • Executing third-party scripts
        • Reusable workflows
      • Cookbook
    • Lightning Git
      • Git Concepts
      • Getting Started with Git
      • Making your first commit
      • Branching
      • Merge Conflicts
      • Integrating remote repositories
      • Collaborative Workflows
      • Commit Manipulation and Reflog
      • Interactive rebasing
      • filter-repo
  • Orbital
    • JavaScript
      • Browser Developer Tools
      • Getting Started
      • Datatypes
      • Operators and Operations
      • Loops and Conditions
      • Functions
      • Strings
      • Arrays
      • HTML
        • Getting Started
        • Tag Attributes
        • HTML Forms
        • Browser Inspector
      • CSS
        • Selectors
        • Colors in CSS
        • Measurements in CSS
        • The Box Model
        • Adding Styles - Part 1
        • Adding Styles - Part 2
      • Working with the DOM
        • Querying the DOM - Selectors
        • Querying the DOM - Element Attributes
        • Querying the DOM - Element Styles
        • Events with JS and HTML
        • Exercise: Click Counter
        • Editing the DOM
        • Fetch Requests
        • Exercise: The NUSMods API
    • React
      • Setup
      • State
    • React Native
      • Setup
      • Intro to JSX
      • Basic Syntax
      • Handling UI
      • Props
      • State Management
    • Git
      • Setup
      • Command Glossary
      • Fundamental Concepts
        • Getting Started
        • Integrating Remote Repositories
        • Branching
        • Merge Conflicts
      • Collaborative Workflows
        • Fork and PR Workflow
        • Branch and PR Workflow
      • Advanced Concepts
        • Ignoring Files
        • Commit Message Conventions
        • Github Collaborators
        • CI/CD with Github Actions
        • Advanced Git Commands
      • FAQ
    • Telegram Bot
      • Creating a TeleBot
      • API Calls
      • Telebot Basics
      • Integrating API's
    • Relational Database
      • Database Overview
      • Database Design
      • Entity Relationship Diagram
      • SQL Basics & PostgreSQL
    • TypeScript
      • Types and Interfaces
      • Utility Types
      • Typing Component Props, Events, and Hooks
      • Why You Should Avoid Using any (and What to Do Instead)
      • TypeScript Tricks You’ll Use All the Time in React
Powered by GitBook
On this page
  • Why use CD?
  • Examples
Edit on GitHub
Export as PDF
  1. Orbital
  2. Git
  3. Advanced Concepts

CI/CD with Github Actions

PreviousGithub CollaboratorsNextAdvanced Git Commands

Last updated 6 hours ago

Github Actions is a Continuous Integration/Continuous Delivery (CI/CD) platform. CI/CD is essentially an automation of the standard software development lifecycle. Rather than having to manually perform tasks like linting, formatting, and deployment, CI/CD platforms automate the process and allow you, as the developer, to focus on developing meaningful products, rather than worrying about fulfilling a checklist of actions.

You can use Github Actions to build a continuous integration and continuous delivery/deployment pipeline.

Every repo can have many workflows in the .github/workflows directory. You need to create the directory at the root folder. Each workflow is a .yml file using the YAML syntax. Each workflow can have a set of Jobs which itself has a set of steps. Each step is a single 'command' that is ran in order and depends on the step before it.

Official Github Actions documentation:

Why use CD?

Once the pipeline is set up properly, you can easily deploy your code to production automatically, saving a step in the development process.

Examples

Here are a few examples of Github Actions:

A curated list of awesome things related to GitHub Actions:

For more details, please look at CI/CD with Github Actions!

https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions
Deploy Github Pages using Github Actions
Build and Deploy Telegram bot on AWS Lambda
Build and Deploy Microservices on AWS EKS
https://github.com/sdras/awesome-actions