2016-07-06 14 views
3

私はジェンキンスにとって非常に新しく、私は自分の仕事を構築するためにカールを使用しようとしています。このカールに加えて、Jenkinsに私のワークスペースの特定のディレクトリに置かれるべきファイルを送っていきたいと思います。私はたくさんのグーグル・グーグルをしていますが、解決策につながる明確な文書を見つけることができないようです。ガイドしてください。 GoogleやStackOverflowの他の記事も見ていますが、探しているものが見つかりませんでした。ファイルをjenkinsにアップロードしてビルドに使用するには?

カール-X POST JENKINS_URL /仕事/ JOB_NAME /構築\ --form file0 = /ホーム/ abc.xml \ --form JSON = '{ "パラメータ":[{ "名":」/workspace "、" file ":" file0 "}]} '

私もこれを試しましたが、うまくいかなかったようです。ジェンキンスファイルパラメータヘルプから

+0

何が問題なのですか?あなたはどんなエラーを受けますか?JenkinsはファイルをWORKSPACEに保存します。それをコピーする必要があります。 – Jayan

+0

実際に私はワークスペースでファイルを見つけることができませんでしたので、アップロードしたかどうかわかりません!また、 "name": "/ workspace"、正しいのでしょうか?私はファイルパラメータを取るために私の仕事を構成する必要がありますか?私はすでにそれをやったことがあります、私は場所のファイルの場所として/ワークスペースを設定ファイルのパラメータに入れました。 –

+0

curl -X POST url/jobname/build --form file0 = sample.xml -F json = '{"パラメータ":[{"name": "sample.xml"、 "file": "file0"}}} 'nullポインタ例外を取得します –

答えて

2

アップロード ファイル( "JAXB-RI/data.zip" などなど)に置かれるワークスペース内の相対位置を、指定

アップロードされたファイルの場所は、ワークスペースに関連しています。 スクリプトでコピー/移動する必要があります。名前の部分はジョブのファイル引数の名前です。ファイル名ではありません

ここはスクリプトのものです。ジョブにRECORDS_LISTというファイルパラメータがあります。ユアーズ

curl -X POST JENKINS_URL/job/JOB_NAME/build \ 
    --form file0=/home/abc.xml \ 
    --form json='{"parameter": [{"name":"YOUR_JOBS_FILE_ARGUMENT_NAME", "file":"file0"}]}' 

可能性があり

curl -X POST http://localhost:8080/job/builder/build \ 
      --form [email protected]:/1.txt \ 
      --form json='{"parameter": [{"name":"RECORDS_LIST", "file":"attachedfile"}]}' 

ことがcommand line apiは、[OP自身の答えを見た後編集]

java -jar jenkins-cli.jar -s http://localhost:8080/ build builder \ 
     -p YOUR_JOBS_FILE_ARGUMENT_NAME=/home/abc.xml 

をアップロードしたファイルを扱うことができるジェンキンスのでご注意ください

アラート

curlコマンドのファイル名のパス部分には '@'が付きます(パスの前に@があることに注意してください)。ジェンキンクリスはそれを必要としません。このエラーは、発生すると追跡が困難になります。

+0

あなたの返事ありがとうございます。私はYOUR_JOBS_FILE_ARGUMENT_NAME以外のほとんどを理解しました。ジェンキンズを開いてパラメータを取るようにジョブを設定するときに、ファイルパラメータを選択してファイルの場所と説明を渡すと、わかったことを説明します。ファイルの場所はYOUR_JOBS_FILE_ARGUMENT_NAMEの意味ですか?あなたが指定したように上記のコマンドに従うと、Nullポインタ例外が発生する理由は何ですか?申し訳ありませんが、私は非常に基本的な質問をしていますが、ジェンキンスは私が昨日私の人生で初めて触ったものです。ご協力ありがとうございました。 –

+0

問題を解決しました。ご協力いただきありがとうございます。 –

+0

お役立ち情報ご参考までに回答 – Jayan

0

Jayanが言ったことはすべて正しいです。私はちょうど私のような初心者のために、それをよりシンプルにしています。 覚えておいてください: 私たちのカールURLでは@記号が非常に重要です。また、YOUR_JOBS_FILE_ARGUMENT_NAMEは、ファイルの名前と拡張子とともにファイルを保存するパスです。ファイルパラメータのファイル位置にabcd.xmlを置くと、ワークスペースのルートにabcd.xmlが保存されます。フォルダxyzに配置する場合は、ファイルの場所をxyz/abcd.xmlにする必要があります。ジーンキンでジョブを設定し、同じものをカールで使用するときは、ファイルパラメータのFilelocationを使用します。ですから、ジェンキンスにXYZ/abcd.xmlにabc.xmlを置きたい場合、などのコマンドを使用してください:

curl -X POST JENKINS_URL/job/JOB_NAME/build \ 
    --form [email protected]/home/abc.xml \ 
    --form json='{"parameter": [{"name":"xyz/abcd.xml", "file":"file0"}]}' 

これは非常に基本的なものですが、私がつまずいたところ、それはあります。

関連する問題