Search This Blog

Showing posts with label Hudson. Show all posts
Showing posts with label Hudson. Show all posts

08 April 2010

Kohsuke leaves Sun

Kohsuke is leaving Sun to start his own business.  Good luck Kohsuke.  I'm glad you are doing your own thing rather than being cannon fodder for Oracle.

04 April 2010

Hudson reset on upgrade

I realized today that Hudson was about 15 versions out of date.  I did the upgrade (pfexec pkg install hudson).  On restart, Hudson now had a blank configuration.  Don't worry - your data isn't gone. My manifest file had been modified and reimported; so now the various paths were incorrect for my system.  Fixing and reimporting (pfexec svccfg import hudson.xml) was enough to get it working again.

14 May 2009

Project Darkstar

I recently had this conversation with Owen (rest of the conversation is here):

Owen F. Kellett to meLink

Wed, May 6, 2009 at 12:11 PM

Hi Malachi,

I haven't forgotten about you. Good news though. We have recently gotten approval to make the server api as well as the interfaces for writing custom services, authenticators, etc GPLv2 + classpath exception. We haven't updated the code yet, but this is coming very soon. I would anticipate the next official release should contain this new licensing scheme. In the meantime, keep an eye on our incremental releases: http://download.java.net/maven/2/com/projectdarkstar/server/sgs-server-dist/

Either the next one, or the one following will likely have this change.

thanks, Owen

Malachi de Ælfweald to Owen

Wed, May 6, 2009 at 3:39 PM

Hey Owen,

That is great news! So if I am understanding correctly, that will allow me to specify the sgs-server-api as a maven dependency without dropping the MIT licensing on my game?

Thanks, Malachi de Ælfweald http://www.google.com/profiles/malachid

Owen F. Kellett to me

Wed, May 6, 2009 at 5:09 PM

Yes that is correct. The classpath exception should free you from the requirement of using GPL for any linked code.



Based on that, I decided it was time to move forward with the darkstar-based projects...

Since I have a Hudson server, I decided to let it keep track of how to make it successfully build...

At first I was trying to build with JDK7, but it kept failing on the Javadoc module saying that the jars had invalid characters in it. That went away once I changed to JDK6. I also had to tell it to skip the tests, because one of them just hung forever...

The Hudson job for the server is here.
The Hudson job for the client is here.
The Hudson job for the maven plugin is here.

The distributables were delivered to Nexus.
sgs-server-dist-0.9.10-SNAPSHOT.zip
sgs-tutorial-server-dist-0.9.10-SNAPSHOT.zip
sgs-client-dist-0.9.10-SNAPSHOT.zip
sgs-tutorial-client-dist-0.9.10-SNAPSHOT.zip
sgs-maven-plugin-1.0-alpha-4-SNAPSHOT.jar

I created a new user on the server ('darkstar'/'darkstar') and unzipped the sgs-server-dist-0.9.10-SNAPSHOT.zip

I then created a symlink (/home/darkstar/current to /home/darkstar/sgs-server-dist-0.9.10-SNAPSHOT)

I don't know if it is correct, but I made this SMF manifest for it.

darkstar@kallisti [0] ~> svccfg import hudson.xml

darkstar@kallisti [0] ~> svcs -xv
svc:/application/darkstar:default (Project Darkstar Server)
State: maintenance since Thu May 14 23:37:36 2009
Reason: Restarting too quickly.
See: http://sun.com/msg/SMF-8000-L5
See: http://www.projectdarkstar.com/
See: /var/svc/log/application-darkstar:default.log
Impact: This service is not running.


darkstar@kallisti [0] ~> cat /var/svc/log/application-darkstar:default.log
WARNING: No application jar found with a META-INF/app.properties configuration file in the /home/darkstar/sgs-server-dist-0.9.10-SNAPSHOT/deploy directory
May 14, 2009 11:37:36 PM com.sun.sgs.impl.kernel.Kernel checkProperties
SEVERE: Missing required property com.sun.sgs.app.name
Exception in thread "main" java.lang.IllegalArgumentException: Missing required property com.sun.sgs.app.name
at com.sun.sgs.impl.kernel.Kernel.checkProperties(Kernel.java:855)
at com.sun.sgs.impl.kernel.Kernel.(Kernel.java:202)
at com.sun.sgs.impl.kernel.Kernel.main(Kernel.java:1123)
[ May 14 23:37:36 Stopping because all processes in service exited. ]
[ May 14 23:37:36 Restarting too quickly, changing state to maintenance. ]

Guess it's time to build an app...

24 April 2009

Hudson Maven Release Plug-in Plug-in + Hudson Google Code plugin

I was excited to be able to use the Hudson Google Code plugin for my project.



Unfortunately, when I tried to also use the Hudson Maven Release Plug-in Plug-in with it, it always failed to authenticate...


