是否可以使用GitLab CI将文件写入计算机(本地驱动器)?

2024-03-29 12:46:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试运行一个Python脚本,使用GitLab CI,它将创建一个Pandas数据帧,并在我的机器上将其作为.csv文件写入

作为一个测试脚本,我创建了以下文件:

import datetime
import pandas as pd
import numpy as np

current_time = datetime.datetime.now()
print(f'Hello.\nCurrent date/time is:{current_time}')

df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
print(df)

df.to_csv('C:\\<USER_PATH>\\Desktop\\df_out.csv', index = False)

这应:

  • 打印当前时间
  • 生成一个包含10行4列的数据框,该数据框随机填充0到100之间的值
  • 打印所述数据帧
  • 将数据帧保存到本地驱动器

执行CI管道时,我没有收到任何错误,前3个步骤成功运行: Pipeline execution screenshot

我有一个.gitlab-ci.yml文件,其中包含以下内容:

stages:
    - build

build:
    stage: build
    image: python:3.6
    script: 
        - echo "Running python..."
        - pip install -r requirements.txt
        - python do_stuff_2.py

以及requirements.txt文件:

numpy
pandas

看起来我已经正确设置了所有内容,因为时间正在显示,print函数返回数据帧。但是,不会将任何文件写入指定位置。当我在本地运行脚本时,一切正常,数据帧以df_out.csv的形式保存在我的桌面上

我正在Windows10机器上使用Python3.6

在GitLab的CI管道中是否有其他方法可以做到这一点


Tags: 文件csv数据importbuild脚本机器ci
1条回答
网友
1楼 · 发布于 2024-03-29 12:46:01

您需要在本地计算机上install运行gitlab

如果不能,可以使用artifact:关键字将脚本结果上传到gitlab服务器上,然后从UI下载。您的gitlab-ci.yml将如下所示:

stages:
    - build

build:
    stage: build
    image: python:3.6
    script: 
        - echo "Running python..."
        - pip install -r requirements.txt
        - python do_stuff_2.py
    artifacts: 
        paths:
        - df_out.csv

您的代码必须更改为:

df.to_csv('df_out.csv', index = False)

相关问题 更多 >