Jenkins App

Artifact [fae800b52a]
Login

Artifact fae800b52a93a82c8482c50d6a1f83f98a29f2cd:

Wiki page [Jenkins App] by sami 2011-03-28 20:40:02.
D 2011-03-28T20:40:02.851
L Jenkins\sApp
P b76eaa3c4a56bb74dc8c8e22688326c87436c4f9
U sami
W 2301
<h2>About</h2>

Jenkins.app is a simple AppleScript wrapper around the <a href="http://jenkins-ci.org">Jenkins</a> continuous integration server software.

Because Jenkins has no user interface, it is a bit difficult to start and stop it without using the Terminal and some Unix commands. This makes it easy.

To start Jenkins, run Jenkins.app. 

On the first run, Jenkins.app will download jenkins.war from <tt>http://jenkins-ci.org</tt> and place it into the Resources folder inside the app bundle.

After the download, you will be asked if you want to edit the command-line to start Jenkins. You might, for example, want to add <tt>--httpPort=PORT</tt> to specify a port other than 8080 (the default). 

I myself use <tt>--ajpPort=8009 --prefix=/jenkins</tt> because I have Apache set to forward anything under <tt>http://localhost/jenkins</tt> to <tt>ajp://localhost:8009/jenkins</tt>.

Jenkins.app stays running in your Dock while Jenkins runs in the background. Jenkins.app has no windows.

To stop Jenkins, quit Jenkins.app.

<h2>Download</h2>

If you log in as "anonymous", you can browse the history of commits (called the Timeline) and download a zip archive of any version in the history.

If that sounds too confusing, you can download <a href="http://koti.welho.com/stikka2/Jenkins.zip">Jenkins.zip</a> which I created earlier.

<h2>How to clone this repository</h2>

<verbatim>
fossil clone http://chiselapp.com/user/sti/repository/jenkins-app MYLOCALCOPY
mkdir WORKDIR
cd WORKDIR
fossil open ../MYLOCALCOPY
</verbatim>

<h2>How to build</h2>

<verbatim>
cd WORKDIR
ant
</verbatim>

<h2>Future</h2>

At moment I am very happy with the way Jenkins.app works. There are some things I'd like it to do (e.g. to open a browser window to Jenkins front page) but I don't know how to do those things in AppleScript easily. (How would the script know where to find Jenkins if the user changed the default port? It would need to parse the command line.)

Maybe the next version should be written in a real programming language? This is good enough for a first prototype.

If you have any ideas or find bugs, feel free to submit them as Tickets here. The Fossil version control system has built-in bug-tracking/ticketing system.

Thanks

Sami Tikka
Z 8500f111f2ec72e768b04a9a231cd15c