如何在gitlab ci中将init.sql文件加载到Postgres服务?

时间:2018-11-23 15:13:13

标签: postgresql docker gitlab gitlab-ci

我想在service文件的测试阶段初始化我的sql

test:
  services:
    - postgres:latest
  variables:
    POSTGRES_DB: test
  stage: test
  image: gliderlabs/herokuish:latest
  script:
    - setup_test_db
    - cp -R . /tmp/app
    - /bin/herokuish buildpack test
  only:
    - branches
  except:
    variables:
      - $TEST_DISABLED

这是auto devops中的测试工作。
我想使用postgres图片docker-entrypoint
这就是我在PC上的docker-compose中使用它的方式:

volumes:
  - './src/sql:/docker-entrypoint-initdb.d'

这样,当postres映像启动时,我就可以使用我的架构了。
如何在gitlab-ci.yml中做到这一点?

1 个答案:

答案 0 :(得分:0)

目前,Gitlab CI不支持volumes

在测试过程中,针对此问题的一种解决方法,您使用docker-compose来提供postgres的服务来启动您的项目,并且可以按常规方式将其装入卷中