Bird
Raised Fist0
Jenkinsdevops~5 mins

Copying artifacts between jobs in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an artifact in Jenkins?
An artifact is a file or set of files produced by a Jenkins job that can be saved and used later, such as build outputs or reports.
Click to reveal answer
beginner
How can you share artifacts between two Jenkins jobs?
You can share artifacts by archiving them in the first job and then using the 'Copy Artifact' plugin in the second job to retrieve those files.
Click to reveal answer
beginner
Which Jenkins plugin is commonly used to copy artifacts from one job to another?
The 'Copy Artifact' plugin is used to copy artifacts between Jenkins jobs.
Click to reveal answer
beginner
What is the purpose of the 'Archive the artifacts' post-build action in Jenkins?
It saves the specified files from a job so they can be accessed later or copied to other jobs.
Click to reveal answer
intermediate
What information do you need to specify when configuring the 'Copy Artifact' step?
You need to specify the source project name and the criteria to select the build (like latest successful build) to copy artifacts from.
Click to reveal answer
Which Jenkins plugin allows copying artifacts between jobs?
ACopy Artifact
BGit Plugin
CPipeline
DDocker Plugin
What must a job do to make its artifacts available for copying?
AInstall a plugin
BArchive the artifacts
CTrigger another job
DRun a shell script
When configuring 'Copy Artifact', which build selection method is commonly used?
ALatest successful build
BOldest build
CRandom build
DBuild with errors
If you want to copy artifacts from a job named 'BuildApp', what do you specify in the 'Copy Artifact' step?
APlugin name: BuildApp
BDestination project: BuildApp
CBuild trigger: BuildApp
DSource project: BuildApp
What happens if the source job has no archived artifacts when 'Copy Artifact' runs?
AIt copies empty files
BIt skips copying silently
CThe copy step fails with an error
DIt archives artifacts automatically
Explain the steps to copy artifacts from one Jenkins job to another.
Think about saving files first, then retrieving them.
You got /4 concepts.
    Why is archiving artifacts important before copying them between jobs?
    Consider what happens if files are not saved.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using the copyArtifacts step in Jenkins?
      easy
      A. To compile source code in a Jenkins job
      B. To delete artifacts after a build completes
      C. To trigger a new Jenkins job automatically
      D. To copy files from one Jenkins job to another

      Solution

      1. Step 1: Understand the copyArtifacts step

        The copyArtifacts step is designed to transfer files (artifacts) from one Jenkins job to another.
      2. Step 2: Identify the main use case

        This step helps share build outputs between jobs without rebuilding, enabling reuse of files.
      3. Final Answer:

        To copy files from one Jenkins job to another -> Option D
      4. Quick Check:

        copyArtifacts = copy files between jobs [OK]
      Hint: copyArtifacts copies files between jobs, not triggers or deletes [OK]
      Common Mistakes:
      • Confusing copyArtifacts with job triggers
      • Thinking it deletes files instead of copying
      • Assuming it compiles code
      2. Which of the following is the correct syntax to copy artifacts from a job named BuildJob in a Jenkins pipeline script?
      easy
      A. copyArtifacts(projectName: 'BuildJob')
      B. copyArtifacts('BuildJob')
      C. copyArtifacts job: 'BuildJob'
      D. copyArtifacts from: 'BuildJob'

      Solution

      1. Step 1: Recall the correct syntax for copyArtifacts

        The correct syntax uses named parameters, with projectName specifying the source job.
      2. Step 2: Match the syntax to the options

        copyArtifacts(projectName: 'BuildJob') uses copyArtifacts(projectName: 'BuildJob'), which is the correct form in pipeline scripts.
      3. Final Answer:

        copyArtifacts(projectName: 'BuildJob') -> Option A
      4. Quick Check:

        Use named parameter projectName in copyArtifacts [OK]
      Hint: Use named parameter projectName: 'JobName' in copyArtifacts [OK]
      Common Mistakes:
      • Using positional arguments instead of named parameters
      • Using incorrect keywords like job or from
      • Missing parentheses or quotes
      3. Given the following Jenkins pipeline snippet, what files will be copied?
      copyArtifacts(projectName: 'BuildJob', filter: '**/*.jar')
      medium
      A. Only files with .jar extension from BuildJob artifacts
      B. All files from BuildJob workspace
      C. Only files named exactly 'filter' from BuildJob
      D. No files will be copied due to syntax error

      Solution

      1. Step 1: Understand the filter parameter

        The filter parameter uses Ant-style patterns to select files. '**/*.jar' means all .jar files in any folder.
      2. Step 2: Determine which files are copied

        Only artifact files matching the pattern '*.jar' from the 'BuildJob' are copied, not all files.
      3. Final Answer:

        Only files with .jar extension from BuildJob artifacts -> Option A
      4. Quick Check:

        filter '**/*.jar' copies only .jar files [OK]
      Hint: filter '**/*.ext' copies only files with that extension [OK]
      Common Mistakes:
      • Assuming all files copy without filter
      • Thinking filter is a filename, not a pattern
      • Believing syntax causes error here
      4. You wrote this snippet to copy artifacts but it fails:
      copyArtifacts(projectName: BuildJob)
      What is the likely cause of the failure?
      medium
      A. copyArtifacts does not accept projectName parameter
      B. Missing quotes around the job name 'BuildJob'
      C. The job BuildJob does not exist
      D. copyArtifacts requires a filter parameter

      Solution

      1. Step 1: Check syntax for projectName parameter

        In pipeline scripts, string values must be quoted. Missing quotes cause syntax errors.
      2. Step 2: Identify the error cause

        Since BuildJob is unquoted, Jenkins treats it as a variable, causing failure if undefined.
      3. Final Answer:

        Missing quotes around the job name 'BuildJob' -> Option B
      4. Quick Check:

        Job names must be quoted strings [OK]
      Hint: Always quote job names in copyArtifacts [OK]
      Common Mistakes:
      • Forgetting quotes around job names
      • Assuming filter is mandatory
      • Ignoring existence of source job
      5. You want to copy only the latest successful build's output.zip artifact from job PackageJob to your current job. Which snippet correctly does this?
      hard
      A. copyArtifacts(projectName: 'PackageJob', selector: latest(), filter: 'output.zip')
      B. copyArtifacts(projectName: 'PackageJob', filter: 'output.zip')
      C. copyArtifacts(projectName: 'PackageJob', selector: lastSuccessful(), filter: 'output.zip')
      D. copyArtifacts(projectName: 'PackageJob', selector: lastCompleted(), filter: 'output.zip')

      Solution

      1. Step 1: Understand selecting the build to copy from

        The selector parameter chooses which build's artifacts to copy. lastSuccessful() picks the latest successful build.
      2. Step 2: Verify filter and selector usage

        copyArtifacts(projectName: 'PackageJob', selector: lastSuccessful(), filter: 'output.zip') uses selector: lastSuccessful() and filters for 'output.zip', matching the requirement exactly.
      3. Final Answer:

        copyArtifacts(projectName: 'PackageJob', selector: lastSuccessful(), filter: 'output.zip') -> Option C
      4. Quick Check:

        Use selector lastSuccessful() to copy latest successful build [OK]
      Hint: Use selector lastSuccessful() to get latest successful build artifacts [OK]
      Common Mistakes:
      • Using selector latest() which is invalid
      • Omitting selector and copying from last build regardless of status
      • Using lastCompleted() which may include failed builds
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard