Download presentation
Presentation is loading. Please wait.
Published byStanley Ball Modified over 9 years ago
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 ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.