I am trying to have a “create an octopus release” with my linux build server (Debian 9 stretch). I am running into this “incompatible runner” problem. I have checked this issue: Incompatible runner: OctopusDeploy But it was some time ago, so I’m not sure it’s still the same workaround (and now, Octopus release is at v.3).
I am quite new to Linux servers, so I did:
/sbin/shutdown -r now
I can see some more folders (as agent, server), files (as teamcity-plugin.xml)… I might be missing a step in the installing, but I am unsure what?
I have .Net Core 2.1 installed. the builds have been working fine.
Thanks for the help!
Thanks for getting in touch!
I setup a Debian9 instance and installed the plugin… and it worked as expected, so I suspect there’s something different in how we’ve both set things up.
I think the issue might be with how you’ve installed the plugin - the best way is to upload the zip file via the UI under Administration -> Plugin List -> Upload plugin zip. You can read more here on the teamcity documentation - https://confluence.jetbrains.com/display/TCD18/Installing+Additional+Plugins.
Give that a go, and let me know how you get along.
Sorry to re-contact you, but I just can’t seem to do it…
We now have this in our Plugin List, it’s been updated :
Octopus Deploy integration
Allows Octopus Deploy deployments to be triggered after a build.
But I still am unable to create a release from TeamCity to Octopus…
Could you tell me what is different with how you do it? Or a step by step? Thanks a lot!
It seems I misread your initial post - I thought your TeamCity build server was Debian - but it appears to be the build agent instead.
That said, I dont think that should be the problem.
On your teamcity build agent, you dont need to manually put files there - TeamCity will automatically transfer the plugin from the server and install it on the plugin.
Can you share some screenshots of how you have configured the step? Also some screenshots of where you’re seeing the error?
As for the steps I followed:
- I spun up a new debian9 machine
- installed openjdk-8-jdk (required for teamcity)
- downloaded teamcity from https://www.jetbrains.com/teamcity/download/
- extracted the zip
runAll.sh start to start the server and agent
- went through all the teamcity configuration steps
- once the server was up and running, I downloaded the plugin from the octopus website, and uploaded it to teamcity via
Configuration -> Plugins List -> Upload plugin zip, and restarted.
- I then added a step
OctopusDeploy: Deploy release to deploy a release, pointing at our octopus server, and ran the build
Hope this provides some insight.
Look forward to seeing your screenshots so I can help diagnose whats happening.
Indeed, the Debian is a build agent. We installed it a couple of months ago and it has been able to run builds for docker and push the images.
Following your steps:
We have openjdk-8-jdk on the server.
It is a build agent correctly installed.
We have downloaded the plugin Teamcity from Octopus/Jetbrains and uploaded the plugin zip. Does the computer/server installing the plugin matters…?
I add the step OctopusDeploy: Deploy release
Right now, here is the error I am getting: (from the agent logs)
[2019-05-10 10:58:55,712] INFO - jetbrains.buildServer.AGENT - Octopus can not run on agent with Unix and without Octo.exe or DotNET
When I run dotnet --version on the server, it does returns 2.1.603. which should mean it is correctly installed.
I am very sorry that this issue is taking so long. We just can’t seem to figure out what is wrong.
Hmmm. This is a interesting one. I’ve reached out internally to the team who know a lot more about the teamcity plugin, and they’ve let me know the message you’re seeing is coming from this line of code.
It looks like its having trouble finding either
dotnet on the path.
Can you try running a straight command line step with
dotnet, and let me know what it outputs?
If it comes up with something equivalent to “cant find command dotnet” then it means that the dotnet cant be found on the PATH that is used by user that is running the teamcity agent.
Let me know how you get along.
Yes, we found this line of code as well when we looked for the exact same message.
I have run dotnet, and it returns
Usage dotnet options
Usage dotnet path-to-application
DOTNET_ROOT is set as /home/teamcity/dotnet
When I do dotnet --version, it returns 2.1.603
So it seems like dotnet would be fine, is Octo.exe the problem? Is Octo.exe the plugin?
Did you run that from the command line on the build agent or from a command line runner in TeamCity?
The plugin works by either using the local copy of octo.exe, which is a cli tool for interacting with Octopus. If it can’t find that, it will try and use an embedded version, and use the dotnet command line to run it.
You can find octo.exe on our website - https://octopus.com/downloads. You might want to try and put that somewhere on the box and make sure that’s in the path.
Let me know how you get along.
dotnet command was run directly on the Debian server itself.
All right, I will download Octo.exe (the command line I can see) and see how it goes.
Can you try running the dotnet command from a command line runner in TeamCity. I suspect it won’t run, which will point to the path not being set correctly.
Once done, can you send through the log?
You were right.
in directory: /home/teamcity/BuildAgent/work/2707fb6be1841652
dotnet: not found
Process exited with code 127
Process exited with code 127 (Step: Command Line)
I have as well tried to download the Octopus cli :
dotnet tool install octopus.DoNet.Cli --tool-path /home/teamcity --version 5.2.0
error NU1101: Unable to find package ocotpus.dotnet.cli. No package exist with this id in sources: /home/teamcity/dotnet/sdk/NuGetFallbackFolder, nuget.ord
The tool package could not be restored
By the way, so we have DOTNET_HOME (previously tried with DOTNET_ROOT), and /home/teamcity/dotnet in the path, teamcity doesn’t pick up these parts in the UI of the environment variables.
On the Debian server: PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/teamcity/dotnet
We have tried as well in a Command line step to return Env, and it doesn’t return what we can see on the Debian Server neither.
Okay so, finally found a way to pick up dotnet, and so the Octopus plugin.
For a weird reason, .net core 2.1 has problems. It is actually not the first time we have problems with this version, have no idea why.
I updated to 2.2 with this command
sudo apt-get install dotnet-sdk-2.2
It updated itself, rebooted the servers and now it’s working.
Oh well. This has been a ride! Thanks for all your help!
Glad to hear that you got to a solution - sorry it took so long to get there.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.