feat: expand ci artifact catalog
This commit is contained in:
@@ -320,6 +320,10 @@ spec:
|
||||
type: string
|
||||
- name: revision
|
||||
type: string
|
||||
- name: dockerfile
|
||||
type: string
|
||||
- name: image-repository
|
||||
type: string
|
||||
- name: app-image
|
||||
type: string
|
||||
default: unidesk-code-queue:dev
|
||||
@@ -370,10 +374,14 @@ spec:
|
||||
script: |
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
dockerfile="$(params.dockerfile)"
|
||||
case "$(params.revision)" in
|
||||
[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]) ;;
|
||||
*) echo "backend_core_artifact_revision_must_be_full_sha=$(params.revision)" >&2; exit 2 ;;
|
||||
esac
|
||||
case "$dockerfile" in
|
||||
/*|*..*|""|*latest*) echo "backend_core_artifact_dockerfile_invalid=$dockerfile" >&2; exit 2 ;;
|
||||
esac
|
||||
mkdir -p "$(workspaces.source.path)/backend-core-artifact-repo"
|
||||
find "$(workspaces.source.path)/backend-core-artifact-repo" -mindepth 1 -maxdepth 1 -exec rm -rf {} +
|
||||
case "$(params.source-host-path)" in
|
||||
@@ -387,9 +395,10 @@ spec:
|
||||
test "$prepared_commit" = "$(params.revision)"
|
||||
cp -a "$source_dir/." "$(workspaces.source.path)/backend-core-artifact-repo/"
|
||||
cd "$(workspaces.source.path)/backend-core-artifact-repo"
|
||||
test -f src/components/backend-core/Dockerfile
|
||||
test -f "$dockerfile"
|
||||
test -d src/components/backend-core/src
|
||||
printf '%s\n' "$prepared_commit" | tee "$(workspaces.source.path)/backend-core-artifact-commit.txt"
|
||||
printf '%s\n' "$dockerfile" | tee "$(workspaces.source.path)/backend-core-artifact-dockerfile.txt"
|
||||
- name: build-and-push
|
||||
image: "$(params.app-image)"
|
||||
imagePullPolicy: Never
|
||||
@@ -420,11 +429,16 @@ spec:
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
commit="$(cat "$(workspaces.source.path)/backend-core-artifact-commit.txt")"
|
||||
dockerfile="$(cat "$(workspaces.source.path)/backend-core-artifact-dockerfile.txt")"
|
||||
registry="$(params.registry)"
|
||||
image_repository="$(params.image-repository)"
|
||||
test "$registry" = "127.0.0.1:5000" || { echo "backend_core_artifact_registry_must_be_d601_loopback=$registry" >&2; exit 2; }
|
||||
local_image="unidesk/backend-core:$commit"
|
||||
registry_image="$registry/unidesk/backend-core:$commit"
|
||||
repository="$registry/unidesk/backend-core"
|
||||
case "$image_repository" in
|
||||
""|/*|*..*|*:*|*@*|*latest*|*[!a-z0-9._/-]*) echo "backend_core_artifact_image_repository_invalid=$image_repository" >&2; exit 2 ;;
|
||||
esac
|
||||
local_image="$image_repository:$commit"
|
||||
registry_image="$registry/$image_repository:$commit"
|
||||
repository="$registry/$image_repository"
|
||||
command -v docker
|
||||
docker version >/dev/null
|
||||
docker run --rm --network host rancher/mirrored-library-busybox:1.36.1 wget -q -O- "http://$registry/v2/" >/dev/null
|
||||
@@ -437,10 +451,10 @@ spec:
|
||||
--label "unidesk.ai/service-id=backend-core" \
|
||||
--label "unidesk.ai/source-repo=$(params.repo-url)" \
|
||||
--label "unidesk.ai/source-commit=$commit" \
|
||||
--label "unidesk.ai/dockerfile=src/components/backend-core/Dockerfile" \
|
||||
--label "unidesk.ai/dockerfile=$dockerfile" \
|
||||
-t "$local_image" \
|
||||
-t "$registry_image" \
|
||||
-f src/components/backend-core/Dockerfile \
|
||||
-f "$dockerfile" \
|
||||
.
|
||||
actual_commit="$(docker image inspect "$registry_image" --format '{{ index .Config.Labels "unidesk.ai/source-commit" }}')"
|
||||
test "$actual_commit" = "$commit"
|
||||
@@ -453,14 +467,14 @@ spec:
|
||||
printf '%s' "backend-core" > "$(results.backend_core_artifact_service_id.path)"
|
||||
printf '%s' "$commit" > "$(results.backend_core_artifact_source_commit.path)"
|
||||
printf '%s' "$(params.repo-url)" > "$(results.backend_core_artifact_source_repo.path)"
|
||||
printf '%s' "src/components/backend-core/Dockerfile" > "$(results.backend_core_artifact_dockerfile.path)"
|
||||
printf '%s' "$dockerfile" > "$(results.backend_core_artifact_dockerfile.path)"
|
||||
printf '%s' "$registry" > "$(results.backend_core_artifact_registry.path)"
|
||||
printf '%s' "$repository" > "$(results.backend_core_artifact_repository.path)"
|
||||
printf '%s' "$registry_image" > "$(results.backend_core_artifact_image.path)"
|
||||
printf '%s' "$commit" > "$(results.backend_core_artifact_tag.path)"
|
||||
printf '%s' "$digest" > "$(results.backend_core_artifact_digest.path)"
|
||||
printf '%s' "$digest_ref" > "$(results.backend_core_artifact_digest_ref.path)"
|
||||
printf 'backend_core_artifact_service_id=backend-core\nbackend_core_artifact_image=%s\nbackend_core_artifact_repository=%s\nbackend_core_artifact_tag=%s\nbackend_core_artifact_digest=%s\nbackend_core_artifact_digest_ref=%s\nbackend_core_artifact_source_commit=%s\nbackend_core_artifact_source_repo=%s\nbackend_core_artifact_dockerfile=src/components/backend-core/Dockerfile\nbackend_core_artifact_registry=%s\nbackend_core_artifact_repo_digests=%s\n' "$registry_image" "$repository" "$commit" "$digest" "$digest_ref" "$commit" "$(params.repo-url)" "$registry" "$repo_digests"
|
||||
printf 'backend_core_artifact_service_id=backend-core\nbackend_core_artifact_image=%s\nbackend_core_artifact_repository=%s\nbackend_core_artifact_tag=%s\nbackend_core_artifact_digest=%s\nbackend_core_artifact_digest_ref=%s\nbackend_core_artifact_source_commit=%s\nbackend_core_artifact_source_repo=%s\nbackend_core_artifact_dockerfile=%s\nbackend_core_artifact_registry=%s\nbackend_core_artifact_repo_digests=%s\n' "$registry_image" "$repository" "$commit" "$digest" "$digest_ref" "$commit" "$(params.repo-url)" "$dockerfile" "$registry" "$repo_digests"
|
||||
---
|
||||
apiVersion: tekton.dev/v1
|
||||
kind: Pipeline
|
||||
@@ -478,6 +492,12 @@ spec:
|
||||
default: https://github.com/pikasTech/unidesk
|
||||
- name: revision
|
||||
type: string
|
||||
- name: dockerfile
|
||||
type: string
|
||||
default: src/components/backend-core/Dockerfile
|
||||
- name: image-repository
|
||||
type: string
|
||||
default: unidesk/backend-core
|
||||
- name: app-image
|
||||
type: string
|
||||
default: unidesk-code-queue:dev
|
||||
@@ -497,6 +517,10 @@ spec:
|
||||
value: "$(params.repo-url)"
|
||||
- name: revision
|
||||
value: "$(params.revision)"
|
||||
- name: dockerfile
|
||||
value: "$(params.dockerfile)"
|
||||
- name: image-repository
|
||||
value: "$(params.image-repository)"
|
||||
- name: app-image
|
||||
value: "$(params.app-image)"
|
||||
- name: registry
|
||||
@@ -525,6 +549,8 @@ spec:
|
||||
type: string
|
||||
- name: dockerfile
|
||||
type: string
|
||||
- name: image-repository
|
||||
type: string
|
||||
- name: app-image
|
||||
type: string
|
||||
default: unidesk-code-queue:dev
|
||||
@@ -607,7 +633,6 @@ spec:
|
||||
cp -a "$source_dir/." "$(workspaces.source.path)/user-service-artifact-repo/"
|
||||
cd "$(workspaces.source.path)/user-service-artifact-repo"
|
||||
test -f "$dockerfile"
|
||||
test -d "$(dirname "$dockerfile")/src"
|
||||
printf '%s\n' "$prepared_commit" | tee "$(workspaces.source.path)/user-service-artifact-commit.txt"
|
||||
printf '%s\n' "$service_id" | tee "$(workspaces.source.path)/user-service-artifact-service-id.txt"
|
||||
printf '%s\n' "$dockerfile" | tee "$(workspaces.source.path)/user-service-artifact-dockerfile.txt"
|
||||
@@ -644,13 +669,17 @@ spec:
|
||||
service_id="$(cat "$(workspaces.source.path)/user-service-artifact-service-id.txt")"
|
||||
dockerfile="$(cat "$(workspaces.source.path)/user-service-artifact-dockerfile.txt")"
|
||||
registry="$(params.registry)"
|
||||
image_repository="$(params.image-repository)"
|
||||
test "$registry" = "127.0.0.1:5000" || { echo "user_service_artifact_registry_must_be_d601_loopback=$registry" >&2; exit 2; }
|
||||
case "$image_repository" in
|
||||
""|/*|*..*|*:*|*@*|*latest*|*[!a-z0-9._/-]*) echo "user_service_artifact_image_repository_invalid=$image_repository" >&2; exit 2 ;;
|
||||
esac
|
||||
case "$commit" in
|
||||
[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]) ;;
|
||||
*) echo "user_service_artifact_commit_invalid=$commit" >&2; exit 2 ;;
|
||||
esac
|
||||
local_image="unidesk/$service_id:$commit"
|
||||
repository="$registry/unidesk/$service_id"
|
||||
local_image="$image_repository:$commit"
|
||||
repository="$registry/$image_repository"
|
||||
registry_image="$repository:$commit"
|
||||
command -v docker
|
||||
docker version >/dev/null
|
||||
@@ -711,6 +740,8 @@ spec:
|
||||
type: string
|
||||
- name: dockerfile
|
||||
type: string
|
||||
- name: image-repository
|
||||
type: string
|
||||
- name: app-image
|
||||
type: string
|
||||
default: unidesk-code-queue:dev
|
||||
@@ -734,6 +765,8 @@ spec:
|
||||
value: "$(params.service-id)"
|
||||
- name: dockerfile
|
||||
value: "$(params.dockerfile)"
|
||||
- name: image-repository
|
||||
value: "$(params.image-repository)"
|
||||
- name: app-image
|
||||
value: "$(params.app-image)"
|
||||
- name: registry
|
||||
|
||||
Reference in New Issue
Block a user