自定义GitLag容器注册表图像创建&重用

时间:2016-12-15 12:24:32

标签: gitlab

我想构建并添加自定义图片( with ruby, node.js, bower, grunt, jekyll etc. )并将其标记为“myimage:1.0”。此图片需要存储在gitlab container registry 中,然后在 .gitlab-ci.yml 中用作 image: sachin.1.0.0 。因此,我通过gitlab ci进行构建将预装所有内容,如node.js等。

试了一下,怎么办呢?

1 个答案:

答案 0 :(得分:2)

在执行此操作之前,您需要配置一个gitlab运行器,允许您使用docker build。您可以使用说明here进行配置,具体取决于您的使用案例

接下来,在gitlab中创建一个新的repo,让我们称之为sachin-image

在git repo的根目录中,添加Dockerfile,并安装所需的一切。

现在,在此repo中,添加.gitlab-ci.yml文件,如下所示:

---
before_script:
  - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN <my-docker-gitlab-registry-url>

stages:
  - build
build_image:
  stage: build
  script:
    - docker build -t gitlab.example.com/my/dockerimage/repo:latest .
    - docker push gitlab.example/my/dockerimage/repo:latest
  tags:
    - docker_engine

此时,您现在可以在gitlab中使用自动化docker构建。为了在将来的gitlab构建中使用此图像,您只需使用以下图像URL:

gitlab.example.com/my/dockerimage/repo:latest