Skip to main content

Continuous Integration and Continuous Deployment

At Figuro, we prioritize Continuous Integration and Continuous Deployment (CI/CD) to deliver our applications efficiently and reliably. We use GitHub as our code repository and have integrated it with GitHub Actions to automate our CI/CD pipeline. Our pipeline includes automated testing, linting, and deployment to a preview environment whenever changes are made to a feature branch.

Our CI/CD process begins with developers creating feature branches and committing code changes to GitHub. GitHub Actions then runs automated tests and code analysis using tools like Eslint and Prettier to check for code quality and maintainability. After this, testing and coverage analysis are performed. Every project has Codecov and Code Climate enabled for visualizing testing coverage in GitHub PR comments. On every pull request, the code is deployed to a preview environment on Vercel, allowing developers to preview their changes in a production-like environment.

Once the feature is complete and all tests have been successfully evaluated, the code is reviewed and merged into the main branch. This triggers the CI/CD pipeline to automatically run tests and analysis again, followed by deployment to the production environment on Vercel.

This approach ensures that our code is thoroughly tested and analyzed before deployment to production. It helps us catch errors and bugs early in the development process, minimizing the risk of introducing issues to our production environment.

As a member of the Figuro team, it's important to understand and follow our CI/CD process. Make sure to commit changes frequently to feature branches and test them thoroughly before merging them into the main branch. Use linting tools like Eslint and Prettier to ensure code quality and consistency. Finally, keep an eye on the automated tests and analysis results to catch issues early in the development process.

Resources

Here are some useful resources for learning more about CD/CI: