Date post: | 08-May-2015 |
Category: |
Technology |
Upload: | devopsdayusa2010 |
View: | 1,880 times |
Download: | 4 times |
Operationsperform release and
deployment
Developersspecify packages they
need in operations
For DevOps need a way to let...
2Friday, June 25, 2010
Need: Developers specify needed package versions...
Application Code
Application Configuration
Third Party Packages
3Friday, June 25, 2010
Need: Release manager* controls the release...
(*Person or Role)
Issue tracking status
QA approval
Change control scheduling
Promotes the artifacts
4Friday, June 25, 2010
Need: Ops run deployment...
Assess scheduling conflicts
Decide how to batch updates
Deploys packages
5Friday, June 25, 2010
Need: Managers want...
Responsibility and boundaries
Enforce process through authorization
Audit and trace changes
6Friday, June 25, 2010
Need: Self service for everyone...Each role works independently
Tools provide the self service interfaces
7Friday, June 25, 2010
Need: Keep it simple...
Use freely available tools
Reflect roles and process
Is easy to understand at any level
Hudson Console
ControlCenter
http / query
copy/createrepo
checkout
App hosts
yum install
8Friday, June 25, 2010
Tool: The “Meta” Package...
Represents a coupled set of packages
Based on RPM dependencies
Spec just “Requires” statements
Requires
9Friday, June 25, 2010
Tool: Yum Repository...
Central storage and index
Resolve and install package dependancies
Allocate a repository to each application team
app host
10Friday, June 25, 2010
Tool: Sources in SCM...
RPM specification
RPM build procedure
Related files needed by release process
Developers have commit access
11Friday, June 25, 2010
Tool: CI job...
Monitor .spec file checkins
Run rpmbuild for the “meta package”
Identify artifacts (RPMs)
Devs modify / run job when desired
12Friday, June 25, 2010
Tool: Runbook Jobs...
PromoteRelease Manager moves artifacts to Yum
DeployOps Admin deploys packages to hosts
ControlCenter
PromoteDeploy
Jobs
Yum repo host App hosts
Distributed command dispatch
13Friday, June 25, 2010
Process: Specify package needs...
name: acme-rocketsversion: 1.0release: 0summary: The Acme Rockets app package setgroup: acme/rocketslicense: proprietary
requires: php >= 5.3.2requires: php < 5.3.0requires: acme-rockets = 1.2.3 requires: memcached = 1.4.5
%descriptionThe Acme Rockets app package dependencies.
%files# NONE
%changelog* Mon Jun 14 2010 Wiley Cayote <[email protected]> 1.0-0 - Initial spec file.
AppDeveloper
checkout/checkin
edit
14Friday, June 25, 2010
Process: CI Build
Hudson Console
Detects and builds meta
package rpms
specAppDeveloper
checkin
Artifacts
Query artifact list
REST call
15Friday, June 25, 2010
Process: Promote
Hudson Console
ControlCenter
Detects and builds
metapackages
run job
Promote
Release manager
REST query create repo
16Friday, June 25, 2010
Audit: Management traceability
SCM revision to package version
“Meta package” to required packages
Package to host
18Friday, June 25, 2010
Audit: Audit compliance
SCM change log: Only devs can commit
ControlCenter event log: Only releaser role can run PromoteOnly ops can run Deploy
Yum: Only packages specified by devs should be in their team’s repository
19Friday, June 25, 2010
http://google.com/group/devops-toolchain
Discuss ideas like this...
DevOps Tool chain Project
20Friday, June 25, 2010