stages: - initialize-maibot-git-repo - build - package # 仅在helm-chart分支运行 workflow: rules: - if: '$CI_COMMIT_BRANCH == "helm-chart"' - when: never # 查询并将麦麦仓库的工作区置为最后一个tag的版本 initialize-maibot-git-repo: stage: initialize-maibot-git-repo image: reg.mikumikumi.xyz/base/git:latest cache: key: git-repo policy: push paths: - target-repo/ script: - git clone https://github.com/Mai-with-u/MaiBot.git target-repo/ - cd target-repo/ - export MAIBOT_VERSION=$(git describe --tags --abbrev=0) - echo "Current version is ${MAIBOT_VERSION}" - git reset --hard ${MAIBOT_VERSION} - echo ${MAIBOT_VERSION} > MAIBOT_VERSION - git clone https://github.com/MaiM-with-u/maim_message maim_message - git clone https://github.com/MaiM-with-u/MaiMBot-LPMM.git MaiMBot-LPMM - ls -al # 构建最后一个tag的麦麦本体的镜像 build-core: stage: build image: reg.mikumikumi.xyz/base/kaniko-builder:latest cache: key: git-repo policy: pull paths: - target-repo/ script: - cd target-repo/ - export BUILD_CONTEXT=$(pwd) - ls -al - export BUILD_DESTINATION="reg.mikumikumi.xyz/maibot/maibot:tag-$(cat MAIBOT_VERSION)" - build # 将Helm Chart版本作为tag,构建并推送镜像 build-adapter-cm-generator: stage: build image: reg.mikumikumi.xyz/base/kaniko-builder:latest # rules: # - changes: # - helm-chart/adapter-cm-generator/** script: - export BUILD_CONTEXT=helm-chart/adapter-cm-generator - export TMP_DST=reg.mikumikumi.xyz/maibot/adapter-cm-generator - export CHART_VERSION=$(cat helm-chart/Chart.yaml | grep '^version:' | cut -d' ' -f2) - export BUILD_DESTINATION="${TMP_DST}:${CHART_VERSION}" - export BUILD_ARGS="--destination ${TMP_DST}:latest" - build # 打包并推送helm chart package-helm-chart: stage: package image: reg.mikumikumi.xyz/mirror/helm:latest # rules: # - changes: # - helm-chart/files/** # - helm-chart/templates/** # - helm-chart/Chart.yaml # - helm-chart/values.yaml script: - export CHART_VERSION=$(cat helm-chart/Chart.yaml | grep '^version:' | cut -d' ' -f2) - helm registry login reg.mikumikumi.xyz --username ${CI_REGISTRY_USER} --password ${CI_REGISTRY_PASSWORD} - helm package helm-chart - helm push maibot-${CHART_VERSION}.tgz oci://reg.mikumikumi.xyz/maibot