Professional Documents
Culture Documents
SUPPORT WORKFLOW
NEIL MCCAUGHLEY
BUILD AND RELEASE ENGINERING MANAGER
NEIL MCCAUGHLEY
BUILD AND RELEASE ENGINERING MANAGER
Source Control Management CI and Build Tools Code Quality Analysis Packaging Tools
Deploy/Test
Source code
Unit Testing Quality Control Packaging Dedicated Test
Change
Environment
Feature complete
Gate
Deploy
Publish Release Integration
Integration
Candidates Testing
Environment
CI/CD WORKFLOW
Deploy/Test Deploy/Test Deploy/Test
Release
Candidate Gate
Production Release
Gate
Production
Deployment
Deployment Environments Configuration management and Binaries and package storage Testing Frameworks
Deployment
Source Control Management CI and Build Tools Code Quality Analysis Packaging Tools
Deploy/Test
Source code
Unit Testing Quality Control Packaging Dedicated Test
Change
Environment
Feature complete
Gate
Deploy
Publish Release Integration
Integration
Candidates Testing
Environment
Release
Candidate Gate
Production Release
Gate
Production
Deployment
Deployment Environments Configuration management and Binaries and package storage Testing Frameworks
Deployment
Release uses cases Key
Automated task
Deployment Self-Service option
Source Control Release Engineering Ticket
Update dependencies: Ivy - NuGet - Maven - Npm Trigger Local deployment
Update project source Remote deployment
Request a repo Generate Chef cookbook
Create branch (feature, release, hotfix) Chef environment maintenance
Tag Chef role maintenance
Merge branches pre-release or release Maintain runlist
Create a repo Target deployment nodes
Migrate project Specify deployment package version
Git user support Stage artifacts for Production
Git access request Stage cookbooks for Production
Crucible Project create 3rd party cookbook creation
Crucible Project create Bootstrap client for deployment
Crucible user creation Chef job tool maintenance
Migrate role
Migrate Cookbook
Build
Chef access request
Resolve dependencies
Deployment support
Inspect dependencies
Encrypt Configuration passwords
Run unit tests
Decrypt Configuration passwords
Run code coverage
Provision server
Push updated version files
Compile project
Package project Artifact Library
Run code inspection analysis Retrieve dependency artifacts
Test deployment Publish project installer package
Create Feature/CI/Release/Hotfix build configuration Publish project library artifacts
Build support Artifact promotion to release repo
TeamCity access request Publish 3rd party packages
Build template config maintenance Proxy Repository management
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Release uses cases Key
Automated task
Deployment Self-Service option
Source Control Release Engineering Ticket
Update dependencies: Ivy - NuGet - Maven - Npm Trigger Local deployment
Update project source Remote deployment
Request a repo Generate Chef cookbook
Create branch (feature, release, hotfix) Chef environment maintenance
Tag Chef role maintenance
Merge branches pre-release or release Maintain runlist
Create a repo Target deployment nodes
Migrate project Specify deployment package version
Git user support Stage artifacts for Production
Git access request Stage cookbooks for Production
Crucible Project create 3rd party cookbook creation
Crucible Project create
Crucible user creation MANUAL STEPS = Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Automated
Or when automation is not possible/desired
Self Service
From a collaboration stand point, If you spend most of your day raising tickets
or waiting on tickets to be completed
INTRODUCE RISK?
Automated
or failing that
Self Service
Making self-service safe
Build
FROM 60% FTE TO 20%
Resolve dependencies
Inspect dependencies
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Run unit tests
Decrypt Configuration passwords
Run code coverage
Push updated version files
Compile project
Package project Artifact Library
Run code inspection analysis Retrieve dependency artifacts
Test deployment Publish project installer package
Create Feature/CI/Release/Hotfix build configuration Publish project library artifacts
Build support Artifact promotion to release repo
TeamCity access request Publish 3rd party packages
Build template config maintenance Proxy Repository management
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Source Control Management CI and Build Tools Code Quality Analysis Packaging Tools
Deploy/Test
Source code
Unit Testing Quality Control Packaging Dedicated Test
Change
Environment
Feature complete
Gate
Deploy
Publish Release Integration
Integration
Candidates Testing
Environment
Release
Candidate Gate
Production Release
Gate
Production
Deployment
Deployment Environments Configuration management and Binaries and package storage Testing Frameworks
Deployment
EXTENSIONS:
OPERATIONS OUTSIDE RELEASE MANAGEMENT
EXTENSIONS:
JOB SCHEDULER
Engineering Wins
• Reduced complexity
• Assigns ownership
• Assigns ownership
Twitter: @neilisking