Difference between revisions of "CI CD 101"

From CitconWiki
Jump to navigationJump to search
(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