From 500fd1f0c93b8b449d50962ad79ae5358b18e18b Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 20 Oct 2024 17:33:59 -0400 Subject: [PATCH] Update workflow. --- .../pipeline-build-homepage-staging.yaml | 193 +----------------- docker/server/Dockerfile | 6 +- 2 files changed, 11 insertions(+), 188 deletions(-) diff --git a/.webhook_bridge/pipeline-build-homepage-staging.yaml b/.webhook_bridge/pipeline-build-homepage-staging.yaml index c08dd8b..24f2ba1 100644 --- a/.webhook_bridge/pipeline-build-homepage-staging.yaml +++ b/.webhook_bridge/pipeline-build-homepage-staging.yaml @@ -81,9 +81,6 @@ spec: value: task/gitea-set-status/0.1/gitea-set-status.yaml runAfter: - fetch-repository - - fetch-repository-private - - fetch-repository-explorer - - fetch-repository-organic params: - name: CONTEXT value: "$(params.JOB_NAME)" @@ -119,115 +116,30 @@ spec: value: $(params.PULL_BASE_SHA) - name: deleteExisting value: "true" - - name: fetch-repository-private - taskRef: - resolver: git - params: - - name: url - value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git - - name: revision - value: df36b3853a5657fd883015cdbf07ad6466918acf - - name: pathInRepo - value: task/git-clone/0.9/git-clone.yaml - workspaces: - - name: output - workspace: git-source-private - params: - - name: url - value: git@code.fizz.buzz:talexander/homepage_private.git - - name: revision - value: main - - name: deleteExisting - value: "true" - - name: fetch-repository-explorer - taskRef: - resolver: git - params: - - name: url - value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git - - name: revision - value: df36b3853a5657fd883015cdbf07ad6466918acf - - name: pathInRepo - value: task/git-clone/0.9/git-clone.yaml - workspaces: - - name: output - workspace: git-source-explorer - params: - - name: url - value: git@code.fizz.buzz:talexander/organic_ast_explorer.git - - name: revision - value: main - - name: deleteExisting - value: "true" - - name: fetch-repository-organic - taskRef: - resolver: git - params: - - name: url - value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git - - name: revision - value: df36b3853a5657fd883015cdbf07ad6466918acf - - name: pathInRepo - value: task/git-clone/0.9/git-clone.yaml - workspaces: - - name: output - workspace: git-source-organic - params: - - name: url - value: git@code.fizz.buzz:talexander/organic.git - - name: revision - value: main - - name: deleteExisting - value: "true" - - name: copy-private-files - taskSpec: - metadata: {} - stepTemplate: - image: alpine:3.20 - computeResources: - requests: - cpu: 10m - memory: 600Mi - workingDir: "$(workspaces.source.path)" - steps: - - image: alpine:3.20 - name: copy-private-files - script: | - #!/usr/bin/env sh - set -euo pipefail - cp -r "$(workspaces.source-private.path)/static/"* "$(workspaces.source.path)/static/" - workspaces: - - name: source - workspace: git-source - - name: source-private - workspace: git-source-private - runAfter: - - fetch-repository - - fetch-repository-private - - name: build-explorer-image + - name: build-image taskRef: resolver: git params: - name: url value: https://code.fizz.buzz/talexander/personal_tekton_catalog.git - name: revision - value: 8e4e323389e66d8365a3243f8e956136e916132e + value: 3411d0cd39a749464bbf70ba40e2ca83ee9e2d02 - name: pathInRepo value: task/buildkit-rootless-daemonless/0.1/buildkit-rootless-daemonless.yaml params: - name: OUTPUT value: >- - type=image,"name=harbor.fizz.buzz/private/homepage-build-organic:latest,harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)",push=true,compression=zstd,compression-level=22,oci-mediatypes=true + type=image,"name=$(params.image-name):latest,$(params.image-name):$(tasks.get-time.results.unix-time)",push=true,compression=zstd,compression-level=22,oci-mediatypes=true - name: CONTEXT - value: . + value: $(params.path-to-image-context) - name: DOCKERFILE - value: docker/organic/ + value: $(params.path-to-dockerfile) - name: EXTRA_ARGS value: - --import-cache - - "type=registry,ref=harbor.fizz.buzz/private/homepage-build-organic:buildcache" + - "type=registry,ref=$(params.image-name):buildcache" - --export-cache - - "type=registry,ref=harbor.fizz.buzz/private/homepage-build-organic:buildcache,mode=max,compression=zstd,compression-level=3,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true" + - "type=registry,ref=$(params.image-name):buildcache,mode=max,compression=zstd,compression-level=22,rewrite-timestamp=true,image-manifest=true,oci-mediatypes=true" - --opt - build-arg:SOURCE_DATE_EPOCH=$(tasks.get-git-commit-time.results.unix-time) - name: BUILDKITD_TOML @@ -245,95 +157,6 @@ spec: workspace: docker-credentials runAfter: - fetch-repository - - name: build-explorer-wasm - taskSpec: - metadata: {} - stepTemplate: - image: alpine:3.20 - computeResources: - requests: - cpu: 10m - memory: 600Mi - workingDir: "$(workspaces.organic.path)" - steps: - - image: "$(params.IMAGE)" - name: build-explorer-wasm - params: - - name: IMAGE - value: "$(tasks.build-explorer-image.results.IMAGE_URL[1])" - workspaces: - - name: organic - workspace: git-source-organic - runAfter: - - build-explorer-image - - name: copy-explorer-files - taskSpec: - metadata: {} - stepTemplate: - image: alpine:3.20 - computeResources: - requests: - cpu: 10m - memory: 600Mi - workingDir: "$(workspaces.source-explorer.path)" - steps: - - image: node:lts-alpine3.20 - name: copy-explorer-files - script: | - #!/usr/bin/env sh - set -euo pipefail - npm install - npm run release - mkdir -p "$(workspaces.source.path)/static/organic/ast_explorer/" - cp -r "$(workspaces.source-explorer.path)/dist/"* "$(workspaces.source.path)/static/organic/ast_explorer/" - workspaces: - - name: source - workspace: git-source - - name: source-explorer - workspace: git-source-explorer - - name: organic - workspace: git-source-organic - runAfter: - - build-explorer-wasm - - name: build-image - taskRef: - resolver: git - params: - - name: url - value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git - - name: revision - value: df36b3853a5657fd883015cdbf07ad6466918acf - - name: pathInRepo - value: task/kaniko/0.6/kaniko.yaml - params: - - name: IMAGE - value: "$(params.image-name):$(tasks.get-time.results.unix-time)" - - name: CONTEXT - value: $(params.path-to-image-context) - - name: DOCKERFILE - value: $(params.path-to-dockerfile) - - name: BUILDER_IMAGE - value: "gcr.io/kaniko-project/executor:v1.23.2" - - name: EXTRA_ARGS - value: - - "--destination=$(params.image-name)" # Also write the :latest image - - "--target=$(params.target-name)" - - --cache=true - - --cache-copy-layers - - --cache-repo=harbor.fizz.buzz/kanikocache/cache - - --use-new-run # Should result in a speed-up - - --reproducible # To remove timestamps so layer caching works. - - --snapshot-mode=redo - - --skip-unused-stages=true - - --registry-mirror=dockerhub.dockerhub.svc.cluster.local - workspaces: - - name: source - workspace: git-source - - name: dockerconfig - workspace: docker-credentials - runAfter: - - copy-private-files - - copy-explorer-files finally: - name: report-success when: @@ -448,4 +271,4 @@ spec: - name: path-to-image-context value: . - name: path-to-dockerfile - value: docker/server/Dockerfile + value: docker/server diff --git a/docker/server/Dockerfile b/docker/server/Dockerfile index 3f888ce..dfa06ca 100644 --- a/docker/server/Dockerfile +++ b/docker/server/Dockerfile @@ -62,8 +62,8 @@ RUN apk add --no-cache bash nginx RUN addgroup web && adduser -D -G web web && install -d -D -o web -g web -m 700 /srv/http/public RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log -COPY --link --chown=web:web docker/server/nginx.conf /srv/http -COPY --link --chown=web:web docker/server/headers.include /srv/http -COPY --link --from=natter --chown=web:web /source/output/ /srv/http/public/ +COPY --chown=web:web docker/server/nginx.conf /srv/http +COPY --chown=web:web docker/server/headers.include /srv/http +COPY --from=natter --chown=web:web /source/output/ /srv/http/public/ ENTRYPOINT ["/usr/sbin/nginx", "-c", "/srv/http/nginx.conf", "-e", "stderr", "-g", "daemon off;"]