2

最近、プロジェクトを作成し、それをドッキングしました。.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 ファイルでプログラムで使用できるようになります。変数にアクセスする方法は、使用しているシェル (cmd、powershell、sh、bash) によって異なります。

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

次のような方法で使用できます。

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

プログラムにユーザー名とパスワードを正確に取得する方法は、あなた次第です。コマンド ライン引数を使用したくない場合は、stdin を介してユーザー名とパスワードを送信する小さなヘルパー スクリプトを作成できる場合があります。もう 1 つの方法は、コマンド ライン引数を追加して、プログラムのテストを容易にすることです。

于 2019-11-29T09:10:37.750 に答える