Gitlab CI:如何使用docker和shell runner

时间:2017-04-15 08:25:28

标签: node.js meteor docker continuous-integration gitlab

我需要在我的gitlab CI管道中运行测试。这就是我的YAML文档的样子:

before_script:
  - docker info

build:
  script:
    - docker build -t $CI_REGISTRY_IMAGE:$VERSION .
    - docker push $CI_REGISTRY_IMAGE:$VERSION

我使用的是shell跑步者。现在我想检查正确的eslint,看起来像:

eslint .

在第二步中,我想使用mocha

进行一些单元测试
meteor test --driver-package practicalmeteor:mocha

如何使用已构建的容器/图像在管道中执行此操作?我该如何将其实现到YAML文件中?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望在新构建的容器中运行eslint。您可以通过在.gitlab-ci.yml

中添加以下内容来实现
lint:
  script:
    # This step is probably optional
    - docker pull $CI_REGISTRY_IMAGE:$VERSION
    # This will run eslint inside the container
    - docker run -it $CI_REGISTRY_IMAGE:$VERSION eslint .

如果有任何linting错误,退出代码应该是非零,这将使作业失败(这可能是你想要的)。