Tekton PipelineRun artifact not found

An artifact in the PipelineRun does not exist.

Understanding Tekton and Its Purpose

Tekton is an open-source framework for creating CI/CD systems. It allows developers to build, test, and deploy across cloud providers and on-premise systems. Tekton provides a set of Kubernetes CRDs (Custom Resource Definitions) for defining and running continuous integration and delivery pipelines.

Identifying the Symptom: PipelineRun Artifact Not Found

When working with Tekton, you might encounter an error stating that a PipelineRun artifact not found. This symptom indicates that a specific artifact expected during the execution of a PipelineRun is missing.

Common Observations

  • Pipelines failing at a specific Task due to missing artifacts.
  • Error messages in the logs indicating missing files or outputs.

Exploring the Issue: Missing Artifacts in PipelineRun

The error occurs when a PipelineRun expects an artifact that has not been produced or is not accessible. This can happen due to misconfigured Tasks, incorrect paths, or failed previous steps that did not generate the required outputs.

Root Causes

  • Tasks not producing the expected output due to errors or misconfigurations.
  • Incorrect artifact paths specified in the Pipeline or Task definitions.
  • Permissions issues preventing access to the artifact storage.

Steps to Fix the PipelineRun Artifact Issue

To resolve the issue of missing artifacts in a PipelineRun, follow these steps:

Step 1: Verify Task Outputs

Ensure that each Task in your Pipeline is correctly configured to produce the expected outputs. Check the Task definitions for any errors or misconfigurations. You can use the kubectl get taskruns command to inspect the TaskRuns and their logs:

kubectl get taskruns -n <namespace>

Review the logs to identify any errors during Task execution.

Step 2: Check Artifact Paths

Ensure that the paths specified for artifacts in your Pipeline and Task definitions are correct. Double-check the PipelineResource or Workspace configurations to ensure they match the expected paths.

Step 3: Validate Permissions

Ensure that the service account used by Tekton has the necessary permissions to access the artifact storage. You can verify the permissions by checking the RoleBindings and ClusterRoleBindings:

kubectl get rolebindings -n <namespace>

Step 4: Re-run the Pipeline

After making the necessary corrections, re-run the Pipeline to verify that the issue is resolved. Use the tkn CLI to start the PipelineRun:

tkn pipeline start <pipeline-name> -n <namespace>

Additional Resources

For more information on Tekton and troubleshooting, consider visiting the following resources:

Never debug

Tekton

manually again

Let Dr. Droid create custom investigation plans for your infrastructure.

Book Demo
Automate Debugging for
Tekton
See how Dr. Droid creates investigation plans for your infrastructure.

MORE ISSUES

Made with ❤️ in Bangalore & San Francisco 🏢

Doctor Droid