42 lines
1.4 KiB
YAML
42 lines
1.4 KiB
YAML
apiVersion: tekton.dev/v1beta1
|
|
kind: Task
|
|
metadata:
|
|
name: generate-build-id
|
|
labels:
|
|
app.kubernetes.io/version: "0.1"
|
|
annotations:
|
|
tekton.dev/pipelines.minVersion: "0.12.1"
|
|
tekton.dev/categories: Build Tools
|
|
tekton.dev/tags: build-tool
|
|
tekton.dev/displayName: "buildid"
|
|
tekton.dev/platforms: "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64"
|
|
spec:
|
|
description: >-
|
|
Given a base version, this task generates a unique build id by appending
|
|
the base-version to the current timestamp.
|
|
|
|
params:
|
|
- name: base-version
|
|
description: Base product version
|
|
type: string
|
|
default: "1.0"
|
|
results:
|
|
- name: timestamp
|
|
description: Current timestamp
|
|
- name: build-id
|
|
description: ID of the current build
|
|
steps:
|
|
- name: get-timestamp
|
|
image: docker.io/library/bash:5.0.18@sha256:879f94a9da53dc064779e7a68339aecd60a9028ff884cacaa47ae752ca690404 #tag: 5.0.18
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
ts=`date "+%Y%m%d-%H%M%S"`
|
|
echo "Current Timestamp: ${ts}"
|
|
echo ${ts} | tr -d "\n" | tee $(results.timestamp.path)
|
|
- name: get-buildid
|
|
image: docker.io/library/bash:5.0.18@sha256:879f94a9da53dc064779e7a68339aecd60a9028ff884cacaa47ae752ca690404 #tag: 5.0.18
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
ts=`cat $(results.timestamp.path)`
|
|
buildId=$(inputs.params.base-version)-${ts}
|
|
echo ${buildId} | tr -d "\n" | tee $(results.build-id.path) |