我想构建并添加自定义图片( 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等。
试了一下,怎么办呢?
答案 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