These are planning notes for a CI/CD project.
Objectives:
- More resilient deployment process - errors should halt the deployment process
- Easier maintenance of npm modules and versions across environments
- Keep developer support issues and additional tools to install to a minimum
- Better testing on deployments:
- a11y
- performance
- linting
- Error checking for fatal errors
php -l
- End-to-end testing
- Browser test with a tool like Cypress
- Trunk-based development
Atomic deployments:
- https://deploybot.com/blog/deploy-complex-apps-with-atomic-sftp-deployments
- https://deploybot.com/blog/best-practices-for-using-build-containers
Deployments elsewhere:
- https://technology.condenast.com/story/departures-building-a-docker-container-based-deployment-platform-at-conde-nast
- https://techblog.dotdash.com/continuous-testing-with-cypress-bff986ddde1a
- https://www.signifytechnology.com/blog/2018/04/how-not-to-break-the-guardian-website-by-thomas-bonnin?source=google.com