139 lines
4.3 KiB
YAML
139 lines
4.3 KiB
YAML
---
|
|
apiVersion: tekton.dev/v1beta1
|
|
kind: Pipeline
|
|
metadata:
|
|
name: buildpacks
|
|
labels:
|
|
app.kubernetes.io/version: "0.2"
|
|
annotations:
|
|
tekton.dev/pipelines.minVersion: "0.17.0"
|
|
tekton.dev/tags: image-build
|
|
tekton.dev/displayName: "Buildpacks"
|
|
tekton.dev/platforms: "linux/amd64"
|
|
spec:
|
|
description: >-
|
|
The Buildpacks pipeline builds source from a Git repository into a container image and pushes it to a registry, using Cloud Native Buildpacks.
|
|
|
|
workspaces:
|
|
- name: source-ws
|
|
description: Location where source is stored.
|
|
- name: cache-ws
|
|
description: Location where cache is stored if CACHE_IMAGE is not provided.
|
|
optional: true
|
|
|
|
params:
|
|
- name: BUILDER_IMAGE
|
|
description: The image on which builds will run (must include lifecycle and compatible buildpacks).
|
|
- name: TRUST_BUILDER
|
|
description: >-
|
|
Whether the builder image is trusted.
|
|
When false, each build phase is executed in isolation and credentials are only shared with trusted images.
|
|
default: "false"
|
|
- name: APP_IMAGE
|
|
description: The name of where to store the app image.
|
|
- name: SOURCE_URL
|
|
description: A git repo url where the source code resides.
|
|
- name: SOURCE_REFERENCE
|
|
description: The branch, tag or SHA to checkout.
|
|
default: ""
|
|
- name: SOURCE_SUBPATH
|
|
description: A subpath within checked out source where the source to build is located.
|
|
default: ""
|
|
- name: ENV_VARS
|
|
type: array
|
|
description: Environment variables to set during _build-time_.
|
|
default: [""]
|
|
- name: PROCESS_TYPE
|
|
description: The default process type to set on the image.
|
|
default: "web"
|
|
- name: RUN_IMAGE
|
|
description: The name of the run image to use (defaults to image specified in builder).
|
|
default: ""
|
|
- name: CACHE_IMAGE
|
|
description: The name of the persistent cache image.
|
|
default: ""
|
|
- name: USER_ID
|
|
description: The user ID of the builder image user.
|
|
default: "1000"
|
|
- name: GROUP_ID
|
|
description: The group ID of the builder image user.
|
|
default: "1000"
|
|
|
|
tasks:
|
|
- name: fetch-from-git
|
|
taskRef:
|
|
name: git-clone
|
|
params:
|
|
- name: url
|
|
value: $(params.SOURCE_URL)
|
|
- name: revision
|
|
value: $(params.SOURCE_REFERENCE)
|
|
workspaces:
|
|
- name: output
|
|
workspace: source-ws
|
|
- name: build-trusted
|
|
runAfter:
|
|
- fetch-from-git
|
|
taskRef:
|
|
name: buildpacks
|
|
when:
|
|
- input: "$(params.TRUST_BUILDER)"
|
|
operator: in
|
|
values: ["true", "yes", "TRUE", "True"]
|
|
workspaces:
|
|
- name: source
|
|
workspace: source-ws
|
|
- name: cache
|
|
workspace: cache-ws
|
|
params:
|
|
- name: BUILDER_IMAGE
|
|
value: "$(params.BUILDER_IMAGE)"
|
|
- name: APP_IMAGE
|
|
value: "$(params.APP_IMAGE)"
|
|
- name: SOURCE_SUBPATH
|
|
value: "$(params.SOURCE_SUBPATH)"
|
|
- name: PROCESS_TYPE
|
|
value: "$(params.PROCESS_TYPE)"
|
|
- name: ENV_VARS
|
|
value: ["$(params.ENV_VARS)"]
|
|
- name: RUN_IMAGE
|
|
value: "$(params.RUN_IMAGE)"
|
|
- name: CACHE_IMAGE
|
|
value: "$(params.CACHE_IMAGE)"
|
|
- name: USER_ID
|
|
value: "$(params.USER_ID)"
|
|
- name: GROUP_ID
|
|
value: "$(params.GROUP_ID)"
|
|
- name: build-untrusted
|
|
runAfter:
|
|
- fetch-from-git
|
|
taskRef:
|
|
name: buildpacks-phases
|
|
when:
|
|
- input: "$(params.TRUST_BUILDER)"
|
|
operator: notin
|
|
values: ["true", "yes", "TRUE", "True"]
|
|
workspaces:
|
|
- name: source
|
|
workspace: source-ws
|
|
- name: cache
|
|
workspace: cache-ws
|
|
params:
|
|
- name: BUILDER_IMAGE
|
|
value: "$(params.BUILDER_IMAGE)"
|
|
- name: APP_IMAGE
|
|
value: "$(params.APP_IMAGE)"
|
|
- name: SOURCE_SUBPATH
|
|
value: "$(params.SOURCE_SUBPATH)"
|
|
- name: ENV_VARS
|
|
value: ["$(params.ENV_VARS)"]
|
|
- name: PROCESS_TYPE
|
|
value: "$(params.PROCESS_TYPE)"
|
|
- name: RUN_IMAGE
|
|
value: "$(params.RUN_IMAGE)"
|
|
- name: CACHE_IMAGE
|
|
value: "$(params.CACHE_IMAGE)"
|
|
- name: USER_ID
|
|
value: "$(params.USER_ID)"
|
|
- name: GROUP_ID
|
|
value: "$(params.GROUP_ID)" |