From 39e00c69babbc4c22e68929b27fef5b79223dcce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=99=93=E4=BC=9F?= Date: Mon, 4 Dec 2023 22:42:30 +0800 Subject: [PATCH] :construction_worker: gcr.io/kaniko-project/executor https://docs.gitlab.cn/jh/ci/docker/using_kaniko.html#%E4%BD%BF%E7%94%A8-kaniko-%E6%9E%84%E5%BB%BA-docker-%E9%95%9C%E5%83%8F https://github.com/GoogleContainerTools/kaniko#example-ci-pipeline-gitlab --- .gitlab-ci.yml | 53 ++++++++------------------------------------------ 1 file changed, 8 insertions(+), 45 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 755ebb9..0812bfb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,47 +37,11 @@ build:docker: needs: - job: build:golang:1.21 artifacts: true - image: docker:24.0.6 - variables: - DOCKER_TLS_CERTDIR: "" - DOCKER_HOST: tcp://docker:2375 - services: - - name: docker:24.0.6-dind - alias: docker - before_script: - - set +e - - start_time=$(date +%s) - - elapsed=0 - - interval=5 - - timeout=60 - - | - while true; do - docker info >/dev/null 2>&1 - result=$? - echo "result=$result" - current_time=$(date +%s) - elapsed_time=$((current_time - start_time)) - if [[ $result -eq 0 ]]; then - echo "docker 完成启动" - break - fi - if [[ $elapsed_time -gt $timeout ]]; then - echo "docker 启动超时" - exit 1 - fi - echo "docker 正在启动($elapsed) ..." - elapsed=$((elapsed+interval)) - sleep $interval - done - - set -e - - docker info - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] script: - cp cicd-release-linux-amd64 docker/debian/ - - cd $CI_PROJECT_DIR/docker/debian - - docker pull registry.cn-qingdao.aliyuncs.com/xuxiaowei/public:debian_12.1 - - docker tag registry.cn-qingdao.aliyuncs.com/xuxiaowei/public:debian_12.1 docker.io/library/debian:12.1 - if [ "$CI_COMMIT_TAG" ]; then tag="$CI_COMMIT_TAG"; tag_hub="$CI_COMMIT_TAG-debian"; @@ -87,12 +51,11 @@ build:docker: fi - echo "tag=$tag" - echo "tag_hub=$tag_hub" - - docker build -t $CI_REGISTRY_IMAGE/cicd-release-debian:$tag . --no-cache --progress plain - - docker tag $CI_REGISTRY_IMAGE/cicd-release-debian:$tag $DOCKER_USERNAME/cicd-release:$tag_hub - - docker images - - docker push $CI_REGISTRY_IMAGE/cicd-release-debian:$tag - - docker push $DOCKER_USERNAME/cicd-release:$tag_hub - - docker save -o cicd-release-dev-debian-$CI_PIPELINE_ID.tar $CI_REGISTRY_IMAGE/cicd-release-debian:$tag + - >- + /kaniko/executor + --context "${CI_PROJECT_DIR}/docker/debian" + --dockerfile "${CI_PROJECT_DIR}/docker/debian/Dockerfile" + --destination "${DOCKER_USERNAME}/cicd-release:${tag_hub}" artifacts: name: "${CI_JOB_NAME}" paths: