From 55ef1dcfbfd5fafbc73d26bc8b64e5f99b452dc3 Mon Sep 17 00:00:00 2001 From: uname <2986773479@qq.com> Date: Fri, 12 Dec 2025 16:42:11 +0800 Subject: [PATCH 1/2] feature: add the pipeline for pushing images to Huawei Cloud --- .../docker-push-to-huaweicloud-reusable.yml | 47 ++++++++++++ .../workflows/docker-push-to-huaweicloud.yml | 73 +++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 .github/workflows/docker-push-to-huaweicloud-reusable.yml create mode 100644 .github/workflows/docker-push-to-huaweicloud.yml diff --git a/.github/workflows/docker-push-to-huaweicloud-reusable.yml b/.github/workflows/docker-push-to-huaweicloud-reusable.yml new file mode 100644 index 000000000..4a9485398 --- /dev/null +++ b/.github/workflows/docker-push-to-huaweicloud-reusable.yml @@ -0,0 +1,47 @@ +name: docker-push-to-huaweicloud-reusable.yml +on: + workflow_call: + inputs: + version: + description: 'image version (e.g. latest or v0.0.1-beta)' + required: true + default: 'latest' + type: string + service_name: + description: 'image version (e.g. latest or v0.0.1-beta)' + required: true + default: 'latest' + type: string + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: + description: 'login pwd' + required: true + +jobs: + retag-and-push: + name: Retag and Push to Huawei Cloud SWR + runs-on: ubuntu-latest + steps: + - name: Pull source image and retag (amd) + shell: bash + run: | + SOURCE_IMAGE=ghcr.io/modelengine-group/${{ inputs.service_name}}:${{ inputs.version}} + TARGET_IMAGE=swr.cn-east-3.myhuaweicloud.com/data-mate/${{ inputs.service_name}}:${{ inputs.version}} + docker pull "${SOURCE_IMAGE}" + docker tag "${SOURCE_IMAGE}" "${TARGET_IMAGE}"-amd + - name: Pull source image and retag (arm) + shell: bash + run: | + SOURCE_IMAGE=ghcr.io/modelengine-group/${{ inputs.service_name}}:${{ inputs.version}} + TARGET_IMAGE=swr.cn-east-3.myhuaweicloud.com/data-mate/${{ inputs.service_name}}:${{ inputs.version}} + docker pull "${SOURCE_IMAGE}" --platform=linux/arm64 + docker tag "${SOURCE_IMAGE}" "${TARGET_IMAGE}"-arm + - name: Push image to Huawei SWR using + shell: bash + run: | + TARGET_IMAGE=swr.cn-east-3.myhuaweicloud.com/data-mate/${{ inputs.service_name}}:${{ inputs.version}} + echo "${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}}" | docker login swr.cn-east-3.myhuaweicloud.com --username=cn-east-3@HPUA3ZGOTQFAFMM59DB9 --password-stdin + docker push "${TARGET_IMAGE}"-amd + docker push "${TARGET_IMAGE}"-arm + docker manifest create "${TARGET_IMAGE}" "${TARGET_IMAGE}"-amd "${TARGET_IMAGE}"-arm + docker manifest push "${TARGET_IMAGE}" diff --git a/.github/workflows/docker-push-to-huaweicloud.yml b/.github/workflows/docker-push-to-huaweicloud.yml new file mode 100644 index 000000000..e1c5657dd --- /dev/null +++ b/.github/workflows/docker-push-to-huaweicloud.yml @@ -0,0 +1,73 @@ +name: docker-push-to-huaweicloud.yml +on: + workflow_dispatch: + inputs: + version: + description: 'image version (e.g. latest or v0.0.1-beta)' + required: true + default: 'latest' + type: string + +jobs: + frontend: + name: Push Frontend Image + uses: ./.github/workflows/docker-push-to-huaweicloud-reusable.yml + with: + service_name: datamate-frontend + version: ${{ inputs.version}} + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: ${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}} + + backend: + name: Push Backend Image + uses: ./.github/workflows/docker-push-to-huaweicloud-reusable.yml + with: + service_name: datamate-backend + version: ${{ inputs.version}} + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: ${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}} + + backend-python: + name: Push Backend-Python Image + uses: ./.github/workflows/docker-push-to-huaweicloud-reusable.yml + with: + service_name: datamate-backend-python + version: ${{ inputs.version}} + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: ${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}} + + runtime: + name: Push Runtime Image + uses: ./.github/workflows/docker-push-to-huaweicloud-reusable.yml + with: + service_name: datamate-runtime + version: ${{ inputs.version}} + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: ${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}} + + database: + name: Push Database Image + uses: ./.github/workflows/docker-push-to-huaweicloud-reusable.yml + with: + service_name: datamate-database + version: ${{ inputs.version}} + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: ${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}} + + deer-flow-backend: + name: Push deer-flow-backend Image + uses: ./.github/workflows/docker-push-to-huaweicloud-reusable.yml + with: + service_name: deer-flow-backend + version: ${{ inputs.version}} + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: ${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}} + + deer-flow-frontend: + name: Push deer-flow-frontend Image + uses: ./.github/workflows/docker-push-to-huaweicloud-reusable.yml + with: + service_name: deer-flow-frontend + version: ${{ inputs.version}} + secrets: + HUAWEI_CLOUD_SWR_LOGIN_PWD: ${{ secrets.HUAWEI_CLOUD_SWR_LOGIN_PWD}} From 82117c120ac963a7eaeed4ee6dd6f768f8c24d45 Mon Sep 17 00:00:00 2001 From: uname <2986773479@qq.com> Date: Mon, 15 Dec 2025 15:35:30 +0800 Subject: [PATCH 2/2] fix: updates the dataset-pvc name --- scripts/db/setting-management-init.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/db/setting-management-init.sql b/scripts/db/setting-management-init.sql index a53066b29..4cde51119 100644 --- a/scripts/db/setting-management-init.sql +++ b/scripts/db/setting-management-init.sql @@ -43,5 +43,5 @@ values ('sys.knowledge.base.count', '200', 'number', '10,200,500', '知识库最 ('TAVILY_API_KEY', 'tvly-dev-xxx', 'string', '', 'deer-flow使用的搜索引擎所需的apiKey', 1, 1, 1, 'system', 'system'), ('BRAVE_SEARCH_API_KEY', 'api-xxx', 'string', '', 'deer-flow使用的搜索引擎所需的apiKey', 1, 1, 1, 'system', 'system'), ('JINA_API_KEY', '', 'string', '', 'deer-flow使用的JINA搜索引擎所需的apiKey', 1, 1, 1, 'system', 'system'), - ('sys.management.dataset.pvc.name', 'dataset-pvc', 'string', '', '数据集所在pvc名称', 1, 0, 1, 'system', 'system'), + ('sys.management.dataset.pvc.name', 'datamate-dataset-pvc', 'string', '', '数据集所在pvc名称', 1, 0, 1, 'system', 'system'), ('test_bool', 'true', 'boolean', '', '测试布尔值', 1, 1, 1, 'system', 'system');