0

There is a job controlled by Development team which built in a different node. I am on Testing team who want to take the artifacts and deploy on test device.

I can see those Artifacts from dev are stored in some path in dev's node. Does it means it must first archived in Jenkins master before I can copy it to my job? I am using Copy Artifact plugin and constantly getting the error

Failed to copy artifacts from <dev-job> with filter: <path-in-dev-node>

*Some newbie question since i just moved from TeamCity

hellojoshhhy
  • 855
  • 2
  • 15
  • 32

1 Answers1

2

You probably want to use: Copy Artifact plugin.

Adds a build step to copy artifacts from another project.

Consider also, the Jenkins post-buid step "Archive the artifacts".

If you copy from the other job's workspace, what happens if another job is in progress or the workspace is wiped? That step copies them from the node to the master and stores a copy along with the build logs, etc. That makes them available via the UI as long as the build logs remain. It can take up space tho.

If you do use archive artifacts, consider using the system property jenkins.model.Jenkins.buildsDir to store all the build logs (and artifacts) outside of the jobs config directory. Some downtime and work required to separate the two (config / logs) .

You may also want to consider using a proper repository manager (Nexus / artifactory)

Finally, you may want to learn about using a Jenkins pipeline rather the relying on chained jobs, triggers or users and so forth. Why? 'cos it's much more controlled and easier to maintain.

ps: I'm not a huge fan of artifactDeployer, but it may work for you.

pps: you may want to review this in depth answer: Jenkis downstream job fails to find upstream artifacts

Ian W
  • 4,559
  • 2
  • 18
  • 37