2

最近我创建了一个项目并将其 dockerize。为了写一个.gitlab-ci.yml,我想准备一个测试阶段来测试我的程序。

在我的 python 代码中间,我向用户询问用户名和密码,但是因为在 gitlab-ci 中,一切都应该自动执行,我想在我的 gitlab-ci 中发送用户名和密码,而不是从输入中读取. 如何将作为静态短语的用户名和密码发送到我的 gitlab-ci 中的 python 代码?

请注意,我不想在我的 python 代码中使用 sys.args,因为在实际执行中我真的想从用户那里读取它,但只是在 gitlab-ci 中,我想向它发送一个特定的用户名和密码程序,以便它可以自动执行。

4

1 回答 1

1

您可以在 GitLab 中使用环境变量将用户名和密码发送到您的脚本:

https://docs.gitlab.com/ee/ci/variables/#custom-environment-variables

然后,这些变量将在您的 gitlab-ci.yml 文件中对您的程序可用。访问变量的方式取决于您使用的 shell(cmd、powershell、sh、bash):

https://docs.gitlab.com/runner/shells/#overview

您可以通过以下方式使用它:

myjob:
  stage: test
  script:
    - python myscript.py --username $username --password $password

究竟如何将用户名和密码输入您的程序取决于您自己。如果您不想使用命令行参数,您可以创建一个小帮助脚本,通过标准输入发送用户名和密码。另一种选择是添加命令行参数,以便于测试您的程序。

于 2019-11-29T09:10:37.750 回答