top of page

GitHub Actions to automate software development workflow

DevOps - CI/CD pipelines for Node & React application with Github actions & self hosted github runner in AWS

DevOps, short for "development" and "operations," is a software development methodology that emphasizes collaboration and communication between developers and operations teams. One key aspect of DevOps is the use of Continuous Integration/Continuous Deployment (CI/CD) pipelines to automate the process of building, testing, and deploying code changes.


Github Actions is a powerful CI/CD platform that is built into Github, allowing developers to easily create and manage their CI/CD pipelines directly from within their Github repository. Atsky helped client strategise setting up of their CI/CD pipeline for various platforms like Java, Nodejs etc. Integrating the vulnerability scans using tools like trivy/snyk as tasks in CI/CD pipeline. Application leveraging Github Actions & its cool features enhances the overall CI/CD experience:


Here we explain few steps taken towards autmation of CI/CD pipelines for Node.js and React applications using Github Actions.


  1. Github repository:for your Node.js & React application.

  2. Workflow: yaml file in the .github/workflows directory of your repository. This file defines the tasks that will be taken during the CI/CD process, such as building and testing your code.

  3. Build and test: In the workflow file, use Github Actions to automatically build and test your code changes. Use of Node.js actions to run scripts, install dependencies, and run tests on your code. Build once & deploy on different environments by making use of Github Secrets that are environment specific.

  4. Deployment: Configure your workflow to automatically deploy your code to a production environment once it has been successfully built and tested. Our recommendation looking at their application assets was to use actions as a predefined step for making implementation smooth and maintainable. Github Actions is popular deployment platforms for all AWS, Azure & GCP.

  5. Setting up of Github runner in private network -  All the github actions tasks run on a self hosted agent called github runner in the private network. This enabled our client to save cost and at same time overcome Github limitations by running numerous parallel jobs.

  6. Creating triggers on pull request (code testing) on merge (deployments and tests) and manually - deploying selected application versions to selected environments

  7. Vulnerability scans for applications by integrating the vulnerability scanning tools like trivy / snyk as tasks in github actions


Benefits of project:

  1. Increased Efficiency: Automating the process of building, testing, and deploying code reduces the time and effort required to complete these tasks, freeing up time and resources for other important tasks.

  2. Improved Collaboration: GitHub provides a centralized platform for code review, bug reporting, and version control, facilitating collaboration between team members.

  3. Enhanced Code Quality: GitHub integrates with a variety of testing and deployment tools, enabling teams to catch and fix bugs before they reach the production environment.

  4. Faster Delivery: By automating the process of building, testing, and deploying code, GitHub enables teams to deliver software faster, improving time-to-market and meeting customer needs more effectively.

  5. Cost Savings: Automating repetitive and time-consuming tasks reduces the need for manual intervention, reducing the risk of human error and minimizing the costs associated with manual processes.

  6. Scalability: GitHub can be easily scaled to accommodate growing development teams, enabling organizations to maintain high levels of productivity and efficiency as they expand.


In summary, Github Actions is a powerful CI/CD platform that is built into Github, allowing developers to easily create and manage their CI/CD pipelines directly from within their Github repository. This article discussed the basic steps for setting up CI/CD pipelines for Node.js and React applications using Github Actions. In both cases, it's important to note that these are just indicative steps & actions as a high level reflection of setting up CI/CD pipelines for Node.js and React applications using Github Actions, for this particular project scope.


Please feel free to reach out to our team that can enable you on this amazing path, addressing your application and infrastructure needs.

Power in Numbers

Deployment Time

160x frequency increment

Change Failure Rate

<12%

Recovery Time

< 1 hour

Cloud Migration and Integrations.png

Lead Time

< 1 day

Cloud Engineering.png

Release Cadence

Multiple

Project Gallery

bottom of page