Difference between revisions of "CI CD 101"
(Created page with "PJ talking about CI CD phases From idea to market/value Goal is to remove all the obstacles between the idea and it getting done as value. - Idea -- define a bucket of accep...") |
(Add PJ's picture) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | PJ talking about CI CD phases | + | PJ talking about CI CD phases and creating an image with group input: http://citconf.com/_Images/continuous-delivery-101-zagreb-2014.v1.png |
From idea to market/value | From idea to market/value | ||
Line 5: | Line 5: | ||
- Idea | - Idea | ||
+ | |||
-- define a bucket of acceptance tests | -- define a bucket of acceptance tests | ||
+ | |||
Comments on the customer not willing to cover/document their acceptance tests, but in some cases there is improvement here | Comments on the customer not willing to cover/document their acceptance tests, but in some cases there is improvement here | ||
+ | |||
-- write broken acceptance tests | -- write broken acceptance tests | ||
+ | |||
+ | |||
- write code to make the first test pass | - write code to make the first test pass | ||
+ | |||
-- write broken unit tests | -- write broken unit tests | ||
+ | |||
-- write just enough code | -- write just enough code | ||
+ | |||
-- refactor | -- refactor | ||
+ | |||
+ | -- pre commit build | ||
+ | |||
+ | -- we mentioned code review tools/techniques, and pair programming | ||
+ | |||
+ | -- get feedback in 10 minutes from people available | ||
+ | |||
-- every time a test goes green - commit! | -- every time a test goes green - commit! | ||
+ | |||
+ | |||
+ | How much time does the build take? | ||
+ | We need to keep the build as short as possible. | ||
+ | |||
+ | Version control systems. A round on who is using what VCS. | ||
+ | |||
+ | Master branches, feature branches. | ||
+ | PJ hates branches, want to avoid them if possible. | ||
+ | Microservices as a solution to keep parts of the system away from each other. | ||
+ | |||
+ | |||
+ | There is no CI/CD on feature branches. | ||
+ | You can have continuous build on branches, but since they are not integrated, that is not CI. | ||
+ | |||
+ | |||
+ | unit tests | ||
+ | "WE have 87% of out unit tests passing!" | ||
+ | PJ: Ignored unit tests are worse that no unit tests at all. | ||
+ | ignored unit tests mean effort put into them, consuming time for nothing. | ||
+ | |||
+ | - CD steps | ||
+ | |||
+ | -- pre commit build | ||
+ | |||
+ | -- run the unit tests | ||
+ | |||
+ | -- package | ||
+ | |||
+ | -- deploy | ||
+ | |||
+ | -- acceptance tests | ||
+ | |||
+ | |||
+ | Things running in parallel: | ||
+ | |||
+ | -- nice big suite of regression test | ||
+ | |||
+ | -- performance tests | ||
+ | |||
+ | -- document |
Latest revision as of 05:48, 20 September 2014
PJ talking about CI CD phases and creating an image with group input: http://citconf.com/_Images/continuous-delivery-101-zagreb-2014.v1.png
From idea to market/value Goal is to remove all the obstacles between the idea and it getting done as value.
- Idea
-- define a bucket of acceptance tests
Comments on the customer not willing to cover/document their acceptance tests, but in some cases there is improvement here
-- write broken acceptance tests
- write code to make the first test pass
-- write broken unit tests
-- write just enough code
-- refactor
-- pre commit build
-- we mentioned code review tools/techniques, and pair programming
-- get feedback in 10 minutes from people available
-- every time a test goes green - commit!
How much time does the build take?
We need to keep the build as short as possible.
Version control systems. A round on who is using what VCS.
Master branches, feature branches. PJ hates branches, want to avoid them if possible. Microservices as a solution to keep parts of the system away from each other.
There is no CI/CD on feature branches.
You can have continuous build on branches, but since they are not integrated, that is not CI.
unit tests
"WE have 87% of out unit tests passing!"
PJ: Ignored unit tests are worse that no unit tests at all.
ignored unit tests mean effort put into them, consuming time for nothing.
- CD steps
-- pre commit build
-- run the unit tests
-- package
-- deploy
-- acceptance tests
Things running in parallel:
-- nice big suite of regression test
-- performance tests
-- document