jenkins氏にファイルを渡して、サーバに上げてもらうという物を作ります。
Webの画面でフォームからファイルをアップロードできるので、ユーザフレンドリな感じでいけるのではという試み。
ビルドのパラメータでファイルを選ぶ
ジョブ作成時に、実行時にファイルをアップロードさせられるようにできます。
- 上げるファイルによらず、指定したファイル名になります。
- 例の場合だとfoobar.csvというファイルでワークスペースに保存されます。
- ファイル名に日本語は使えないっぽい。
- パラメータを増やすことで複数ファイルも可。
- ファイル指定なしで実行した場合、空ファイルができます。
ジョブ実行でワークスペースにファイルが保存されるので、あとはそれをシェル実行で転送すれば良し!
なんですが、空ファイルができるので全部転送すると空で上書きされてしまうという事態になります。
これがめんどくさい。
空ファイルを避けて転送
ジョブのビルド時にコマンドが実行できるので、それでcp
なりscp
なりでワークスペースのファイルを送ります。
アップされず実行された場合に備えて、ようは空のファイルは避ければ良い。
こんな感じで実行させます。
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氏!