jfrog / teamcity-artifactory-plugin

TeamCity plugin that enables traceable build artifacts with Artifactory
https://www.jfrog.com/confluence/display/JFROG/TeamCity+Artifactory+Plug-in
Apache License 2.0
42 stars 47 forks source link

Allow TeamCity Artifactory Plugin to upload folders as zip files #144

Open ram-devsecops opened 1 year ago

ram-devsecops commented 1 year ago

Hi,

We are currently using latest version of artifactory plugin but this doesn't seem to have many of the features from jfrog-cli. We are trying to upload artifacts using below format from teamcity plugin but it fails, when we use jfrog-cli it works. Could you please provide this support so we can artifactory plugin, right now we are trying to move artifacts from teamcity to artifactory and this issue is making artifactory plugin unusable. We tried creating a custom metarunner but then we wont be able to use any of the features of artifactory plugin, to publish build info, xray scan etc.

{
  "files": [
    {
      "pattern": "node_modules/*",
      "target": "teamcity-artifacts/%build.number%/node_modules.zip",
      "archive": "zip"
    },
    {
      "pattern": "build/*",
      "target": "teamcity-artifacts/%build.number%/build.zip",
      "archive": "zip"
    },
    {
      "pattern": "scripts/mongo/*",
      "target": "teamcity-artifacts/%build.number%/mongo_scripts.zip",
      "archive": "zip"
    },
    {
      "pattern": "server/*",
      "target": "teamcity-artifacts/%build.number%/server.zip",
      "archive": "zip"
    }
  ]
}

Error


15:59:58   java.lang.Exception: Could not collect artifacts details from the spec: Parsing of file spec failed:
{
"files": [
{
"pattern": "node_modules/",
"target": "teamcity-artifacts/%build.number%/node_modules.zip",
"archive": "zip"
},
{
"pattern": "build/",
"target": "teamcity-artifacts/%build.number%/build.zip",
"archive": "zip"
},
{
"pattern": "environments/",
"target": "teamcity-artifacts/%build.number%/environments.zip",
"archive": "zip"
},
{
"pattern": "scripts/mongo/",
"target": "teamcity-artifacts/%build.number%/mongo_scripts.zip",
"archive": "zip"
},
{
"pattern": "server/",
"target": "teamcity-artifacts/%build.number%/server.zip",
"archive": "zip"
},
]
}
at org.jfrog.teamcity.agent.GenericBuildInfoExtractor.appendRunnerSpecificDetails(GenericBuildInfoExtractor.java:69)
at org.jfrog.teamcity.agent.BaseBuildInfoExtractor.extract(BaseBuildInfoExtractor.java:86)
at org.jfrog.teamcity.agent.listener.AgentListenerBuildInfoHelper.extractBuildInfo(AgentListenerBuildInfoHelper.java:203)
at org.jfrog.teamcity.agent.listener.AgentListenerBuildInfoHelper.runnerFinished(AgentListenerBuildInfoHelper.java:145)
at org.jfrog.teamcity.agent.ArtifactoryAgentListener.runnerFinished(ArtifactoryAgentListener.java:133)
at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at jetbrains.buildServer.util.EventDispatcher.invokeListeners(EventDispatcher.java:157)
at jetbrains.buildServer.util.EventDispatcher.lambda$dispatch$0(EventDispatcher.java:134)
at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:76)
at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:134)
at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:82)
at com.sun.proxy.$Proxy21.runnerFinished(Unknown Source)
at jetbrains.buildServer.agent.impl.buildStages.runnerStages.finish.FireRunnerFinishedFStage.doFinishStage(FireRunnerFinishedFStage.java:31)
at jetbrains.buildServer.agent.impl.buildStages.RunnerFinishStagesExecutor.runFinishStage(RunnerFinishStagesExecutor.java:32)
at jetbrains.buildServer.agent.impl.buildStages.RunnerFinishStagesExecutor.doBuildFinishStages(RunnerFinishStagesExecutor.java:23)
at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunnerContextExecutor.safeCallFinishStages(RunnerContextExecutor.java:65)
at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunnerContextExecutor.callRunnerStages(RunnerContextExecutor.java:56)
at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.StepExecutor.processNextStep(StepExecutor.java:25)
at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeRunnerStep(ForEachBuildRunnerStage.java:139)
at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.runStep(ForEachBuildRunnerStage.java:124)
at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeBuildRunners(ForEachBuildRunnerStage.java:84)
at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.doBuildStage(ForEachBuildRunnerStage.java:45)
at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:33)
at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:24)
at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:76)
at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:35)
at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor.doStages(BuildStagesExecutor.java:24)
at jetbrains.buildServer.agent.impl.BuildRunActionImpl.doStages(BuildRunActionImpl.java:81)
at jetbrains.buildServer.agent.impl.BuildRunActionImpl.runBuild(BuildRunActionImpl.java:57)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.doActualBuild(BuildAgentImpl.java:332)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.access$200(BuildAgentImpl.java:58)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:287)
at java.lang.Thread.run(Unknown Source)
Caused by: org.jfrog.filespecs.entities.InvalidFileSpecException: Parsing of file spec failed:
{
gszakonyGW commented 1 year ago

+1