Auto Build


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Auto Build

  1. 1. <ul><ul><li>Headless builds </li></ul></ul><ul><ul><li>Builds are on a machine in the opensource lab at OSU called ecf2 . It runs Suse 10.2 Linux </li></ul></ul><ul><ul><li>Code repository is on in Ottawa (I think). </li></ul></ul>06/07/09 Background
  2. 2. <ul><ul><li>Install cruisecontrol and ant on ecf2 . </li></ul></ul><ul><ul><li>Auto Builds every 30 minutes (not saved). </li></ul></ul><ul><ul><li>Daily Builds uploaded to . </li></ul></ul><ul><ul><li>Email sent to ecf-build mailing list. </li></ul></ul><ul><ul><li>Builds are uploaded to and are available from our ECF web page. </li></ul></ul>First Stage 06/07/09 Requirements
  3. 3. 06/07/09 Start Up CruiseControl First Stage /opt/cruisecontrol-2.7/main/bin/ -configfile config.xml -port 8000 -rmiport 1099'
  4. 4. 06/07/09 Start Up CruiseControl First Stage We do an Auto Build and a Daily Build. Each is a separate cruisecontrol project in the same config file.   <!-- PROJECT ECF This is the Auto build --> <project name=&quot;ecf&quot; buildafterfailed=&quot;false&quot;> . </project> <!-- PROJECT ECFDAILY This is the Daily build --> <project name=&quot;ecfDaily&quot; buildafterfailed=&quot;false&quot;> . </project>
  5. 5. 06/07/09 cruisecontrol  config.xml  cc-build.xml  java, eclipse, antrunner, build.ecf.xml  Ant, build.xml First Stage Flow of Control
  6. 6. 06/07/09 Cruisecontrol sends email indicating success or failure. First Stage Email To subscribe to ecf-build, go to .
  7. 7. 06/07/09 First Stage Uploading Files Use passphraseless key authentication and scp so that we can put the upload in a script. In config.xml <onsuccess> <antpublisher antscript=&quot;/opt/apache-ant-1.7.0/bin/ant&quot; antWorkingDir=&quot;/opt/build.ecf&quot; buildfile=&quot; antscp.xml &quot; target=&quot;deploy&quot; /> </onsuccess> <target name=&quot;deploy&quot;> <scp todir=&quot;${deploydest}&quot; keyfile=&quot;${keyloc}&quot; passphrase=&quot;&quot;> <fileset dir=&quot;${deploysrc}&quot;> <include name=&quot;**/*.zip&quot;/> </fileset> </scp> </target> In antscp.xml
  8. 8. 06/07/09 Daily Builds are available from First Stage Downloading Dailies
  9. 9. 06/07/09 SecondStage Requirements <ul><ul><li>Manage builds on ecf2 remotely. </li></ul></ul><ul><ul><li>Force builds on ecf2 remotely(not saved). </li></ul></ul>This involved configuring the Cruisecontrol web reporting tool. Make a cruisecontrol.war file, put it in Tomcat’s webapps directory, start up Tomcat.
  10. 10. 06/07/09 SecondStage Using the Web Reporting Tool Use ssh passphraseless key authentication and ssh port forwarding. Do it from Windows or Linux. On Windows I use PuTTY. Set as host name and 22 as Port. Click on Load, then Open. On your PC
  11. 11. 06/07/09 SecondStage Starting up VNCSERVER On ecf2
  12. 12. 06/07/09 SecondStage Connecting with SSH Part 1 Another PuTTY. Load ecf2. Then, choose SSH/Tunnels. Type in 5904 for Source port. Type in localhost:5904 for Destination. On your PC Then, login
  13. 13. 06/07/09 SecondStage Connecting with SSH Part 2 On your PC
  14. 14. 06/07/09 SecondStage Using the Web Reporting Tool On your PC
  15. 15. 06/07/09 Third Stage Requirements <ul><ul><li>Add the OSU builds to cruisecontrol. </li></ul></ul><ul><ul><li>Source code for OSU plug-ins is on ecf1 . </li></ul></ul><ul><ul><li>Make OSU daily builds accessible from ecf1 web site. </li></ul></ul>
  16. 16. 06/07/09 Click on ECF Extra Dailies , and see the available osu downloads. Currently, the osu plug-ins consist of the yahoo, skype, jms, and jgroups plug-ins. Third Stage Getting the OSU Dailies
  17. 17. 06/07/09 <ul><ul><li>The cron that deletes old dailies should actually move them to an archive area rather than delete them. Users have suggested wanting access to dailies much more than a week old. </li></ul></ul><ul><ul><li>Make daily update sites as well as the zips available. </li></ul></ul><ul><ul><li>Add tests to the build. </li></ul></ul><ul><ul><li>Cruisecontrol is now running as me on ecf2. How about having it run as a non-login user? </li></ul></ul><ul><ul><li>There should be a better way of getting the current downloadable filelist to the web page on . </li></ul></ul><ul><li>  </li></ul>Fourth Stage Requirements