我正在Windows 10机器上使用GitLab-CI运行一些自动化的Python测试。使用简单的Windows Shell,机器上的GitLab-Runner用于executor = "shell"
。这最近停止工作了(文档说不再支持此shell),唯一使它再次工作的方法是使用powershell,而不是在shell = "powershell"
文件中添加config.toml
。为了运行测试,我们需要激活一个conda环境。不幸的是,这似乎无法通过GitLab-CI为此作业创建的powershell脚本来工作。
当我打开以执行gitlabRunner作业的用户身份手动登录的Powershell时,可以更改conda环境。我已经运行conda init powershell
,可以使用conda activate myenv
更改环境。但是,当我在gitlab-ci.yml
文件中添加以下内容时:
script:
- conda activate myenv
- conda list
conda list
的输出确认未激活环境myenv
,而是使用了基本环境。
也尝试这样的绝对路径
script:
- conda activate C:\Users\myuser\Miniconda3\envs\myenv
- conda list
不起作用。
因此,似乎可以在Powershell中手动激活正确的conda环境,但是无法通过GitLab-CI创建的powershell脚本激活环境。有解决此问题的方法吗?任何帮助将不胜感激。
答案 0 :(得分:1)
就像gitlab在单独的子shell中执行脚本的每一行。将命令组合成一行。
如果这不起作用,大多数conda
命令将接受环境名称作为参数-n
:
conda list -n myenv
conda install -n myenv PackageName
...
只要您仅使用conda
,就不必激活环境。
答案 1 :(得分:0)
由于它似乎是 powershell 中的一个问题,但 cmd
没有问题,因此可以在 gitlab-ci yaml 中使用以下内容:
- cmd '/C' 'conda activate myenv && python myunittests.py'