在Dockerfile中激活conda环境并在gitlab ci中使用

时间:2019-09-02 13:13:55

标签: docker gitlab conda

我有一个dockerfile,如下:

FROM continuumio/miniconda:4.7.10

COPY environment.yml ./

RUN conda env create -f environment.yml

CMD ["source activate my-environment"]

然后,在终端上,我运行

docker build -t myrepo/myimage:v1 .
docker push myrepo/myimage:v1

如果我这样写我的.gitlab-ci.yml文件,我会期望如此:

image: myrepo/myimage:v1

stages:
  - Static Analysis

flake8:
  stage: Static Analysis
  script:
  - flake8 --max-line-length=120

然后它会工作。请注意,environment.yml包括flake8==3.7.8

但是,返回以下错误:

/bin/bash: line 83: flake8: command not found

如何修改Dockerfile(或.gitlab-ci.yml)使其有效?

1 个答案:

答案 0 :(得分:0)

很抱歉这么早就回答了我自己的问题,但是我找到了解决方案-最好还是坚持下去,以防任何人受益。

解决方案是按如下方式修改gitlab-ci.yml

image: myrepo/myimage:v1

stages:
  - Static Analysis

flake8:
  stage: Static Analysis
  script:
  - source activate my-environment
  - flake8 --max-line-length=120