在Gitlab CI中,您可以从触发的作业中“拉出”工件吗?

时间:2019-12-20 19:30:31

标签: gitlab gitlab-ci

我在Sub movedata() Dim rowcounter, colcounter, rowcounter2 As Long colcounter = 3 rowcounter2 = 1 For rowcounter = 1 To Cells(Cells.Rows.Count, 1).End(xlUp).Row If Cells(rowcounter, 1).Value2 <> "" Then Cells(rowcounter2, colcounter).Value2 = Cells(rowcounter, 1).Value2 colcounter = colcounter + 1 Else rowcounter2 = rowcounter2 + 1 colcounter = 3 End If Next rowcounter End Sub 中有一份工作,它触发了一个外部管道来生成工件(在这种情况下,是徽章)。

我希望能够获得这些工件并将它们作为工件添加到项目中的桥作业(或其他作业)中,以便我可以引用它们。

我触发的工作如下:

gitlab-ci.yml

我想要这样的东西:

myjob:
  stage: test
  trigger: 
    project: other-group/other-repo
    strategy: wait

Gitlab有一个endpoint that can be used for the badge url,可从项目的最新管道/作业中下载工件

myjob: stage: test trigger: project: other-group/other-repo strategy: wait artifacts: # how do I get artifacts from the job(s) on other-repo? badge.svg

是否可以从触发的作业中获取工件并将其添加到我的项目中?

2 个答案:

答案 0 :(得分:0)

artifacts块用于处理当前作业中的归档工件。为了从其他作业中获取工件,您可以在script部分中进行处理。有了该工件后,就可以照常在artifacts块中正常归档它。

您可以使用wget从其他项目中下载工件,如here所述

答案 1 :(得分:0)

我知道有点晚了,但也许这会有所帮助。
将此添加到您的工作中。它告诉工作它需要来自特定项目的工件。 (您需要是项目的所有者)

needs:    
    - project: <FULL_PATH_TO_PROJECT> (without hosting website)
      job: <JOB_NAME>
      ref: <BRANCH>
      artifacts: true