[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /home/hudson/jobs/ambrosia-jdk6-standalone/workspace/. && svn --username hudson@eoti.org --password '*****' --non-interactive commit --file /var/tmp/maven-scm-2033681108.commit --targets /var/tmp/maven-scm-1162162468517704084-targets
[INFO] Working directory: /home/hudson/jobs/ambrosia-jdk6-standalone/workspace/.
[HUDSON] Archiving /home/hudson/jobs/ambrosia-jdk6-standalone/workspace/./pom.xml to /home/hudson/jobs/ambrosia-jdk6-standalone/modules/org.eoti$ambrosia/builds/2009-04-24_00-59-40/archive/org.eoti/ambrosia/2.2-SNAPSHOT/pom.xml
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to commit files
Provider message:
The svn command failed.
Command output:
svn: Commit failed (details follow):
svn: MKACTIVITY of '/svn/!svn/act/0776c9b3-28c2-443e-a144-97770aaff2b2': authorization failed: Could not authenticate to server: rejected Basic challenge (http://ambrosia.googlecode.com)

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: Unable to commit files
Provider message:
The svn command failed.
Command output:
svn: Commit failed (details follow):
svn: MKACTIVITY of '/svn/!svn/act/0776c9b3-28c2-443e-a144-97770aaff2b2': authorization failed: Could not authenticate to server: rejected Basic challenge (http://ambrosia.googlecode.com)

at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:699)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at hudson.maven.agent.Main.launch(Main.java:158)
at hudson.maven.MavenBuilder.call(MavenBuilder.java:162)
at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:578)
at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:524)
at hudson.remoting.UserRequest.perform(UserRequest.java:97)
at hudson.remoting.UserRequest.perform(UserRequest.java:46)
at hudson.remoting.Request$2.run(Request.java:236)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.maven.plugin.MojoFailureException: Unable to commit files
Provider message:
The svn command failed.
Command output:
svn: Commit failed (details follow):
svn: MKACTIVITY of '/svn/!svn/act/0776c9b3-28c2-443e-a144-97770aaff2b2': authorization failed: Could not authenticate to server: rejected Basic challenge (http://ambrosia.googlecode.com)

at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:190)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
... 28 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 40 seconds
[INFO] Finished at: Fri Apr 24 01:00:22 PDT 2009
[INFO] Final Memory: 17M/218M
[INFO] ------------------------------------------------------------------------
channel stopped
Finished: FAILURE


This was because it was using http instead of https to do the checkout...
The solution was to only partially use the Google Code plugin...


22 April 2009

Hudson

I've been thinking about setting up a continuous integration server for awhile. After doing some configuration of Cruise Control at work, I decided to try Hudson at home.

First things first... Virtualization? I decided I would rather have it virtualized if for no other reason than that dotster already had dns setup for one of my currently unused ips and I didn't want to wait for the ip change to propagate.

I can't run VirtualBox because I am running xVM and VirtualBox refuses to start if you are in xVM mode. I could run it in xVM... but I really don't like dedicating a large chunk of my memory to it... so zone it is.

malachi@serveris[0]:/data % pfexec zonecfg -z eoti.org
eoti.org: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:eoti.org> create
zonecfg:eoti.org> set zonepath=/data/eoti.org
zonecfg:eoti.org> set autoboot=true
zonecfg:eoti.org> add net
zonecfg:eoti.org:net> set address=10.10.1.13/16
zonecfg:eoti.org:net> set physical=nge0
zonecfg:eoti.org:net> set defrouter=10.10.1.1
zonecfg:eoti.org:net> end
zonecfg:eoti.org> verify
zonecfg:eoti.org> commit
zonecfg:eoti.org> exit

malachi@serveris[1]:/data % pfexec zoneadm -z eoti.org install
/data/eoti.org must not be group readable.
/data/eoti.org must not be group writable.
/data/eoti.org must not be group executable.
/data/eoti.org must not be world readable.
/data/eoti.org must not be world executable.
could not verify zonepath /data/eoti.org because of the above errors.
zoneadm: zone eoti.org failed to verify

malachi@serveris[1]:/data % pfexec chmod 700 /data/eoti.org

malachi@serveris[1]:/data % pfexec zoneadm -z eoti.org install

malachi@serveris[1]:/data % pfexec zoneadm -z eoti.org boot

malachi@serveris[1]:/data % pfexec zlogin -C eoti.org
(chose option 6 - xterms)
Host name for nge0:1 kallisti
domain: eoti.org
Server's IP address: 10.10.1.1
Server's IP address: 66.93.87.2
Server's IP address: 216.231.41.2
pwd: ***********

malachi@serveris[1]:/data % pfexec zoneadm -z eoti.org reboot
malachi@serveris[1]:/data % zoneadm list -v
malachi@serveris[1]:/data % pfexec zlogin eoti.org

root@kallisti:~# svcadm disable autofs
root@kallisti:~# useradd -g staff -s /usr/bin/bash -c "Malachi de AElfweald" -m -P "Primary Administrator" malachi
root@kallisti:~# passwd malachi

malachi@serveris[1]:/data % pfexec vi /etc/hosts
10.10.1.13 kallisti.eoti.org kallisti

http://wiki.hudson-ci.org/display/HUDSON/OpenSolaris+IPS+package
but had to change this line to include java
<envvar name="'PATH'" value="'/opt/jdk1.7.0/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/local/bin:/usr/local/sbin:/usr/sfw/bin' />

couldn't have it create the zfs filesystem within the zone... but it was already on a zfs filesystem anyway, so no worries