Arc'teryx Navigation
Deployment Pipeline
This project uses Bitbucket Pipelines for continuous integration and deployment. Below is a detailed description
of our deployment setup, including the tools and libraries we use.
Pipeline Overview
Our Bitbucket pipeline is designed to automate various tasks such as building, testing, and deploying our
application. The pipeline is configured to run different steps based on the branch being pushed to.
Branches
- main: The main branch is used for stable releases. Changes merged into this branch trigger the build and publish process.
- beta: The beta branch is used for pre-release versions. This allows us to test new features in a production-like environment before merging them into the main branch.
Tools and Libraries
- Semantic Release: Automates the versioning and package publishing process.
- SonarCloud: Provides code quality and security analysis.
- Storybook: A tool for developing UI components in isolation.
- AWS CLI: Command Line Interface for managing AWS services.
- Prettier: An opinionated code formatter.
- ESLint: A tool for identifying and fixing linting errors in JavaScript.
Testing and Deployment
By following this setup, we ensure a smooth and reliable deployment process, maintaining high code quality and stability.
Commit Message Conventions and Automated Releases
This project follows the Conventional Commits specification to
maintain a consistent commit history and automate the release process using Semantic Release.
Tools and Setup
To enforce commit message conventions and automate releases, we use the following tools:
- Husky: Manages Git hooks to run scripts before commits.
- Commitlint: Lints commit messages to ensure they follow the Conventional Commits specification.
- Semantic Release: Automates the versioning and release process.