Skip to main content

    Build and deploy process flows

    We're moving our docs!

    Find the latest version of this page on the Platform website.

    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