CI Workflow and Architecture

Central Build-box Architecture:

  • Runners installed on Build Boxes

  • Build boxes watch for changes, and executes build instructions as needed

  • Builds occur within temporary directory on build box

  • Resulting "Productionalized" code remotely deployed onto destination servers

  • Destination Servers serves application

This is the preferred architecture

  • Increased security

  • Decreased runner maintenance

  • Build processing load on dedicated resources

  • Promotes 'clean deploy' on destination servers

Local Runner Architecture:

  • Runners installed on destination servers

  • Build occurs locally in temp directory on destination server

  • "Productionalized" code moved locally into proper location on server

!!! Not the preferred approach !!!

  • Less Secure

  • Must maintain each destination runner

  • Destination servers "get dirty" during build

  • Improper separation of automated tools

    • Red Hat Satellite Server for Software package dependencies

    • Server configuration managed via SaltStack

  • Does not promote proper separation of Application from Operating System

  • Troubleshooting more complex

Last updated