首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Github操作:多个作业单版本

Github操作:多个作业单版本
EN

Stack Overflow用户
提问于 2022-04-02 06:29:10
回答 2查看 836关注 0票数 1

我有两份工作在吉顿跑。第一项工作是构建android应用程序。第二个用于构建zip文件的文件。我想把apk和zip文件放在同一个版本中。但是,在apk发布到发行版后,zip文件不会发布到发行版中。显示的错误是:

Validation Failed {"resource":"Release","code":"already_exists","field":"tag_name"}

buid.yml

代码语言:javascript
运行
复制
name: Build Process

on:
 push:
  tags:
   - v*

jobs:
 Build_Android:
if: "!contains(github.event.head_commit.message, 'skip-android')"
name: Build APK
runs-on: ubuntu-latest

steps:
  - uses: actions/checkout@v2
  - name: Setup Java
    uses: actions/setup-java@v2
    with:
      distribution: "zulu"
      java-version: "12.x"

  - name: Setup Flutter
    uses: subosito/flutter-action@v1
    with:
      channel: "stable"

  - name: Get Packages
    run: flutter pub get

  - name: Build APK
    run: flutter build apk --split-per-abi --release

  - name: Create Github Release
    uses: ncipollo/release-action@v1
    with:
      artifacts: "build/app/outputs/flutter-apk/*.apk"
      replacesArtifacts: false
      token: ${{ secrets.TOKEN }}

Build_Windows:
if: "!contains(github.event.head_commit.message, 'skip-windows')"
name: Building zip
runs-on: windows-latest

steps:
  - uses: actions/checkout@v2
  - name: Setup Java
    uses: actions/setup-java@v2
    with:
      distribution: "zulu"
      java-version: "12.x"

  - name: Setup Flutter
    uses: subosito/flutter-action@v1
    with:
      channel: "stable"

  - name: Get Packages
    run: flutter pub get

  - name: Enable windows build
    run: flutter config --enable-windows-desktop

  - name: Build Artifacts
    run: flutter build windows --release

  - name: Archive Artifacts
    uses: thedoctor0/zip-release@master
    with:
      type: "zip"
      filename: AppName-${{github.ref_name}}-windows.zip
      directory: build/windows/runner/Release

  - name: Create Github Release
    uses: ncipollo/release-action@v1
    with:
      artifacts: "build/windows/runner/Release/AppName-${{github.ref_name}}-windows.zip"
      replacesArtifacts: false
      token: ${{ secrets.TOKEN }}

任何帮助都是非常感谢的!

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2022-04-02 09:38:03

错误说:

Release with this tag name already exists

它来自你的最后一步:

ncipollo/release-action@v1

默认情况下,此操作似乎总是试图创建一个新版本(“此操作将创建GitHub版本”),但根据其文档这里,您可以通过添加以下内容来更改该行为:

allowUpdates = "true"

代码语言:javascript
运行
复制
- name: Create Github Release
  uses: ncipollo/release-action@v1
  with:
    artifacts: "build/windows/runner/Release/AppName-${{github.ref_name}}-windows.zip"
    replacesArtifacts: false
    token: ${{ secrets.TOKEN }}
    allowUpdates: true
票数 2
EN

Stack Overflow用户

发布于 2022-11-28 23:41:59

当我想在同一个版本中发布windows和linux二进制文件时,我遇到了类似的情况。最后,我得出结论,我应该通过组织就业流动来解决这个问题。我更改了我的yml文件

  • 对于每个部署,我都有一个单独的任务,它只生成它自己的工件(例如。( Windows_Publish和Linux_publish作业)
  • 这些任务中的每一个,都会保持它所生成的工件。但是所有作业都使用相同的名称和路径。所以所有的文物都会聚集在一个地方。
  • 我有第三个任务(比如Deploy_Artifacts作业),它可以还原所有这些工件,并简单地同时部署它们。
  • 注意,Deploy_Artifacts作业必须同时依赖于Windows_Publish和Linux_publish作业。(需要: Deploy_Artifacts,Windows_Publish)

我使用动作/上传-工件@主用于持久化和还原工件,[见]和ncipollo/ restoring @v1将工件发送到发布。[这个]是我最后想出的yml文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71715372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档