[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [buckminster-dev] Hudson plugin and provisioning
|
Hi again,
it actually works like a charm now :)
Here's the current workflow, please let me know what you think about it:
1. The administrator opens the configure hudson page
2. He presses 'Add Buckminster' In the Buckminster section
3. He enters a name for the tool installation (that will be shown in the
job configuration)
4. By default 'Install Automatically' is checked and the default
'Install from Eclipse.org/Cloudsmith.com' installer is checked
5. He selects a version (the versions are fed from a json file on
hudson.org)
6. He can also remove this installer or add other installers (execute
shell script/ download and extract from URL)
7. If install automatically gets unchecked, the installer section
disappears and gets replaced with a textfield to enter the buckminster
home location (this is how it's done in the current buckminster plugin)
8. In a job configuration the build manager can choose between all known
buckminster tool installations
9. If the "Install from Eclipse.org/Cloudsmith.com" installer was
selected and the job is started, the installer checks if buckminster is
already installed on this machine. If not:
-it downloads and extracts the p2 director from the URL in the JSON file
-it invokes the p2 installer with the URL and IU given in the JSON file
to provision a buckminster headless product
-it iterates over all repositories listed in the JSON file and installs
all features associated with them.
In the console output of the job the result looks like this:
Unpacking
http://download.eclipse.org/tools/buckminster/products/director_latest.zip
to /home/joe/workspaceHudson2/buckminster/work/tools/Buckminster_3.5 on
Hudson
[buckminster] $ sh -e
/home/joe/workspaceHudson2/buckminster/work/tools/Buckminster_3.5/buckminster/hudson1716709923112513365.sh
Installing org.eclipse.buckminster.cmdline.product 1.1.350.r11146.
Operation completed in 13049 ms.
Installed Feature org.eclipse.buckminster.core.headless.feature from
http://download.eclipse.org/tools/buckminster/headless-3.5/
Installed Feature org.eclipse.buckminster.cvs.headless.feature from
http://download.eclipse.org/tools/buckminster/headless-3.5/
Installed Feature org.eclipse.buckminster.pde.headless.feature from
http://download.eclipse.org/tools/buckminster/headless-3.5/
Installed Feature org.eclipse.buckminster.maven.feature from
http://download.eclipse.org/tools/buckminster/headless-3.5/
Installed Feature org.eclipse.buckminster.subversive.headless.feature
from http://download.cloudsmith.com/buckminster/external/
The JSON File consists of an array of Buckminster Installables with the
following contents (shortened):
"id":"3.5", //the unique ID of the installable
"name":"Buckminster 3.5", //the human readable name that will be shown
in the version selection
"url":"http://download.eclipse.org/tools/buckminster/products/director_latest.zip",
//the URL of the director application
"iu":"org.eclipse.buckminster.cmdline.product"; //which IU to install
"repositoryURL":"http://download.eclipse.org/tools/buckminster/headless-3.5",
//where to find the headless product
"repositories":[ //a list of repositories where to install features from
{
"url":"http://download.eclipse.org/tools/buckminster/headless-3.5/",
//the repository URL
"features":[ //a list of features to install from this repo
{
"id":"org.eclipse.buckminster.core.headless.feature"},
{
"id":"org.eclipse.buckminster.cvs.headless.feature"}...
I'm almost ready to release this but there are a few questions remaining
that I need answered first:
1. Is the approach ok with you or should I change something?
2. Is it ok to use the direct download link from eclipse.org for the p2
director?
3. Is it ok to automatically download additional features from
cloudsmith or should I restrict to eclipse.org?
4. Do I need to have the user accept some kind of licence agreement for
features (like subversive, or so)?
5. I need some help writing the final JSON file with the version/feature
informations. What should be included in which version?
Best regards,
Johannes