Presentation is loading. Please wait.

Presentation is loading. Please wait.

CTools Build Process David Haines University of Michigan.

Similar presentations


Presentation on theme: "CTools Build Process David Haines University of Michigan."— Presentation transcript:

1 CTools Build Process David Haines University of Michigan

2 Why a build process? Repeatable Reliable Easy Correct

3 Not part of build process Db conversion Infrastructure (key stores, accounts and passwords, Apache)

4 Build Process

5 CTools Instance Configuration Properties file specialized to particular instance Have production, test, load test, pilot, personal, etc.

6 Build Phases Identify and obtain source –Adjust source as necessary Build and package artifacts –Remove unneeded pieces Customize properties for different instances

7 Build Process Artifacts Server image Instance configurations (sakai.properties) Source bundle

8 Tools Ant scripts to checkout and compile source –Note: Different types of source may need different sub-scripts (e.g. Melete, iTunesU) Configuration file: location and SVN revision e.g. ctools.url, ctools.revision

9 Importance of Source Control Everything in Source Control (except secrets) Build tools Build configuration Source for Sakai and CTools Instance configuration

10 Build Configuration Source location and version –Svn URL for sakai, contrib repositories –e.g. 17342 Include / exclude flags for specific source –usermembership.install.skip

11 Build Configuration (cont.) Source adjustments –Xml configuration files (grade scale xml) –patches Misc –Maven repository tag for jar/war files –Favicon file name –Common properties (melete upload path)

12 Source Adjustments Sometimes it's not quite right –Bugs –Localizations Sometimes it not quite enough –Adjust xml configuration files

13 Source adjustments (cont) Michigan –Branch only configuration information –Customize code by patch if possible –Branch code only if no other choice

14 Source Adjustments (cont) Code patches (bug fixes, UMich tweaks) –Specified in build-patches.xml Ant script –Take patch file (from svn diff), apply to the checked out source. Tool specific changes –Insert gradebook scales –Adjust web.xml values –Adjust registration (gradtools)

15 CTools Instance Configuration Have base Sakai.properties Have properties file of specific overrides for each instance e.g. Skin and serverurl vary for CTools and CTpilot

16 Compile Run Maven from within Ant Clean Compile Deploy

17 Assemble server image Produced code and deployable image, but not quite a UMich image –Remove things generated but not needed –Add image specific stuff conf/Catalina/localhost/melete.xml –Favicon

18 Deliver Tar file with image that can be expanded over fresh tomcat Instance files (sakai.propertes, placeholder.properties) for different instances.

19 Questions ?


Download ppt "CTools Build Process David Haines University of Michigan."

Similar presentations


Ads by Google