Build and deploy process flows We're moving our docs! Still can't find what you're looking for? Reach out to #vfs-platform-support on Slack. Here you'll find flow diagrames for the different types of build and deploy flows we have for VA.gov. Those different flows are:
Standard main/PR build This is the typical Jenkins build for any vets-website branch. There is some logic that is different between main and other branches:
Yes
No
Build starts
Check for linter failures
Check for security issues
Run unit tests
Build site and applications
vagovdev build
vagovstaging build
vagovprod build
Integration testing
Accessibility tests
End to end tests
Create archives for each build and upload to S3
On main branch?
Cache Drupal content and files to S3
Deploy builds to dev and staging
Done
Content only deploy When content is changed in Drupal, sometimes we need to publish it immediately on a va.gov site. There are two separate processes for this, one for staging/dev and another for production.
Staging/dev content deploy
Build started for dev or staging
Fetch build for latest main commit from S3
Build static pages with new content
Skip Webpack build, use assets from most recent build for applications
Create archive for build and upload to S3
Cache Drupal content and files to S3
Deploy build to dev or staging
Production content deploy
Build started
Fetch last released prod build from GitHub releases list
Build static pages with new content
Skip Webpack build, use assets last prod release for applications
Create archive for build and upload to S3
Deploy build to prod
Deploy content preview servers
Daily deploy
Deploy started
Fetch build for latest main commit from S3
Build static pages with new content
Skip Webpack build, use assets from most recent main build for applications
Create archive for build and upload to S3
Create GitHub release
Wait for 60 minutes
Deploy build to prod
Deploy content preview servers