Skip to content

Commit

Permalink
Adapt the release pipeline to Tekton v0.7.0+
Browse files Browse the repository at this point in the history
Change the release pipeline so that it runs on the latest version
of Tekton. We can now run manual releases from the `dogfooding`
cluster so there's no reason to keep compatibility to old version
of Tekton.
  • Loading branch information
afrittoli committed Oct 14, 2019
1 parent ce742d7 commit 100e414
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 33 deletions.
6 changes: 3 additions & 3 deletions tekton/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,9 @@ works [with v0.3.1](#install-tekton))

```bash
# Apply the Tasks we are using from the catalog
kubectl apply -f https://github.com/tektoncd/catalog/a844eaa0be8cba2c1fbe6c4c336a2333bdbcdf1c/golang/lint.yaml
kubectl apply -f https://github.com/tektoncd/catalog/a844eaa0be8cba2c1fbe6c4c336a2333bdbcdf1c/golang/build.yaml
kubectl apply -f https://github.com/tektoncd/catalog/a844eaa0be8cba2c1fbe6c4c336a2333bdbcdf1c/golang/tests.yaml
kubectl apply -f https://github.com/tektoncd/catalog/14d38f2041312b0ad17bc079cfa9c0d66895cc7a/golang/lint.yaml
kubectl apply -f https://github.com/tektoncd/catalog/14d38f2041312b0ad17bc079cfa9c0d66895cc7a/golang/build.yaml
kubectl apply -f https://github.com/tektoncd/catalog/14d38f2041312b0ad17bc079cfa9c0d66895cc7a/golang/tests.yaml
# Apply the Tasks and Pipelines we use from this repo
kubectl apply -f tekton/ci-images.yaml
Expand Down
48 changes: 24 additions & 24 deletions tekton/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ spec:
- /kaniko/executor
args:
- --dockerfile=/workspace/go/src/github.com/tektoncd/pipeline/images/Dockerfile
- --destination=${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtBaseImage.url}
- --destination=$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtBaseImage.url)
- --context=/workspace/go/src/github.com/tektoncd/pipeline

volumeMounts:
Expand All @@ -78,11 +78,11 @@ spec:
cat <<EOF > /workspace/go/src/github.com/tektoncd/pipeline/.ko.yaml
# By default ko will build images on top of distroless
baseImageOverrides:
${inputs.params.pathToProject}/${outputs.resources.builtCredsInitImage.url}: ${inputs.params.imageRegistry}/${inputs.params.pathToProject}/build-base:latest
${inputs.params.pathToProject}/${outputs.resources.builtGitInitImage.url}: ${inputs.params.imageRegistry}/${inputs.params.pathToProject}/build-base:latest
${inputs.params.pathToProject}/${outputs.resources.builtBashImage.url}: busybox # image should have shell in $PATH
${inputs.params.pathToProject}/${outputs.resources.builtEntrypointImage.url}: busybox # image should have shell in $PATH
${inputs.params.pathToProject}/${outputs.resources.builtGsutilImage.url}: google/cloud-sdk:alpine # image should have gsutil in $PATH
$(inputs.params.pathToProject)/$(outputs.resources.builtCredsInitImage.url): $(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/build-base:latest
$(inputs.params.pathToProject)/$(outputs.resources.builtGitInitImage.url): $(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/build-base:latest
$(inputs.params.pathToProject)/$(outputs.resources.builtBashImage.url): busybox # image should have shell in $PATH
$(inputs.params.pathToProject)/$(outputs.resources.builtEntrypointImage.url): busybox # image should have shell in $PATH
$(inputs.params.pathToProject)/$(outputs.resources.builtGsutilImage.url): google/cloud-sdk:alpine # image should have gsutil in $PATH
EOF
cat /workspace/go/src/github.com/tektoncd/pipeline/.ko.yaml
Expand All @@ -108,7 +108,7 @@ spec:
image: gcr.io/tekton-releases/ko-ci
env:
- name: KO_DOCKER_REPO
value: ${inputs.params.imageRegistry}
value: $(inputs.params.imageRegistry)
- name: GOPATH
value: /workspace/go
- name: CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE
Expand Down Expand Up @@ -160,8 +160,8 @@ spec:
set -e
set -x
mkdir -p /workspace/output/bucket/previous/${inputs.params.versionTag}/
cp /workspace/output/bucket/latest/release.yaml /workspace/output/bucket/previous/${inputs.params.versionTag}/release.yaml
mkdir -p /workspace/output/bucket/previous/$(inputs.params.versionTag)/
cp /workspace/output/bucket/latest/release.yaml /workspace/output/bucket/previous/$(inputs.params.versionTag)/release.yaml
- name: tag-images
image: google/cloud-sdk
Expand All @@ -175,21 +175,21 @@ spec:
REGIONS=(us eu asia)
IMAGES=(
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtEntrypointImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtKubeconfigWriterImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtCredsInitImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtGitInitImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtNopImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtBashImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtGsutilImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtControllerImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtWebhookImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtDigestExporterImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtPullRequestInitImage.url}
${inputs.params.imageRegistry}/${inputs.params.pathToProject}/${outputs.resources.builtGcsFetcherImage.url}
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtEntrypointImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtKubeconfigWriterImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtCredsInitImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtGitInitImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtNopImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtBashImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtGsutilImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtControllerImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtWebhookImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtDigestExporterImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtPullRequestInitImage.url)
$(inputs.params.imageRegistry)/$(inputs.params.pathToProject)/$(outputs.resources.builtGcsFetcherImage.url)
)
# Parse the built images from the release.yaml generated by ko
BUILT_IMAGES=( $(/workspace/go/src/github.com/tektoncd/pipeline/tekton/koparse/koparse.py --path /workspace/output/bucket/latest/release.yaml --base ${inputs.params.imageRegistry}/${inputs.params.pathToProject} --images ${IMAGES[@]}) )
BUILT_IMAGES=( $(/workspace/go/src/github.com/tektoncd/pipeline/tekton/koparse/koparse.py --path /workspace/output/bucket/latest/release.yaml --base $(inputs.params.imageRegistry)/$(inputs.params.pathToProject) --images ${IMAGES[@]}) )
# Auth with account credentials
gcloud auth activate-service-account --key-file=/secret/release.json
Expand All @@ -199,10 +199,10 @@ spec:
do
IMAGE_WITHOUT_SHA=${IMAGE%%@*}
gcloud -q container images add-tag ${IMAGE} ${IMAGE_WITHOUT_SHA}:latest
gcloud -q container images add-tag ${IMAGE} ${IMAGE_WITHOUT_SHA}:${inputs.params.versionTag}
gcloud -q container images add-tag ${IMAGE} ${IMAGE_WITHOUT_SHA}:$(inputs.params.versionTag)
for REGION in "${REGIONS[@]}"
do
for TAG in "latest" ${inputs.params.versionTag}
for TAG in "latest" $(inputs.params.versionTag)
do
gcloud -q container images add-tag ${IMAGE} ${REGION}.${IMAGE_WITHOUT_SHA}:$TAG
done
Expand Down
12 changes: 6 additions & 6 deletions tekton/release-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ spec:
name: golangci-lint
params:
- name: package
value: ${params.package}
value: $(params.package)
- name: flags
value: -v
resources:
Expand All @@ -62,7 +62,7 @@ spec:
name: golang-test
params:
- name: package
value: ${params.package}
value: $(params.package)
resources:
inputs:
- name: source
Expand All @@ -73,7 +73,7 @@ spec:
name: golang-build
params:
- name: package
value: ${params.package}
value: $(params.package)
resources:
inputs:
- name: source
Expand All @@ -84,11 +84,11 @@ spec:
name: publish-tekton-pipelines
params:
- name: pathToProject
value: ${params.package}
value: $(params.package)
- name: versionTag
value: ${params.versionTag}
value: $(params.versionTag)
- name: imageRegistry
value: ${params.imageRegistry}
value: $(params.imageRegistry)
resources:
inputs:
- name: source
Expand Down

0 comments on commit 100e414

Please sign in to comment.