web-dev-qa-db-ja.com

Jenkins:Pythonスクリプトと引数

注:ジェンキンスをこれまでに使用したことがない

私はpythonスクリプトを実行して3つの引数を取得します。ターミナルを介して次のように使用します。

python script.py arg1 arg2 arg3

基本的にこのスクリプトを利用し、3つの引数が提供された後にそれを実行する新しいjenkinsジョブを作成したいと思います。しかし、私はそのような仕事を実行する例を見つけることができません。スクリプトはgithubリポジトリに配置されるため、そのパスはhttps://github.com/username/repo/folder/script.pyのようになります。これが私がしたことです:1.私は先に進み、新しいジョブNew Item --> Freestyle Projectを作成しました。 2. GitBucket-> Githubprojectの下で、パスを追加しました:https://github.com/username/repo/ 3.次に、This build is parameterizedをクリックして、可能なオプションである3つの選択パラメーターを追加しました。 4.次に、ビルドの下で実行シェルを選択し、コマンドpython script.py $param1 $param2 $param3を指定しました

私の質問は、ステップ2で、スクリプトへのパスをhttps://github.com/username/repo/folder/script.pyとして指定する必要があるのか​​、それとも現在の方法で正しいのかということです。

提案/チュートリアルへのリンクは役に立ちます

2
Beginner

必要なのが特定のファイルだけの場合-シェルスクリプトのみを使用できます enter image description here

#!/bin/bash

wget -q -O sample.py https://raw.githubusercontent.com/Alexhha/hello-world/master/python/sample.py
/usr/bin/python sample.py ${ARG1} ${ARG2} ${ARG3}

sample.pyそれは単なるスクリプトです

import sys

print 'Sample output: %s, %s, %s' % (str(sys.argv[1]), str(sys.argv[2]), str(sys.argv[3]))

サンプルビルドを実行する

enter image description here

次のようなものが得られます

enter image description here

スクリプトはプライベートリポジトリにあります

スクリプト内でクローンを作成していて、プロンプトを回避する必要がある場合は、トークンをクローンURLに追加できます。

git clone https://<token>@github.com/owner/repo.git

または

git clone https://<token>:[email protected]/owner/repo.git

注:トークンはパスワードとして扱う必要があります。クローンURLにトークンを配置すると、Gitはそれを.git/configファイルにプレーンテキストで書き込みます。残念ながら、これはHTTPパスワードでも発生します。

1
ALex_hha

必要なことは、実行シェルダイアログにコマンドを追加することだけです。他の設定は私には適切に聞こえます。 Jenkinsジョブのコンソール出力には何がありますか?

Gitリポジトリの場所を追加し、システムがそのリポジトリに適切にアクセスできる場合、またはJenkinsジョブで認証情報を設定した場合は、Pythonスクリプトへのローカルパス。

Jenkinsインストールは、各ジョブのローカルワークスペースコンテナーから実行されます。

シェルを実行:

/usr/bin/python ./folder/script.py $param1 $param2 $param3
0
Ligemer