Difference between revisions of "Continuous Integration"

From CDOT Wiki
Jump to: navigation, search
(Project goal)
Line 7: Line 7:
 
- [https://docs.google.com/document/d/1SDqCFd7k3Q39D9xVsQ-cDPHQHgNOSbarrIBXhML-CoU/edit?hl=en&authkey=CJav5NYN Project proposal ]
 
- [https://docs.google.com/document/d/1SDqCFd7k3Q39D9xVsQ-cDPHQHgNOSbarrIBXhML-CoU/edit?hl=en&authkey=CJav5NYN Project proposal ]
  
== Current Status: Project Completed==
+
 
 +
== Current Status==
 +
<big><big>Project Completed</big></big>
 
<br/>
 
<br/>
 +
  
 
==Project Phases==
 
==Project Phases==

Revision as of 16:20, 2 May 2011

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.
- Project proposal


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

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