Jenkins Strategy


Luis Gomez <luis.gomez@...>
 

Hi everybody,

 

As we agreed last week, I have prepared the following proposal for Jenkins in our project:

 

First, what we would like to achieve (see if you agree on this):

 

- Build the release vehicles whenever we have new distribution code or opendaylight code

- Run system test whenever we have new test code, distribution code or opendaylight code

- System test bed has always latest successful test code and controller artifacts

- We do not upload release artifacts to Nexus if they do not pass system test

 

And here is the proposal (3 triggers):

 

Trigger 1) New patch in /distributions folder ->  

- Verify tasks: build distributions, upload release artifacts to controller VM, run system test, restore last successful release artifact in controller VM, send code for reviewing

- Merge tasks: merge to master, build distributions, upload release artifacts to controller VM, run system test, if fail restore last successful release artifacts in controller VM, if pass upload release artifacts to Nexus

 

Trigger 2) New patch in /test folder ->

- Verify tasks: upload patch test code in Test tools VM, run system test, restore master code in Test tools VM, send code for reviewing

- Merge tasks: merge to master, upload master test code in Test tools VM, run system test

 

Trigger 3) Change (merge) in other OpenDaylight project ->

- Integration tasks: build distributions, upload release artifacts to controller VM, run system test , if fail restore last successful release artifacts in controller VM, if pass upload release artifacts to Nexus

 

The way we are going to setup these tasks is:

 

- Master Jenkins running in OpenDaylight will handle the distributions build and the controller SW + test code upload functions

- Slave Jenkins running ir our Test Tools VM to run system test. I have already setup some CSIT Job in Open Lab at Ericsson, I will post some information in the wiki when I get it to work

 

So, if my assumptions are correct, we can setup 6 jobs in  Master Jenkins to cover the above:

- Distribution Verify

- Distribution Merge

- Test Verify

- Test Merge

- ODL Integration

- System Test (CSIT) to run in Slave Jenkins

 

Please feel free to comment on this proposal.

 

Thanks/Luis

 


Baohua Yang <yangbaohua@...>
 

Great and support!


On Wed, Nov 13, 2013 at 4:00 AM, Luis Gomez <luis.gomez@...> wrote:

Hi everybody,

 

As we agreed last week, I have prepared the following proposal for Jenkins in our project:

 

First, what we would like to achieve (see if you agree on this):

 

- Build the release vehicles whenever we have new distribution code or opendaylight code

- Run system test whenever we have new test code, distribution code or opendaylight code

- System test bed has always latest successful test code and controller artifacts

- We do not upload release artifacts to Nexus if they do not pass system test

 

And here is the proposal (3 triggers):

 

Trigger 1) New patch in /distributions folder ->  

- Verify tasks: build distributions, upload release artifacts to controller VM, run system test, restore last successful release artifact in controller VM, send code for reviewing

- Merge tasks: merge to master, build distributions, upload release artifacts to controller VM, run system test, if fail restore last successful release artifacts in controller VM, if pass upload release artifacts to Nexus

 

Trigger 2) New patch in /test folder ->

- Verify tasks: upload patch test code in Test tools VM, run system test, restore master code in Test tools VM, send code for reviewing

- Merge tasks: merge to master, upload master test code in Test tools VM, run system test

 

Trigger 3) Change (merge) in other OpenDaylight project ->

- Integration tasks: build distributions, upload release artifacts to controller VM, run system test , if fail restore last successful release artifacts in controller VM, if pass upload release artifacts to Nexus

 

The way we are going to setup these tasks is:

 

- Master Jenkins running in OpenDaylight will handle the distributions build and the controller SW + test code upload functions

- Slave Jenkins running ir our Test Tools VM to run system test. I have already setup some CSIT Job in Open Lab at Ericsson, I will post some information in the wiki when I get it to work

 

So, if my assumptions are correct, we can setup 6 jobs in  Master Jenkins to cover the above:

- Distribution Verify

- Distribution Merge

- Test Verify

- Test Merge

- ODL Integration

- System Test (CSIT) to run in Slave Jenkins

 

Please feel free to comment on this proposal.

 

Thanks/Luis

 


_______________________________________________
integration-dev mailing list
integration-dev@...
https://lists.opendaylight.org/mailman/listinfo/integration-dev




--
Best wishes!
Baohua