appSolute RTB Automation Toolkit 01.00.01 ========================================= January 2013 Changes in 01.00.01 =================== - Fixed incorrect parameters for call to rtb/proxy/rtbApplySchemaUpdateList.p. - Various updates and improvements to the common targets build files ant/ad_*targets.xml taken from appSolute Deployment Toolkit. This zip contains the appSolute RTB Automation Toolkit. This is a toolkit used during the EMEA PUG Challenge 2012 presentation "Continuous Integration with Roundtable TSMS" given by Jeff ledbetter of Tugboat Software and Thomas Hansen of appSolutions . The toolkit was built with Roundtable TSMS 11. Although it may work with earlier versions of RTB, it has not been actively tested with these. Licensing: ========= Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction except as noted below, including without limitation the rights to use,copy, modify, merge, publish, distribute, and/or sublicense, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The Software and/or source code cannot be copied in whole and sold without meaningful modification for a profit. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The toolkit is NOT supported by Roundtable Technical support or appSolutions Technical Support. Pre-requisites: ============== The following software is needed to use the toolkit: OpenEdge 10.2B or OpenEdge 11.x RTB TSMS 11 The following software is recommended for using the toolkit: Apache Ant 1.8.4 (http://ant.apache.org/) To ensure all of the available optional tasks are available, it is recommended to run the following update script after installing ant: ant -f fetch.xml -Ddest=system (See http://ant.apache.org/manual/install.html#installing for more details) PCT (http://code.google.com/p/pct - see the installation documentation for details on how to install. In the environment used during the development of this toolkit, the PCT.jar file has been copied directory into the ant/lib directory. Installation ============ Unzip the contents of the zip file into a common location (e.g. /automation or c:\RTBAutomation) or into the root directory of each of the workspaces to be processed. If the toolkit is to be used as a standard part of the application lifceycle, then it is recommended that it is loaded into Roundtable as part of your application. The toolkit contains the following: Extended API for automation --------------------------- An extended API : appSolute/RTB/ADRTBApi.cls This class contains a collection of methods that can be used to automate common processes in Roundtable. The methods use a combination of the standard RTB API and RTB Proxy procedures to perform various common RTB workflow actions. API Wrapper procedures for CLI / script execution ------------------------------------------------- The directory "appsolute/RTB/Automation" contains a series of wrapper procedures that can be called from scripts or tools like Jenkins to perform common RTB actions. These include: appsolute/RTB/Automation/adrtb_template.p - template wrapper procedure that can be used as a starting point for new procedures. appsolute/RTB/Automation/adrtb_selectivecompile.p - perform a selective compile of a workspace appsolute/RTB/Automation/adrtb_createrelease.p - create a release in a workspace appsolute/RTB/Automation/adrtb_buildimport.p - build an import control table in a workspace appsolute/RTB/Automation/adrtb_processimport.p - process an import control table in a workspace appsolute/RTB/Automation/adrtb_processschema.p - build and process schema updates in a workspace appsolute/RTB/Automation/adrtb_makedeployment.p - make a deployment from a workspace appsolute/RTB/Automation/adrtb_wsintegritycheck.p - check the integiry of all objects in a workspace Ant scripts and template scripts -------------------------------- The "ant" directory contains sample Apache Ant scripts that can be used to execute the above wrapper procedures, either from the command line, scripts or from Continuous Integration tools like Jenkins. Ant scripts with common content to be imported into and re-used in other scipts: ant/ad_common_targets.xml - ant/ad_openedge_targets.xml ant/rtb_common_targets.xml Ant scripts for performing selected RTB processes: ant/build_rtb_compile.xml ant/build_rtb_deployment.xml ant/build_rtb_import.xml ant/build_rtb_release.xml ant/build_rtb_schema.xml ant/build_rtb_wsintegritycheck.xml build.props - property file --------------------------- All of the ant scripts assume that a properties files is used with all of the properties needed for the various processes. The name of the properties file to be used during script execution is set with the "build.props" property. A sample file is located in ant/template/props/process.props. It is recommended to have a separate .props file for each workspace. Sample scripts ------------------- The scripts directory contains a series of sample scripts to illustrate the syntax for executing the included ant scipts and wrapper procedures. The line below illustrates how to call the ant script (from a windows cmd file) to build the contents of a workspace. It contains the minimum properties that have to be set for the scripts to work: @call ant -buildfile D:\oeworkspaces\111\rtb-automation\ant\build_rtb_compile.xml -Dbuild.props=C:/Roundtable/rtb11eval/config/devel-process.props -Dbasedir=D:/oeworkspaces/111/rtb-automation Support ======= The toolkit is provided as-is and without any warranty or support of any kind. However, questions, comments, updates and suggestions are very welcome. Assistance in setting up, using and customizing the toolkit are available on request. More scripts and a commercial deployment processing and build automation toolkit based on this toolkit is also available from appSolutions (contact thomas@app-solutions.com for further details). appSolutions a/s www.app-solutions.com Tugboat Software www.tugboatsoftware.com