首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在gitlab ci-cd中创建文件并将文件复制到卷

问在gitlab ci-cd中创建文件并将文件复制到卷
EN

Stack Overflow用户
提问于 2020-05-19 14:54:32
回答 1查看 2.2K关注 0票数 2

我用Gitlab运行器和gitlab本身创建了一个gitlab CI CD管道。现在,除了一个简单的脚本之外,所有的东西都可以运行。它不会将任何文件复制到卷中。我正在使用docker-compose 2.7,我还必须说,我不是100%确定卷。

下面是我的.gitlab-ci.yml的摘要

代码语言:javascript
复制
stages:
  - build_single
  - test_single
  - clean_single
  - build_lb
  - test_lb
  - clean_lb
Build_single:
  stage: build_single
  script:
    - docker --version
    - docker-compose --version
    - docker-compose  -f ./NodeApp/docker-compose.yml up --scale slave=1 -d
    - docker-compose  -f ./traefik/docker-compose_single.yml up -d
    - docker-compose  -f ./DockerJMeter/docker-compose.yml up --scale slave=10 -d

当我使用ls时,所有的文件都在正确的文件夹中。

Docker-compose:

代码语言:javascript
复制
version: '3.7'
services:
  reverse-proxy:
    # The official v2.0 Traefik docker image
    image: traefik:v2.0
    # Enables the web UI and tells Traefik to listen to docker
    command: --api.insecure=true --providers.docker
    ports:
    # The HTTP port
    - "7000:80"
    # The Web UI (enabled by --api.insecure=true)
    - "7080:8080"
    volumes:
      # So that Traefik can listen to the Docker events
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik/config_lb:/etc/traefik
    networks:
      - default
networks:
  default:
    driver: bridge
    name: traefik

对于JMeter,我使用copy语句在它启动后获取配置文件。但是对于traefik,我需要关于traefik引导过程的文件。

我还以为./traefik/config_lb:/etc/traefik有个'.‘在traefik前面创建一个关于docker-compose文件的路径。这是错的吗?我还必须说,gitlab和runner都停靠在主机系统上。因此docker的实例在主机系统上运行,gitlab runner也使用docker.sock。

诚挚的问候!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-19 20:34:06

当您在停靠容器中使用gitlab-runner时,它会启动另一个容器,即基于您在.gitlab-ci.yml中指定的图像的gitlab-executor。gitlab-runner使用docker主机的docker套接字(请参见/etc/gitlab-runner/config.toml中的/var/run/docker.sock:/var/run/docker.sock )来启动executor。

然后,当您使用docker-compose启动另一个容器时,同样使用docker套接字。您在docker-compose.yml中指定的任何源路径都必须指向docker主机上的路径,否则创建的服务中的目标将为空(假设源路径不存在)。

因此,您需要做的是在停靠主机上找到traefik/config_lb的路径,并将其作为source提供。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61884916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档