wolfeidau / rake-bamboo-plugin

Plugin for bamboo which enables building of ruby projects using rake
Other
34 stars 16 forks source link

Bamboo unable to detect the Ruby installation on a Windows PC after installing the plugin #28

Closed daniel-d closed 12 years ago

daniel-d commented 12 years ago

I've installed this plugin but afterwards Bamboo doesn't auto detect ruby installations on Windows (XP) based servers.

I’ve installed Ruby using both the standalone RubyInstall for Windows and RailsInstaller, but in both instances after installing the Bamboo Ruby Plugin (v1.8 & v1.10) the “Detect Server Capabilities” button cannot determine where the ruby executable is installed (the system %path% was updated, and the server rebooted, Bamboo version is 4.1 Windows Installer 32-bit).

Is there a way to manually add a Ruby Environment server capability that this plugin can then use?

Let me know if any further information RE my system config is required.

wolfeidau commented 12 years ago

Cheers mate will have a look into this tonight and see what I can discover.

wolfeidau commented 12 years ago

So after setting up my environment again with windows 7 this is the output I see in the logs when my plugin is attempting to location ruby installations. This is invoked when I click the "Detect Server Capabilities" button in the Server Capabilities admin section.

If you could extract the same section of logging that would help a lot.

[INFO] [talledLocalContainer] 2012-08-30 07:37:13,872 INFO [http-6990-2] [RubyCapabilityDefaultsHelper] Retrieving a list of runtime managers.
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,873 INFO [http-6990-2] [RubyCapabilityDefaultsHelper] Loading ruby locator service - SYSTEM
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,873 INFO [http-6990-2] [RubyCapabilityDefaultsHelper] Loading ruby locator service - rbenv
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,873 WARN [http-6990-2] [RbenvRubyRuntimeLocatorService] Windows isn't support for RVM installations
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,873 INFO [http-6990-2] [RubyCapabilityDefaultsHelper] Loading ruby locator service - RVM
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,873 WARN [http-6990-2] [RvmRubyRuntimeLocatorService] Windows isn't support for RVM installations
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,873 INFO [http-6990-2] [RubyCapabilityDefaultsHelper] Loading ruby locator service - WINDOWS
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,938 INFO [http-6990-2] [ExecHelper] where exit code  = 0
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,938 INFO [http-6990-2] [ExecHelper] where exec result = C:\RailsInstaller\Ruby1.9.3\bin\ruby.exe
[INFO] [talledLocalContainer] 
[INFO] [talledLocalContainer] 2012-08-30 07:37:13,939 INFO [http-6990-2] [WindowsRubyLocator] ruby executable C:\RailsInstaller\Ruby1.9.3\bin\ruby.exe
[INFO] [talledLocalContainer] 2012-08-30 07:37:14,004 INFO [http-6990-2] [ExecHelper] where exit code  = 0
[INFO] [talledLocalContainer] 2012-08-30 07:37:14,004 INFO [http-6990-2] [ExecHelper] where exec result = C:\RailsInstaller\Ruby1.9.3\bin\gem.bat
[INFO] [talledLocalContainer] 
[INFO] [talledLocalContainer] 2012-08-30 07:37:14,004 INFO [http-6990-2] [WindowsRubyLocator] gem executable C:\RailsInstaller\Ruby1.9.3\bin\gem.bat
[INFO] [talledLocalContainer] 2012-08-30 07:37:14,666 INFO [http-6990-2] [ExecUtils] ruby exit code  = 0
[INFO] [talledLocalContainer] 2012-08-30 07:37:14,666 INFO [http-6990-2] [ExecUtils] ruby exec result = ruby 1.9.3p125 (2012-02-16) [i386-mingw32]
[INFO] [talledLocalContainer] 2012-08-30 07:37:17,436 INFO [http-6990-2] [ExecUtils] ruby exit code  = 0
[INFO] [talledLocalContainer] 2012-08-30 07:37:17,436 INFO [http-6990-2] [ExecUtils] ruby exec result = C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1;C:/Users/markw/.gem/ruby/1.9.1
[INFO] [talledLocalContainer] 2012-08-30 07:37:17,437 INFO [http-6990-2] [RubyCapabilityDefaultsHelper] Adding system.builder.ruby.WINDOWS 1.9.3-p125@default = C:\RailsInstaller\Ruby1.9.3\bin\ruby.exe
daniel-d commented 12 years ago

As requested. I currently have the RailsInstaller package of Ruby installed, with "C:\RailsInstaller\Ruby1.9.3\bin;" added to my "Path" System variable.

