【发布时间】:2017-11-14 10:02:22
【问题描述】:
我正在运行一个 gitlab-ci 作业,它将从远程服务器本地获取文件,或多或少如下:
retrieve_docs:
stage: fetch_docs
image: debian:jessie
script:
- ssh $USERNAME@$SERVER /perform/some/work
- INSTFILE=$(ssh $USERNAME@$SERVER bash -c 'find /root -iname "somepattern*" | tail -n 1 | xargs readlink -f')
- echo "Will retrieve locally $INSTFILE"
- scp $USERNAME@$SERVER:$INSTFILE .
- BASEFILE=$(basename $INSTFILE)
- mv $BASEFILE downloads/
artifacts:
name: $BASEFILE
paths:
- downloads/
然而,上述作业定义似乎不起作用,因为在提供文件名时,BASEFILE 变量被呈现为空。
有没有办法使用动态工件名称?
这个工件是否也从未复制到我的(空/跟踪)
downloads文件夹中?上述过程实际上会在本地获取一个
.zip文件。有没有办法(尽管我设置了 1 周的到期时间)让每个作业删除旧的工件并只保留最新的工件/zip 文件?
【问题讨论】:
标签: gitlab gitlab-ci gitlab-ci-runner