Git Repo
The Git Repo artifact is available in version 1.17 or later.
They are consumed by stages that need multiple files to produce an output, such as the Bake (Manifest) stage when using the Kustomize template renderer. Unlike other artifact implementations, the Git Repo artifact works with any Git hosting service as long as the repository can be cloned using the Git CLI.
Git Repo artifact in the UI
The pipeline UI exposes the following fields for the Git Repo artifact:
Field | Explanation |
---|---|
Account | A Git Repo artifact account. |
URL | HTTP or SSH URL of your Git repository. Use HTTP for artifact accounts configured to use a username and password, and use the SSH URL format for accounts configured to use the SSH private key. |
Branch | Name of the branch to check out. Default is master . |
Sub Path (Optional) | Relative path of files within the repository to fetch. If set, only files this path will be available to stages consuming this artifact. |
In a trigger
Work to support Git Repo artifacts in triggers is currently underway.
In a pipeline stage
When configuring the “Bake (Manifest)” stage, you can use a Git Repo artifact as an expected artifact.
Git Repo artifact in a pipeline definition
Field | Explanation |
---|---|
type | Always git/repo . |
reference | HTTPS or SSH URL of your Git repository. Use HTTPS for artifact accounts configured to use a username and password, and use the SSH URL format for accounts configured to use an SSH private key. |
version | Name of the branch to check out. Default is master . |
metadata.subPath | Relative path of files within the repository to fetch. If set, only files in this path are available to stages consuming this artifact. |
Artifact accounts using an SSH private key for authentication.
{
"type": "git/repo",
"reference": "git@github.com:spinnaker/spinnaker.github.io",
"version": "feat-123"
}
Artifact accounts using a username and password or token for authentication.
{
"type": "git/repo",
"reference": "https://github.com/spinnaker/spinnaker.github.io",
"version": "feat-123"
}
When checking out an explicit sub path within repository.
{
"type": "git/repo",
"reference": "https://github.com/spinnaker/spinnaker.github.io",
"version": "feat-123",
"metadata" : {
"subPath": "reference/artifacts/types"
}
}