CTools Build Process David Haines University of Michigan.

Slides:



Advertisements
Similar presentations
Change Management on the Cheap: Tortoise SVN and Ant Two Tools for your Applications Implementation Toolkit Joe Tseng North Slope Solutions
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
OpusCollege and Spring-DM. OSGi based web applications – three strategies OSGi container embedded in another container: OSGi Bridge Server (OBS)  e.g.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
Futures – Alpha Cloud Deployment and Application Management.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Developing CAS in Eclipse
Java Build Tool Comparison HJUG - April 29th, 2009 John Tyler.
Moas: The Mother Of All Sumos Rob Armstrong Sandia National Labs
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
MC365 Application Servers: Servlets. Today We Will Cover: What a servlet is The HTTPServlet and some of its more important methods How to configure the.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Open source administration software for education 2012 User Conference April 22-24, 2012 – Atlanta, Georgia “Together Toward Tomorrow” Chris Denne, Colorado.
European Organization for Nuclear Research Source Control Management Service (Subversion) Brice Copy, Michel Bornand EN-ICE 13 May 2009.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Maven and Stack Starter Michael Youngstrom. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Ext Environment Copyright © 2005 Liferay, LLC All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Maven & Bamboo CONTINUOUS INTEGRATION. QA in a large organization In a large organization that manages over 100 applications and over 20 developers, implementing.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
#RefreshCache Redmine Learn why RefreshCache is the community developer's new best friend. Daniel Hazelbaker Information Technology Director.
LDS Account Integration. Disclaimer This is a training NOT a presentation. – Be prepared to learn and participate in labs Please ask questions Prerequisites:
AUTOBUILD Build and Deployment Automation Solution.
Tomcat Spencer Uresk. Notes This is a training NOT a presentation Please ask questions This is being recorded
Software Engineering in Robotics Packaging and Deployment of Systems Henrik I. Christensen –
Sakai/OSP Portfolio UvA Bas Toeter Universiteit van Amsterdam
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
Running Kuali: A Technical Perspective Ailish Byrne - Indiana University Jay Sissom - Indiana University Foundation.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Deploying Sakai: First Steps David Haines University of Michigan.
June 12th, th Sakai Conference - Amsterdam Sakai 2.4.x System Administrator’s Guide Tony Atkins 7th Sakai Conference Amsterdam, Netherlands June12th,
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
1 Software Configuration Management (SCM) and Software Reuse Presented By: Edmund Leng (HT052446J) Choo Zhi Min (HT052430X)
Managing SX.e and TWL with MARC and Scripts Jeremiah Curtis
Packaging for Voracity Solutions Control Panel David Turner.
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmer's Café Sakai development and app/tool tips Aaron Zeckoski
Austin Java Users Group 2005-Feb-22 Presented by Matt Albrecht.
Running Kuali: A Technical Perspective Ailish Byrne (Indiana University) Jonathan Keller (University of California, Davis)
Confidential Continuous Integration Framework (CIF) 5/18/2004.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
CPSC 871 John D. McGregor Change management Module 2 Session 3.
Dr. David Roldán Martínez Universidad Politécnica de Valencia, Spain & Nuno Fernandes Universidade Fernando Pessoa, Portugal Site Stats, the power of event.
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
Maven for building Java applications By Nalin De Zoysa
Part 4: FCM and the UM University of Reading, December 2015.
Slide 1 Running NEMO at ECMWF Slide 1 NEMO under Perforce at ECMWF Kristian S. Mogensen Last revised:
------TAO, MARKUS Project IT. JavaDoc ‣ JavaDoc is a standard method of commenting source code (interfaces, classes, methods, instances variables). ‣
8/29/10 Maven Repository Management with Nexus Jim McMahon.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
WMarket For Adminstrators Manual Installation. Basic Dependencies To install your own WMarket instance, you are required to install the following software:
Platform & Maven2 David Šimonek. Certified Engineer Course Agenda What is Maven? Why Maven? NB IDE & Maven NB Platform & Maven.
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Maven 04 March
Plan What is Maven ? Links : mvn command line tool
Subversion Reasons to use How it works Subversion important commands
Version Control with Subversion (SVN)
Development and Deployment
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
JENKINS TIPS Ideas for making your life with Jenkins easier
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
Presentation transcript:

CTools Build Process David Haines University of Michigan

Why a build process? Repeatable Reliable Easy Correct

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

Build Process

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

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

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

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

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

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

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)

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

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

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)

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

Compile Run Maven from within Ant Clean Compile Deploy

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

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

Questions ?