Auto Build

17
Headless builds Builds are on a machine in the opensource lab at OSU called ecf2. It runs Suse 10.2 Linux Code repository is on dev.eclipse.org in Ottawa (I think). 1 06/06/22 Background

description

 

Transcript of Auto Build

Page 1: Auto Build

Headless builds

Builds are on a machine in the opensource lab at OSU called ecf2. It runs Suse 10.2 Linux

Code repository is on dev.eclipse.org in Ottawa (I think).

104/10/23

Background

Page 2: Auto Build

Install cruisecontrol and ant on ecf2.

Auto Builds every 30 minutes (not saved).

Daily Builds uploaded to dev.eclipse.org.

Email sent to ecf-build mailing list.

Builds are uploaded to dev.eclipse.org and are available from our ECF web page.http://www.eclipse.org/ecf

First Stage

204/10/23

Requirements

Page 3: Auto Build

304/10/23

Start Up CruiseControl First Stage

/opt/cruisecontrol-2.7/main/bin/cruisecontrol.sh -configfile config.xml -port 8000 -rmiport 1099'

Page 4: Auto Build

04/10/23 4

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="ecf" buildafterfailed="false"> . </project><!-- PROJECT ECFDAILY This is the Daily build --> <project name="ecfDaily" buildafterfailed="false"> . </project>

Page 5: Auto Build

04/10/23 5

cruisecontrol config.xml cc-build.xml java, eclipse, antrunner, build.ecf.xml Ant, build.xml

First Stage

Flow of Control

Page 6: Auto Build

04/10/23 6

Cruisecontrol sends email indicating success or failure.

First Stage

Email

To subscribe to ecf-build, go to https://dev.eclipse.org/mailman/listinfo/ecf-build.

Page 7: Auto Build

04/10/23 7

First Stage

Uploading FilesUse passphraseless key authentication and scp so that we can put the upload in a script.

In config.xml <onsuccess> <antpublisher antscript="/opt/apache-ant-1.7.0/bin/ant" antWorkingDir="/opt/build.ecf" buildfile="antscp.xml" target="deploy" /> </onsuccess>

<target name="deploy"> <scp todir="${deploydest}" keyfile="${keyloc}" passphrase=""> <fileset dir="${deploysrc}"> <include name="**/*.zip"/> </fileset> </scp></target>

In antscp.xml

Page 8: Auto Build

04/10/23 8

Daily Builds are available from http://www.eclipse.org/ecf/downloads.php

First Stage

Downloading Dailies

Page 9: Auto Build

04/10/23 9

SecondStage

Requirements

Manage builds on ecf2 remotely.

Force builds on ecf2 remotely(not saved).

This involved configuring the Cruisecontrol web reporting tool.

Make a cruisecontrol.war file, put it in Tomcat’s webapps directory, start up Tomcat.

Page 10: Auto Build

04/10/23 10

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 ecf2.osuosl.org as host name and 22 as Port. Click on Load, then Open.

On your PC

Page 11: Auto Build

04/10/23 11

SecondStage

Starting up VNCSERVER

On ecf2

Page 12: Auto Build

04/10/23 12

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

Page 13: Auto Build

04/10/23 13

SecondStage

Connecting with SSH Part 2

On your PC

Page 14: Auto Build

04/10/23 14

SecondStage

Using the Web Reporting Tool

On your PC

Page 15: Auto Build

04/10/23 15

ThirdStage

Requirements

Add the OSU builds to cruisecontrol.

Source code for OSU plug-ins is on ecf1.

Make OSU daily builds accessible from ecf1 web site.

Page 16: Auto Build

04/10/23 16

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.

ThirdStage

Getting the OSU Dailies

Page 17: Auto Build

04/10/23 17

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.

Make daily update sites as well as the zips available.

Add tests to the build.

Cruisecontrol is now running as me on ecf2. How about having it run as a non-login user?

There should be a better way of getting the current downloadable filelist to the web page on dev.eclipse.org.

FourthStage

Requirements