@bbesmanoff
This talk contains my own ideas.
My own meaning it doesn't represent any product/service/company/etc.
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily
Continuous delivery is a software development methodology where the release process is automated. Every software change is automatically built, tested, and deployed to production
best kind of no
The theory is that CI just checks your code against everyone elses and the CD will run a full build/test cycle in addition to a release cycle
YMMV
- Decide on what is required for a build
Unit tests? Integration tests? Linting/style-checking?
- Jenkins
- AWS CodePipeline
- TravisCI
- CircleCI
- Jenkins
- AWS CodePipeline
- TravisCI
- CircleCI
mix of "true" ci and "true" cd
live demo using example app
git rebase origin master
rebase is not your enemy
Forward-port local commits to the updated upstream head
A---B---C topic
/
D---E---F---G master
... to ...
A'--B'--C' topic
/
D---E---F---G master
git push --force origin topic
git push --force origin topic
(demo time)
- (hopefully apparent)
- (hopefully apparent)
- Fast feedback