Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Artifacts download to workspace on Jenkins master rather than slave #112

Open
stewartn782 opened this issue Aug 11, 2021 · 0 comments
Open

Comments

@stewartn782
Copy link

When the plugin pulls artifacts from S3, I've noticed that it downloads them to the workspace on the Jenkins master rather than the slave which the job is running on. This then causes archiveArtifacts to fail because it can't find the artifact on the slave. Is there a parameter I can use to tell the plugin to download the artifacts to the slave rather than the master?

buildspec.yml:

version: 0.2

phases:
  install:
    runtime-versions:
      java: corretto8
    run-as: root
artifacts:
  files:
    - 'application.properties'

Jenkins pipeline:

	pipeline {
	  agent { label 'springboot-linux' }

	stages {
		stage('Execute CodeBuild') {
			steps {
				awsCodeBuild(
					projectName: 'Springboot',
					region: 'eu-west-1',
					credentialsId: 'aws-codebuild',
					credentialsType: 'jenkins',
					sourceControlType: 'project',
					sourceVersion: 'springboot_branch',
					downloadArtifacts: 'true',
					downloadArtifactsRelativePath: ''
				)
				archiveArtifacts artifacts: 'application.properties'
			}
		}
	  }
     }

Jenkins build log:

11:06:35  [AWS CodeBuild Plugin] Downloading artifact from location 'arn:aws:s3:::s3_bucket/codebuild/Springboot' to path:/opt/jenkins/workspace/SPRINGBOOT/CodeBuild_Test_Build
[Pipeline] archiveArtifacts
11:06:42  Archiving artifacts
11:06:43  ‘application.properties’ doesn’t match anything
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
hudson.AbortException: No artifacts found that match the file pattern "application.properties". Configuration error?
	at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:280)
Caused: java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor2170.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:92)
	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:70)
	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE

Location of artifact on Jenkins master:

root@0bbda5d3f825:~# ls -l /opt/jenkins/workspace/SPRINGBOOT/CodeBuild_Test_Build/codebuild/Springboot/application.properties
-rw-r--r-- 1 root root 167 Aug 11 11:06 /opt/jenkins/workspace/SPRINGBOOT/CodeBuild_Test_Build/codebuild/Springboot/application.properties
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant