CI Workflow and Architecture
Central Build-box Architecture:
Repositories on https://git.randomhouse.com
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:
Repositories on https://git.randomhouse.com
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