2

Kaniko を使用して GitLab CI で次の Dockerfile をビルドすると、エラーが発生しますerror pushing image: failed to push to destination eu.gcr.io/stritzke-enterprises/eliah-speech-server:latest: Get https://eu.gcr.io/...: exit status 1

Dockerfile から最初のFROM, RUNandステートメントを削除すると、Docker イメージが期待どおりにビルドおよびプッシュされます。COPY --fromローカル マシンで Docker を使用して Kaniko ビルドを実行すると、すべてが期待どおりに機能します。他の Kaniko ビルドを実行し、同じ GCE サービス アカウント資格情報を使用して同じ GitLab CI ランナーにプッシュしました。

GitLab CI ベースの Kaniko ビルドで何が問題になっていますか?

Dockerfile

FROM alpine:latest as alpine

RUN apk add -U --no-cache ca-certificates

FROM scratch

COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/

COPY binaries/speech-server /speech-server

EXPOSE 8080
ENTRYPOINT ["/speech-server"]
CMD ["serve", "-t", "$GOOGLE_ACCESS_TOKEN"]

GitLab CI ビルド ステージ

buildDockerImage:
  stage: buildImage
  dependencies:
    - build
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  variables:
    GOOGLE_APPLICATION_CREDENTIALS: /secret.json
  script:
    - echo "$GCR_SERVICE_ACCOUNT_KEY" > /secret.json
    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $DOCKER_IMAGE:latest -v debug
  only:
    - branches
  except:
    - master
4

1 に答える 1