首页 > 解决方案 > 带有 Harbour Registry 的 CI/CD Gitlab

问题描述

我有 3 台服务器

  1. GitLab
  2. Gitlab 亚军
  3. 港口注册处

当我在 Gitlab 上运行 CI/CD 但它无法登录到 Harbor Registry。这是错误。

Get https://172.21.5.247/v1/users/: x509: cannot validate certificate for 172.21.5.247 because it doesn't contain any IP SANs

当我尝试在服务器 Gitlab 上登录 docker 并且 Gitlab Runner 成功。我将“不安全注册表”添加到两个服务器。 在此处输入图像描述

.gitlab.ci.yml 文件

image: docker:18-git

variables:
  DOCKER_DRIVER: overlay2
  DOCKER_TLS_CERTDIR: ""
  DOCKER_HOST: tcp://localhost:2375

stages:
  - build
  - push
services:
  - name: docker:dind
    command: ["--insecure-registry=172.21.5.247:443"]

before_script:
  - echo $HARBOR_USERNAME
  - echo -n $HARBOR_PASSWORD | docker login -u $HARBOR_USERNAME -p $HARBOR_PASSWORD $HARBOR_REGISTRY
  - docker version
  - docker info

after_script:
  - docker logout $HARBOR_REGISTRY

Build:
  stage: build
  script:
    - docker pull $HARBOR_REGISTRY_IMAGE:latest || true
    - >
      docker build
      --pull
      --cache-from $HARBOR_REGISTRY_IMAGE:latest
      --tag $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA .
    - docker push $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA

Push_When_tag:
  stage: push
  only:
    - tags
  script:
    - docker pull $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA
    - docker tag $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
    - docker push $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME

docker登录有错误。

标签: dockercontinuous-integrationgitlabharbor

解决方案


推荐阅读