Install the HubSpot CLI: https://developers.hubspot.com/docs/cms/developer-reference/local-development-cli
Key CI/CD patterns
Use env vars in CI rather than committing hubspot.config.yml: set HUBSPOT_ACCOUNT_ID and HUBSPOT_PERSONAL_ACCESS_KEY, then hs project upload --use-env.
Store personal access key as a GitHub secret; account id as a variable.
Workflow file at .github/workflows/main.yml; supports separate staging branch/account deploys.
Auto-deploy: if enabled, project-upload also deploys the build.
Community / third-party
Modern HubSpot CMS Development Flow With CI and GIT (Netguru): https://www.netguru.com/blog/modern-hubspot-cms-development-flow-with-ci-and-git
Community: Deploy a HubSpot App via CI/CD: https://community.hubspot.com/t5/APIs-Integrations/How-can-I-let-CICD-to-deploy-an-app-to-Hubspot/m-p/1249905