配置以通过gitlab-ci将minio docker容器作为服务运行以进行测试

时间:2019-04-04 16:46:28

标签: docker gitlab-ci gitlab-ci-runner minio

我已经尝试过多次在GitLab CI中作为服务启动Minio服务器,运行需要S3存储桶的测试,但是始终出现“无法链接到未运行的容器”的错误。 这是Minio Server的docker-compose.yaml在官方网站上的样子:

services:
 minio1:
  image: minio/minio:RELEASE.2019-03-27T22-35-21Z
  volumes:
   - data1:/data
  ports:
   - "9001:9000"
  environment:
   MINIO_ACCESS_KEY: ***
   MINIO_SECRET_KEY: ***
  command: server http://minio1/data 

此处尝试在gitlab-ci中使用Docker在Docker中启动Minio Server:

stages:
-test
image: my_image

u_tests:
  services:
    - name: minio/minio:RELEASE.2019-03-27T22-35-21Z
      alias: miniotest
    - name: docker:stable-dind
      command:
        - docker run -p 9000:9000 --name minio1 \
          -e "MINIO_ACCESS_KEY=key" \
          -e "MINIO_SECRET_KEY=key" \
          minio/minio server /data
  variables:
    MINIO_ACCESS_KEY: ***
    MINIO_SECRET_KEY: ***
  stage: test
  script:
  - make test

在这里,我尝试像在docker-compose文件中一样使用命令(以及入口点)启动服务器,但是没有成功。

 unit_tests:
   services:
    - name: minio/minio:RELEASE.2019-03-27T22-35-21Z
      alias: minio
      command: ["server /home/dataminio"]
    - minio/minio:latest
      entrypoint:["sh", "-c", "minio start"]

   variables:
     MINIO_ACCESS_KEY: ***
     MINIO_SECRET_KEY: ***

在gitlab.ci中可能有什么配置可以将Minio Server泊坞窗作为服务启动,以便我的主映像可以访问它?

1 个答案:

答案 0 :(得分:0)

找到了这个人:https://docs.rs/crate/s4/0.0.15/source/.gitlab-ci.yml

services:
- name: minio/minio
  command: ['server', '/minio']
  alias: minio

variables:
  S3_ENDPOINT: http://minio:9000
  # used by minio service
  MINIO_SECRET_KEY: TtnuieannGt2rGuie2t8Tt7urarg5nauedRndrur
  MINIO_ACCESS_KEY: ANTN35UAENTS5UIAEATD
  MINIO_DOMAIN: localhost

我的情况很好