LoginSignup
32
30

More than 5 years have passed since last update.

jenkinsでファイルをアップロードできるジョブを作る

Posted at

jenkins氏にファイルを渡して、サーバに上げてもらうという物を作ります。
Webの画面でフォームからファイルをアップロードできるので、ユーザフレンドリな感じでいけるのではという試み。

ビルドのパラメータでファイルを選ぶ

ジョブ作成時に、実行時にファイルをアップロードさせられるようにできます。
capt2.PNG

  • 上げるファイルによらず、指定したファイル名になります。
  • 例の場合だとfoobar.csvというファイルでワークスペースに保存されます。
  • ファイル名に日本語は使えないっぽい。
  • パラメータを増やすことで複数ファイルも可。
  • ファイル指定なしで実行した場合、空ファイルができます。

ジョブ実行でワークスペースにファイルが保存されるので、あとはそれをシェル実行で転送すれば良し!
なんですが、空ファイルができるので全部転送すると空で上書きされてしまうという事態になります。
これがめんどくさい。

空ファイルを避けて転送

ジョブのビルド時にコマンドが実行できるので、それでcpなりscpなりでワークスペースのファイルを送ります。

capt3.PNG

アップされず実行された場合に備えて、ようは空のファイルは避ければ良い。
こんな感じで実行させます。

for csv in *.csv
do
  if [ $(wc $csv | awk '{print $1}') -ne 0 ]
  then
    echo copy $csv
    #cp $csv 転送先のディレクトリ
  else
    echo empty $csv
    rm $csv
  fi
done

これでアップしたファイルのみ処理される!

あとはいい感じにアレすれば万事収まるのではないかと思われます。
サンキュー!jenkins氏!

32
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
30