Gitlab CI 保存输出文件

问题描述 投票:0回答:1

在我的 Gitlab CI 管道中,我正在从 Web 下载数据集,并且需要将数据存储在运行 Gitlab 运行程序的计算机内。在那之前,我尝试使用 Gitlab Artifacts,但由于数据集相当大(20GB),因此将输出存储在 Gitlab 服务器内并不是一个合适的选择。

在我的运行程序中,我定义了卷,但它没有将文件保存在我的服务器的目录中。

[[runners]]
  .....
  [runners.docker]
    tls_verify = false
    image = "pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel"
    runtime = "nvidia"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/usr/bin/nvidia-smi:/usr/bin/nvidia-smi", "/cache", "/full_path/dist/pedestrian:/home/ci-artifacts"]
    shm_size = 300000
    network_mtu = 0

gitlab ci文件如下:

build:
  stage: build
  tags:
    - runner
  script:
    - pwd  
    - poetry build -v
    - mkdir -p dist/pedestrian/
    ......
    - cp -r /full_path/dist/pedestrian /home/ci-artifacts

如有任何帮助,我们将不胜感激。谢谢你。

docker gitlab gitlab-ci gitlab-ci-runner
1个回答
0
投票
  1. 您确定只有一个带有标签
    runner
    的跑步者并且该跑步者触发了该作业吗?
  2. 确保您对文件夹拥有正确的 Linux 权限
    /full_path/dist/pedestrian
  3. 添加
    CI_DEBUG_TRACE: true
    以查看有关其复制位置的更多详细信息。
  4. 复制后添加
    sleep 9000
    ,然后SSH到运行者的节点,查看文件或文件夹是否存在。
© www.soinside.com 2019 - 2024. All rights reserved.