私は次のように多かれ少なかれ、ローカル、リモートサーバーからファイルを取得しますgitlab-ci
仕事を実行しています:gitlab-CI:ダイナミックアーティファクト名
retrieve_docs:
stage: fetch_docs
image: debian:jessie
script:
- ssh [email protected]$SERVER /perform/some/work
- INSTFILE=$(ssh [email protected]$SERVER bash -c 'find /root -iname "somepattern*" | tail -n 1 | xargs readlink -f')
- echo "Will retrieve locally $INSTFILE"
- scp [email protected]$SERVER:$INSTFILE .
- BASEFILE=$(basename $INSTFILE)
- mv $BASEFILE downloads/
artifacts:
name: $BASEFILE
paths:
- downloads/
上記ジョブ定義がしかし、動作するようには思えません、ファイル名を指定するときにBASEFILE
変数が空としてレンダリングされるためです。
ダイナミックアーティファクト名を使用する方法はありますか?
このアーティファクトが私の(空の/追跡された)
downloads
フォルダにコピーされない理由はありますか?上記のプロセスは、実際にはローカルで
.zip
ファイルをフェッチします。各ジョブで古いアーティファクトを削除し、最新のアーティファクト/ zipファイルのみを保持する方法があります(ただし、1週間の有効期限を設定しています)。例えば