如何使用带有gitlab-ci的Docker部署项目

时间:2018-09-04 21:07:58

标签: docker continuous-integration gitlab-ci-runner

我对dockerrunner的docker和gitlab-ci还是陌生的。

泊坞窗运行器工作正常,除一件事之外,我都同意。似乎dockerRunner无法看到本地可用的图像。这意味着我可能必须创建一个自定义注册表,除非有一种方法可以使docker命令检查主机docker。

我试图实现的目标是:

  1. 构建一个Dockerfile并获取其他一些git存储库以
  2. 基于Dockerfile创建一个新的docker映像。
  3. 在主机docker上启动一个新的docker容器,即使完成该工作,该容器也将保持活动状态。

换句话说,我正在尝试生成一个docker映像,并在主机的dockerd服务中启动/替换现有服务。

现在这就是我的想法,但是由于数据没有从一项工作传递到另一项工作,所以它不起作用。即使工作可以进行,我也怀疑我创建的docker服务是否可以从外部访问。

stages:
    - test
    - prepare
    - build

# Build the Dockerfile 
prepare_script:
  stage: prepare
  image: debian:stretch
  script:

    - apt-get update
    - apt-get install -y git python3
    - python3 prepare_project.py

# Build and deploy the docker image
build:
  variables:
    DOCKER_HOST: tcp://docker:2375/
    DOCKER_DRIVER: overlay2
  image: docker:stable
  services:
    - docker:dind
  stage: build
  script:
    - docker build -t my-project .
    - docker run --add-host db:172.17.42.1 -d --name my-project-inst --restart always -p 8069:8069 myproject

如何使用gitlab-ci在主机docker服务中自动部署docker映像?

我要解决的问题是生成docker文件,以便可以动态获取git存储库和子模块,而无需手动修改Dockerfile。

0 个答案:

没有答案