allure-framework / allure-teamcity

Teamcity CI plugin allowing to generate Allure Report as build artifact
https://qameta.io/allure-report
Apache License 2.0
37 stars 29 forks source link

Agent does not have Allure Report build runner #62

Closed dmarlow closed 7 years ago

dmarlow commented 7 years ago

I'm submitting a ...

What is the current behavior?

Build job gets queued, but cannot execute. The message says: "This build will not start because there are no compatible agents which can run it"

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

Install Allure plugin and tool.

Build Agent has plugin installed from TeamCity server, but reports that it does not have the Allure Report build runner.

What is the expected behavior?

When a build configuration is run, the job to be scheduled onto a build agent with the correct build runner installed. The configuration is then run correctly.

What is the motivation / use case for changing the behavior?

N/A

Please tell us about your environment:

| TeamCity | 9.1.7 on Windows| | Allure version | 2.3.4 | | Test framework | cucumber@1.2.4 | | Generate report using | allure-teamcity@2.6 |

Other information

eroshenkoam commented 7 years ago

It's documentation problem :)

  1. Download the latest version of allure zip archive from here
  2. Rename archive from allure-.zip to allure-commandline.zip
  3. Upload allure-commandline.zip to team city in Administrations/Tools settings
eroshenkoam commented 7 years ago

Please let me know if you will have some troubles with this

dmarlow commented 7 years ago

Thanks for responding! I downloaded the zip and tried to upload it via the Administration/Tools page, but that page only shows things I can run that are installed. Maybe TC v9.1.7 doesn't have any special upload abilities on the Tools page like it has on the Plugins page.

I placed the zip in the following directory: C:\ProgramData\JetBrains\TeamCity\plugins\.tools

I see this in the logs:

[2017-08-23 22:18:24,530]   WARN - de.impl.AgentSharedToolWatcher - Can't register agent shared tool allure-2.3.4 from C:\ProgramData\JetBrains\TeamCity\plugins\.tools\allure-2.3.4.zip, tool is already registered from C:\ProgramData\JetBrains\TeamCity\plugins\.tools\allure-2.3.4.zip 

The Allure Report "runner type" shows up when adding a build step as expected. So, this tells me that the TC Server is setup correctly. The problem is the TC Build Agent. It doesn't know what "Allure" is.

The server logs show this:

[2017-08-23 22:17:08,886]   WARN - ins.files.ServerPluginUnpacker - Failed to unpack file: agent/agentPlugin.zip to C:\ProgramData\JetBrains\TeamCity\plugins\.unpacked\allure-teamcity-2.6\agent\agentPlugin.zip. invalid stored block lengths 
[2017-08-23 22:17:08,886]   INFO - ins.files.ServerPluginUnpacker - Found new plugin at path: C:\ProgramData\JetBrains\TeamCity\plugins\allure-teamcity-2.6.zip. The plugin will become available after TeamCity server restart. 
[2017-08-23 22:17:18,947]   INFO - ins.files.ServerPluginUnpacker - Found updated plugin at path: C:\ProgramData\JetBrains\TeamCity\plugins\allure-teamcity-2.6.zip. Server-side part will take effect after TeamCity server restart. Agent-side part is being distributed on agents. 
...
[2017-08-23 22:18:18,030]   INFO - rver.plugins.PluginManagerImpl - Loaded 86 plugins: [agent-system-info (ver:37573), agent.push (ver:37573), allure (ver:2.6)......
...
[2017-08-23 22:18:30,718]   INFO - nt.AgentPluginsVersionProvider - Plugins "agent" part signature is updated: .... PluginState{myFile=C:\ProgramData\JetBrains\TeamCity\plugins\.unpacked\allure-teamcity-2.6\agent\agentPlugin.zip

The problem seems to be that the server can't unzip the agent plugin and sent it to the agent: Failed to unpack file: agent/agentPlugin.zip to C:\ProgramData\JetBrains\TeamCity\plugins\.unpacked\allure-teamcity-2.6\agent\agentPlugin.zip. invalid stored block lengths

dmarlow commented 7 years ago

On the teamcity-agent.log I see this:

[2017-08-23 23:31:29,210]   INFO - ugins.files.NewPluginsUnpacker - Unpacking plugin "C:\TeamCity\buildAgent\plugins\agentPlugin.zip" (size: 711000) to "C:\TeamCity\buildAgent\plugins\agentPlugin", unpack prefix "" 
...
[2017-08-23 23:31:29,241]   INFO - ugins.files.NewPluginsUnpacker - Unpacking plugin "C:\TeamCity\buildAgent\plugins\allure-2.3.4.zip" (size: 8394734) to "C:\TeamCity\buildAgent\tools\allure-2.3.4", unpack prefix "" 

[2017-08-23 23:31:49,820]   INFO - rver.plugins.PluginManagerImpl - Found 60 plugins: [agentPlugin, ..., allure-2.3.4, ....] 
...
[2017-08-23 23:32:07,879]   WARN -    jetbrains.buildServer.AGENT - Could not run Allure report generation because the Allure tool is not installed. 

agentPlugin is the Allure agent plugin it was complaining about. It looks to be unpacked properly in this location: C:\TeamCity\buildAgent\plugins\agentPlugin

vidyavenkat commented 7 years ago

Hi eroshenkoam, Can you please let us know of a possible workaround this issue. We are currently blocked on it. Thanks

eroshenkoam commented 7 years ago

@dmarlow you need to rename allure-2.3.4.zip to allure-commandline.zip

[2017-08-23 22:18:24,530]   WARN - de.impl.AgentSharedToolWatcher - Can't register agent shared tool allure-2.3.4 from C:\ProgramData\JetBrains\TeamCity\plugins\.tools\allure-2.3.4.zip, tool is already registered from C:\ProgramData\JetBrains\TeamCity\plugins\.tools\allure-2.3.4.zip 
eroshenkoam commented 7 years ago

@vidyavenkat there is no workarounds, just do next steps:

dmarlow commented 7 years ago

Ah, perfect. That did the trick. You are amazing!