2012-08-30 09:41:47,071 INFO [qtp8694729-20] [RubyCapabilityDefaultsHelper] Retrieving a list of runtime managers. 2012-08-30 09:41:47,071 INFO [qtp8694729-20] [RubyCapabilityDefaultsHelper] Loading ruby locator service - SYSTEM 2012-08-30 09:41:47,071 INFO [qtp8694729-20] [RubyCapabilityDefaultsHelper] Loading ruby locator service - rbenv 2012-08-30 09:41:47,071 WARN [qtp8694729-20] [RbenvRubyRuntimeLocatorService] Windows isn't support for RVM installations 2012-08-30 09:41:47,071 INFO [qtp8694729-20] [RubyCapabilityDefaultsHelper] Loading ruby locator service - RVM 2012-08-30 09:41:47,071 WARN [qtp8694729-20] [RvmRubyRuntimeLocatorService] Windows isn't support for RVM installations 2012-08-30 09:41:47,071 INFO [qtp8694729-20] [RubyCapabilityDefaultsHelper] Loading ruby locator service - WINDOWS 2012-08-30 09:41:47,071 ERROR [qtp8694729-20] [WindowsRubyLocator] IOException occurred locating executable - Cannot run program "where": CreateProcess error=2, The system cannot find the file specified 2012-08-30 09:41:47,071 ERROR [qtp8694729-20] [CapabilityDefaultsHelperImpl] Module au.id.wolfe.bamboo.ruby.RubyCapabilityDefaultsHelper error while detecting default capabilities: au.id.wolfe.bamboo.ruby.common.PathNotFoundException: Unable to locate executable - ruby.exe at au.id.wolfe.bamboo.ruby.windows.WindowsRubyLocator.detectExecutableOnPath(WindowsRubyLocator.java:180) at au.id.wolfe.bamboo.ruby.windows.WindowsRubyLocator.listRubyRuntimes(WindowsRubyLocator.java:107) at au.id.wolfe.bamboo.ruby.RubyCapabilityDefaultsHelper.addDefaultCapabilities(RubyCapabilityDefaultsHelper.java:54) at com.atlassian.bamboo.v2.build.agent.capability.CapabilityDefaultsHelperImpl.addDefaultCapabilities(CapabilityDefaultsHelperImpl.java:47) at com.atlassian.bamboo.configuration.agent.UpdateDefaultsLocalCapability.doDefault(UpdateDefaultsLocalCapability.java:26) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358) at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192) ..... ..... 200 more lines of output ..... at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534) at java.lang.Thread.run(Unknown Source) 2012-08-30 09:41:47,102 DEBUG [qtp8694729-20] [AccessLogFilter] END: admin GET http://sim-prog2:8085/admin/agent/updateDefaultsLocalCapability.action 117882kb-1437kb 531ms 2012-08-30 09:41:47,118 INFO [qtp8694729-16] [AccessLogFilter] admin GET http://sim-prog2:8085/admin/agent/configureSharedLocalCapabilities.action 116411kb 2012-08-30 09:41:47,118 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-5] [BuildQueueManagerImpl] Attempting to reconstruct build queue... 2012-08-30 09:41:48,368 ERROR [qtp8694729-16] [runtime] Error on line 85, column 13 in template/simple/select.ftl stack.findString(parameters.listValue) is undefined. It cannot be assigned to itemValue

Error on line 85, column 13 in template/simple/select.ftl stack.findString(parameters.listValue) is undefined. It cannot be assigned to itemValue The problematic instruction:

==> assignment: itemValue=stack.findString(parameters.listValue) [on line 85, column 13 in template/simple/select.ftl] in user-directive ww.iterator [on line 56, column 1 in template/simple/select.ftl] in include "/${parameters.templateDir}/simple/select.ftl" [on line 12, column 1 in template/aui/select.ftl]

wolfeidau commented 12 years ago

Could you try running the following command in the command line on windows xp and post me the output.

for %i in (ruby.exe) do @echo.   %~$PATH:i
daniel-d commented 12 years ago

The output is:

C:\RailsInstaller\Ruby1.9.3\bin\ruby.exe

wolfeidau commented 12 years ago

That also works on windows 7 and windows server 2008 R2 so I will have a shot at integrating it.

Will post once it is done so you can try it out.

wolfeidau commented 12 years ago

Fixed in 1.11 release I am pushing out now.

daniel-d commented 12 years ago

Cheers Mark.

I installed v1.11 on my WindowsXP Bamboo Server, and upon pressing the "Detect Server Capabilities" button, Bamboo was able to detect my Ruby installation. A simple "Hello World" rake task worked as expected.

Your help is greatly appreciated.

ajeetkumar commented 11 years ago

Hi mate, Checked the #28 and I ran the command "for %i in (ruby.exe) do @echo. %~$PATH:i" on commandline and got the following output "c:\Ruby200-x64\bin\ruby.exe". Now I tried to find the log file within the bamboo installation but could not. Within the logs folder there isn't any file. Please let me know the location so that I can look at it and if required share it with you. Thanks for your help.

pcsgithubid commented 9 years ago

in the linux environment both jruby and ruby are installed ,but bamboo is able detect only ruby,and our project uses jruby .how to fix this issue.bamboo-ruby plugin os insatlled in bamboo and we are using this for bundle and rake.