Dmi*_*try 3 gitlab docker gitlab-ci docker-registry gitlab-ce
使用域方法在 GitLab Community Edition 14.2.4 中启用容器注册表的具体步骤是什么,以及如何将 docker 映像推送到注册表?另外,如何将 GitLab CI 与注册表集成?
仅指定以下字符串(如“在其域下配置容器注册表”中所述)不适用于 GitLab 社区版 14.2.4
registry_external_url 'registry.gitlab.example.com'
Run Code Online (Sandbox Code Playgroud)
这是一个自我回答的主题,我将指导您完成在 GitLab Community Edition 14.2.4 中启用 Container Registry 的步骤以及如何推送 Docker 镜像。
步骤1:为了启用ContainerRegistry,我使用了域方法(此处描述的现有域下的配置)。编辑 /etc/gitlab/gitlab.rb 文件并添加以下代码行:
registry_external_url 'https://registry.example.com'
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = "registry.example.com"
registry['enable'] = true
registry['registry_http_addr'] = "localhost:5000"
registry['log_directory'] = "/var/log/gitlab/registry"
registry['env_directory'] = "/opt/gitlab/etc/registry/env"
registry_nginx['enable'] = true
registry_nginx['listen_port'] = 443
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/registry.example.com/fullchain.pem"
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/registry.example.com/privkey.pem"
Run Code Online (Sandbox Code Playgroud)
添加这些行后,运行gitlab-ctl reconfigure. 请注意,我尝试了不同的方法,包括仅指定registry_external_urlURL,但在使用上述设置之前没有任何效果。在本文中,我跳过了安全认证步骤,此步骤可以以不同的方式完成。我已经使用了为注册表预先生成和指定的 Let's Encrypt 证书。更多信息请点击此处
第 2 步:启用 Container Registry 后,您可以通过导航到Project -> Packages & Registries -> Container Registry在 GitLab 中找到它。在空白页面上,您将找到开始使用注册表的帮助命令。
步骤 3:要将 GitLab CI 与 Container Registry 集成,请将以下代码添加到您的 .gitlab-ci.yml 文件中:
create-image:
stage: build
tags:
- shell
variables:
VER: 1.0-${CI_PIPELINE_ID}
ID: ${CI_COMMIT_SHORT_SHA}
GIT_SUBMODULE_STRATEGY: recursive
before_script:
- echo "Docker registry url is $CI_REGISTRY"
- echo "Docker registry username is $CI_REGISTRY_USER"
- echo "Docker registry repo is $CI_REGISTRY_IMAGE"
timeout: 12h
script:
- docker build -t ${CI_REGISTRY_IMAGE}:$VER ${CI_PROJECT_DIR}
upload-to-registry:
stage: deploy
when: manual
tags:
- shell
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker push ${CI_REGISTRY_IMAGE}:$VER
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7365 次 |
| 最近记录: |