gitlab-ci.yaml:在多行 python docker 镜像中运行 python

Posted

技术标签:

【中文标题】gitlab-ci.yaml:在多行 python docker 镜像中运行 python【英文标题】:gitlab-ci.yaml: running python in a multi line python docker image 【发布时间】:2022-01-08 03:18:42 【问题描述】:

刚接触 gitlab 并尝试对由 JSON 组成的文件中的对象进行一些常规计数。我知道 python 可以完成这项工作,但是当将代码作为多行语句而不是脚本运行时,我遇到了问题。

我正在使用 python 图像,希望能够在我的 ci 阶段中的一个多行语句中编写一些 python。

  stage: VerifyCode

  image: python:latest
  script:
    - ls -al
    - |
      python
      import json
      import ast
      data = open("semgrep-sast.json", "r")

我不使用脚本的原因是因为我试图保留我的更改历史记录,并且能够通过快速连续执行管道来测试我的更改而无需添加步骤。

有没有办法让我在多行语句中成功执行 python 代码?

【问题讨论】:

【参考方案1】:

所以这是我的失误。处理此问题的方法是将脚本上传到您的存储库。

如果您正在使用父管道,请将要执行的脚本上传到父管道存储库并在那里调用它。

这样你就可以随心所欲地调用 python 脚本,并且你会跟踪你的更改。

curl -k --header “PRIVATE-TOKEN: $GLToken” https://gitlab.example.coml/api/v4/projects/[projectid]/repository/files/testpython.py/raw?ref=master > testpython.py

【讨论】:

以上是关于gitlab-ci.yaml:在多行 python docker 镜像中运行 python的主要内容,如果未能解决你的问题,请参考以下文章

gitlab-ci docker-in-docker 访问不安全的注册表

GitLab CI/CD 运行程序无法执行

vim选中多行缩进(python多行缩进)

Python 多行字符串是不是在内存中占用一些空间?

Python 多行注释

Python中的多行注释[重复]