Difference between revisions of "CI CD 101"

From CitconWiki
Jump to navigationJump to search
(Add PJ's picture)
 
(One intermediate revision 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 39: Line 39:
 
PJ hates branches, want to avoid them if possible.
 
PJ hates branches, want to avoid them if possible.
 
Microservices as a solution to keep parts of the system away from each other.
 
Microservices as a solution to keep parts of the system away from each other.
 +
  
 
There is no CI/CD on feature branches.
 
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.
 
You can have continuous build on branches, but since they are not integrated, that is not CI.
 +
  
 
unit tests
 
unit tests
Line 49: Line 51:
  
 
- CD steps
 
- CD steps
 +
 
-- pre commit build
 
-- pre commit build
 +
 
-- run the unit tests
 
-- run the unit tests
 +
 
-- package
 
-- package
 +
 
-- deploy
 
-- deploy
 +
 
-- acceptance tests
 
-- acceptance tests
 +
  
 
Things running in parallel:  
 
Things running in parallel:  
 +
 
-- nice big suite of regression test
 
-- nice big suite of regression test
 +
 
-- performance tests
 
-- performance tests
 +
 
-- document
 
-- 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