【问题标题】:Multiple github actions defined in repository fails存储库中定义的多个 github 操作失败
【发布时间】:2020-07-28 17:15:37
【问题描述】:

我面临的问题是 Packer 构建失败。

这是我得到的错误: 在“/home/vsts-agent/actions-runner/_work/repo/repo/.github/actions/packer-build”下找不到“action.yml”、“action.yaml”或“Dockerfile”。您是否忘记在运行本地操作之前运行操作/结帐?

jsonnet 步骤工作正常,它们也来自自定义操作。这两个操作都在存储库中正确定义。当我在 jsonnet 步骤后重新运行结帐时,打包程序构建工作......但是,我丢失了 jsonnet 文件。

有没有人找到解决这个问题的方法?这是我的配置

name: Build
on: push
jobs:
  Build_Image:
    name: build
    runs-on: [self-hosted, tsa]
    steps:      
      - uses: azure/login@v1.1
        with:
          creds: ${{ secrets.AZURE_CREDENTIALS }}
      - uses: azure/get-keyvault-secrets@v1.0
        with:
          keyvault: scotty-packer-nonprod
          secrets: "MANAGED-IMAGE-SUBSCRIPTION-ID"
        id: morePipelineSecrets          
      - uses: azure/get-keyvault-secrets@v1.0
        with:
          keyvault: github-actions-nonprod
          secrets: "RESOURCE-GROUP, SUBSCRIPTION-NAME, SUBSCRIPTION-ID, TENANT-ID, RG-CLIENT-ID, RG-CLIENT-SECRET"
        id: pipelineSecrets
      - name: checkout
        uses: actions/checkout@v2       
      - name: jsonnet render template
        uses: ./.github/actions/jsonnet
        with:
          file: packer/ubuntu1804.jsonnet
          output_file: packer/ubuntu1804.json
      - name: jsonnet render vars
        uses: ./.github/actions/jsonnet
        with:
          file: packer/packer-vars.jsonnet
          output_file: packer/packer-vars.json  
      - name: Packer build
        uses: ./.github/actions/packer-build

目录结构

repo
  -.github
    -actions
      -jsonnet
         Dockerfile..etc
      -packer-build
         Dockerfile..etc
    -workflows
      -build.yml

【问题讨论】:

    标签: github continuous-integration continuous-deployment github-actions continuous-delivery


    【解决方案1】:

    这很奇怪——这两个问题不应该联系在一起。更奇怪的是,在两次检查代码时它可以工作。您的 packer-build 文件夹中有一个 actions.yml?

    尽管如此,可能的解决方法:使用操作/上传操作来保存您的文件。

    像这样:

    - uses: actions/upload-artifact@v2
      with:
        name: Upload Jsonnet File
        path: packer/ubuntu1804.json
    

    尝试在新作业中访问您的第二个不同操作,并使用操作/下载工件操作获取文件。

    【讨论】:

    • 打算回来跟进。这就是我最终做的。必须制作两个单独的作业并从 jsonnet 作业上传工件,然后在打包机作业中使用它们。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 2021-03-24
    • 2021-10-03
    相关资源
    最近更新 更多