簡體   English   中英

將 github 操作中的工件添加到版本

[英]Add artifact from github actions to releases

所以我試圖在我的 yml 文件中為生成的工件實現一個發布部分,我自己解釋說:我想用我的 yml 文件在我的發布中添加一個工件。

這是正在為 android 應用程序處理的唯一 yml 文件:

name: Android CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - run: mkdir -p app/build/outputs/apk/release
      - run: echo hello > app/build/outputs/apk/release/app-release-unsigned.apk
      - uses: actions/upload-artifact@v2
        with:
          name: my-artifact
          path: app/build/outputs/apk/release/app-release-unsigned.apk
      - name: set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - name: Permition Gradlew
        run: chmod +x gradlew
      - name: Build Gradlew
        run: ./gradlew assembleRelease



不要使用actions/upload-artifact@v2 Action,而應使用此處描述的actions/upload-release-asset@v1示例。 我已經修改了示例以匹配您的特定場景:

on:
  push:
    # Sequence of patterns matched against refs/tags
    tags:
    - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

name: Upload Release Asset

jobs:
  build:
    name: Upload Release Asset
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Build project
        run: |
          mkdir -p app/build/outputs/apk/release
          echo hello > app/build/outputs/apk/release/app-release-unsigned.apk
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: false
          prerelease: false
      - name: Upload Release Asset
        id: upload-release-asset 
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing its ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps 
          asset_path: app/build/outputs/apk/release/app-release-unsigned.apk
          asset_name: my-artifact.apk
          asset_content_type: application/apk # not sure about this bit, double-check this

您可以根據需要使用不同的路徑重復最后一步,以便將更多工件添加到版本中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM