CI/CD (Continuous Integration/Continuous Delivery/Development) is now an essential part of all kind of software projects. Today I am going to work you through setting up CI/CD with GitHub Actions.
Setting up CI
To use a GitHub action for building your repository at each push (on all branches), all you have to do is to place a YAML file under .github/workflows and commit it with your repo.
mkdir .github cd .github mkdir workflows cd workflows
Inside the created
.yml file, Add the following.
# This workflow will do a clean install of node dependencies, build the source code and run tests # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: CI Pipeline # trigger build when pushing, or when creating a pull request on: [push, pull_request] jobs: build: # run build on latest ubuntu runs-on: ubuntu-latest steps: # this will check out the current branch (https://github.com/actions/checkout#Push-a-commit-using-the-built-in-token) - uses: actions/checkout@v3 # installing Node - name: Use Node.js 16.16.0 uses: actions/setup-node@v3 with: # this will use the latest Node 16 version node-version: 16.16.0 # install dependencies using clean install to avoid package lock updates - run: npm ci # build the project if necessary - run: npm run build --if-present # finally run the test - run: npm test
What this workflow basically does is,
- checkout the branch
- install node (on ubuntu)
- install the dependencies of your project and build it if necessary
- finally, run the tests
Comments are added on every line explaining the setup.
After! Commit & push your work and head over to the Actions section of your repo where you can see all executed workflows…