39.
automate deployment
sa me
the
loy every
dep
wa y to ent!
nvir onm
e
40.
automate deployment
sa me
the
loy every
dep do it frequently
wa y to ent!
nvir onm
e
41.
automate deployment
adjust
c onfigurations
on deploy time
sa me
the
loy every
dep o do it frequently
w ayt nt!
iron me
env
42.
automate deployment
adjust
c onfigurations
./deme
on de<e y ti ploy.s
plo
nviro h
< ep nme
the sam ack nt>
y age>
de plo ev ery do it frequently
yt o
w a me nt!
env iron
53.
deployment pipeline
Build Source (SVN, Backups)
Acceptance
Commit auto Test Stage
Stage (latest)
Version_1234
Artifacts Repository
54.
deployment pipeline
Build Source (SVN, Backups)
Acceptance
Commit auto Test Stage
Stage (latest)
Version_1234
Artifacts Repository
55.
deployment pipeline
Build Source (SVN, Backups)
Acceptance Performance
Commit auto Test Stage auto Test
Stage (latest) Stage
Version_1234
Artifacts Repository
56.
deployment pipeline
Build Source (SVN, Backups)
Acceptance Performance
Commit auto Test Stage auto Test
Stage (latest) Stage
manual
Manual Test
Version_1234 Stage
Artifacts Repository
57.
deployment pipeline
Build Source (SVN, Backups)
Acceptance Performance
Commit Release
auto Test Stage auto Test manual
Stage (latest) Stage Stage
manual
Manual Test
Version_1234 Stage
Artifacts Repository
58.
deployment pipeline
Build Source (SVN, Backups)
Acceptance Performance
Commit Release
auto Test Stage auto Test manual
Stage (latest) Stage Stage
manual
Manual Test
Version_1234 Stage
Build Downstream
Artifacts Repository
59.
deployment pipeline
Build Source (SVN, Backups)
Acceptance Performance
Commit Release
auto Test Stage auto Test manual
Stage (latest) Stage Stage
manual
Manual Test
Version_1234 Stage
Build Downstream
Feedback
Artifacts Repository
64.
acceptance stage
• Define tests in domain specific language
65.
acceptance stage
• Define tests in domain specific language
• Deployment to Environment „latest“ or „UAT“
66.
acceptance stage
• Define tests in domain specific language
• Deployment to Environment „latest“ or „UAT“
• Run additional Unit-Test (integration...)
67.
acceptance stage
• Define tests in domain specific language
• Deployment to Environment „latest“ or „UAT“
• Run additional Unit-Test (integration...)
• Run Selenium Tests
89.
build steps
Preparation:
- clean
- revision Tag extensions
90.
build steps
Filesystem:
- checkout project from SVN
- build TYPO3 source
- get defined extensions
- get assets (fileadmin / uploads)
- create a version file
91.
build steps
Database:
- create structure from Master
- import master data
- update database structure
- import data from the systems
- merge data
92.
build steps
Database:
- create structure from Master
- import master data
- update database structure
- import data from the systems
- merge data
structure_up.sql
merge.sql
93.
package
Package (Delta):
- use files from build process
+ create filesystem delta
+ tar.gz all the stuff
94.
deploying a package
- Deploy Database:
- structure_up.sql
- merge.sql
- all full-*.sqls
- Deploy Filesystem
- Apply environment Settings
- Clear Cache
- Run Crawler
cycle time = time a change in your code takes to be deployed on live (in a reliable (includes testing) and repeatable way)
reduced cycle time = improved competitive
(thats not me :-)
without CI the default state of your application is &#x201E;broken&#x201C; unless you prove otherwise... with COIN the project default state is working with a certain level of confidence...
without CI the default state of your application is &#x201E;broken&#x201C; unless you prove otherwise... with COIN the project default state is working with a certain level of confidence...
without CI the default state of your application is &#x201E;broken&#x201C; unless you prove otherwise... with COIN the project default state is working with a certain level of confidence...
without CI the default state of your application is &#x201E;broken&#x201C; unless you prove otherwise... with COIN the project default state is working with a certain level of confidence...
Hudson + Plugins gives you a lot of possibilities (e.g. &#x201E;promoted builds&#x201C; &#x201E;parameterized build&#x201C;, &#x201E;build downstreams&#x201C;, share properties ...)
Hudson + Plugins gives you a lot of possibilities (e.g. &#x201E;promoted builds&#x201C; &#x201E;parameterized build&#x201C;, &#x201E;build downstreams&#x201C;, share properties ...)
Hudson + Plugins gives you a lot of possibilities (e.g. &#x201E;promoted builds&#x201C; &#x201E;parameterized build&#x201C;, &#x201E;build downstreams&#x201C;, share properties ...)