Difference between revisions of "Continuous Integration"

From CDOT Wiki
Jump to: navigation, search
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
{{Admon/obsolete}}
 +
 
<big><big> Continuous Integration Project for NexJ Express Code</big></big>
 
<big><big> Continuous Integration Project for NexJ Express Code</big></big>
 
{{NexJ_Express Index}}
 
{{NexJ_Express Index}}
Line 5: Line 7:
 
==Project goal==
 
==Project goal==
 
Currently, NexJ has a Mercurial Repository (Internal) in which, the NexJ Express Server (Core) code is maintained with all its histories. NexJ is planning to share a Core Repository with the Open Source Community by creating a Repository (External) that will be kept in sync with the Internal Repository.<br/>
 
Currently, NexJ has a Mercurial Repository (Internal) in which, the NexJ Express Server (Core) code is maintained with all its histories. NexJ is planning to share a Core Repository with the Open Source Community by creating a Repository (External) that will be kept in sync with the Internal Repository.<br/>
- [https://docs.google.com/document/d/1SDqCFd7k3Q39D9xVsQ-cDPHQHgNOSbarrIBXhML-CoU/edit?hl=en&authkey=CJav5NYN Project proposal ]
+
 
 +
=== Contributors ===
 +
* [[Minooz/Projects | Minoo Ziaei]]
 +
* [[User:Gbatumbya|Grace Batumbya]]
  
  
Line 17: Line 22:
 
* Get requirements from NexJ
 
* Get requirements from NexJ
 
* Incorporate requirements from NexJ into Design of algorithm for syncing repositories
 
* Incorporate requirements from NexJ into Design of algorithm for syncing repositories
* Provide the proposal for review and approved - [[Continuous_Integration/proposal | final version of proposal]]
+
* Provide the proposal for review and approved - [[Continuous_Integration/proposal | final version of proposal]] ,  [https://docs.google.com/document/d/17Fuj_9A7sBkzlbP0t0bOY3Qs1iiAhKAvfNTuUMnHUcg/edit?hl=en_US  Google Doc ]
  
 
===Phase 2: Creating Similar Environment (Done) ===
 
===Phase 2: Creating Similar Environment (Done) ===

Latest revision as of 19:29, 26 January 2014

Important.png
This page may be obsolete.
It contains historical information.

Continuous Integration Project for NexJ Express Code

Project goal

Currently, NexJ has a Mercurial Repository (Internal) in which, the NexJ Express Server (Core) code is maintained with all its histories. NexJ is planning to share a Core Repository with the Open Source Community by creating a Repository (External) that will be kept in sync with the Internal Repository.

Contributors


Current Status

Project Completed


Project Phases

Phase 1: Design Proposal (Done)

  • Get requirements from NexJ
  • Incorporate requirements from NexJ into Design of algorithm for syncing repositories
  • Provide the proposal for review and approved - final version of proposal , Google Doc

Phase 2: Creating Similar Environment (Done)

  • Internal Repository
    • Creating a Mercurial repository and adding some changes to it to grow the history of it.
  • Controller
    • This will be containing temporary repositories as the result of scripting.
  • External Repository
    • Creating another Mercurial repository using 'hg' commands from the latest 'change-set' of Internal Repository.

Phase 3: Scripting (Done)

  • Ant
    • Doesn't support some of non-regular Mercurial commands that we need to play with change-sets
  • Bash
    • Supports everything we need for the project. script

Phase 4: Running the script on CI system (Done)

  • Buildbot
  • Hudson
    • Simple to setup and configure.
    • Runs different types of scripts: bash, ant, batch
    • Can be scheduled to run automatically or manually
    • Test Project

Phase 5: Code Review (Done)

  • Execute the script on one of Nexj computers.

Phase 6: Make Changes as per Code Review (Done)

  • Define paths based on Nexj's requirements
  • Modify the script to be able to retrieve change-sets of a remote repository
  • Create specific error message for each problem during running the script

Phase 7: Code Review (Done)

Challenges

Resources