diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 24bc8a8..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,74 +0,0 @@ -# CI/CD 的阶段定义,按顺序执行各阶段;默认包含`.pre`(最先执行)/`.post`(最后执行)两个阶段,不用显示定义 -stages: - - build - - test - - deploy - -# 全局变量定义 -variables: - IMG_URL: "$HARBOR_HOST/$HARBOR_PROJECT/$CI_PROJECT_NAME" - IMG_TAG: ":latest" - -# 默认值信息配置 -default: - # 各 stage 使用的默认镜像,如果不定义,则为 gitlab-runner 创建时指定的镜像;各 stage 可以覆盖该值以使用不同的镜像 - image: docker.colovu.com/library/docker:20.10.16 - # Gitlab-runner 配置的执行器为 Docker 时,需要 配置对应的 dind 服务(这里使用Runner中配置的Dind服务) - #services: - # - name: docker.colovu.com/library/docker:20.10.16-dind - # alias: docker - # 流水线中,各阶段都会执行的脚本命令,包括`before_script`(在各阶段 script 前执行)/`after_script`(在各阶段 script 后执行) - before_script: - - | - if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then - IMG_TAG=":latest" - else - IMG_TAG=":$CI_COMMIT_REF_NAME" - fi - - docker login -u "$HARBOR_USERNAME" -p "$HARBOR_PASSWORD" $HARBOR_URL - -# 环境变量信息 -env-variables: - stage: .pre - script: - - export - -# 编译阶段任务 -build-arm64: - stage: build - tags: - - arm64 - script: - - docker buildx build --platform=linux/arm64 --pull -t "$IMG_URL$IMG_TAG-linux-arm64" . --push - - docker rmi "$IMG_URL$IMG_TAG-linux-arm64" - -build-amd64: - stage: build - tags: - - amd64 - script: - - docker buildx build --platform=linux/amd64 --pull -t "$IMG_URL$IMG_TAG-linux-amd64" . --push - - docker rmi "$IMG_URL$IMG_TAG-linux-amd64" - -# 生成多架构制品,并在上传后删除本地文件 -build-artifact: - stage: build - needs: [build-amd64, build-arm64] - script: - - docker manifest create "$IMG_URL$IMG_TAG" "$IMG_URL$IMG_TAG-linux-arm64" "$IMG_URL$IMG_TAG-linux-amd64" - - docker manifest push "$IMG_URL$IMG_TAG" - - docker manifest rm "$IMG_URL$IMG_TAG" - -# 测试阶段任务 -test: - stage: test - script: - - docker run --pull always --rm --platform=linux/arm64 "$IMG_URL$IMG_TAG" /bin/uname -a - - docker run --pull always --rm --platform=linux/amd64 "$IMG_URL$IMG_TAG" /bin/uname -a - - docker images -q "$IMG_URL" | sort -u | xargs docker rmi -f - -# 部署阶段任务 -deploy: - stage: deploy - script: - - echo "deploy stage"