如何从 GitHub 包下载最新的 jar 文件并使用 Maven GitHub 操作部署到云中心?

Posted

技术标签:

【中文标题】如何从 GitHub 包下载最新的 jar 文件并使用 Maven GitHub 操作部署到云中心?【英文标题】:How to download the latest jar file from GitHub packages and deploy to cloud hub using Maven GitHub actions? 【发布时间】:2021-12-19 17:58:09 【问题描述】:

我已经为一个简单的 Hello-world mule 应用程序创建了一个 GitHub 包并使用 GitHub 操作创建了版本。

name: GitHub Packages and Releases using Java CI with Maven
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
jobs:
  
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 11
      uses: actions/setup-java@v1
      with:
        java-version: 11
    - name: Build with Maven
      run: mvn -B package --file pom.xml
      
    
  Publish:
    needs: build
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: '11'

      - name: Create GitHub Release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: $secrets.GIT_TOKEN 
        with: 
          tag_name: v$github.run_number

现在我想从 GitHub 包中下载 jar 文件或从 Releases 中提取 zip 文件夹(源代码.zip)并使用 Maven GitHub 操作将 jar 文件部署到云中心。

提前致谢

【问题讨论】:

我认为您不能在单独的作业之间重用文件系统,但您可以创建一个复合操作来保留在build 步骤中生成的文件,以便它们稍后可用于@ 987654324@ @davidgamero 感谢您的回复。我们可以从 github 包中选择最新的 jar 并部署到 cloudhub 上的生产环境吗?如果是,请告诉我如何通过 maven github 操作进行选择? 如果您的意思是添加推送包的身份验证,您也许可以只添加一个运行mvn clean package deploy -DmuleDeploy 的步骤。我不确定这是否会推动 .jar github.com/Sushma-GitRepo/Latest_Deploy/packages/1068097 --- 这是包中的jar文件(右侧),我想通过github操作部署这个jar 【参考方案1】:

您不能使用 Mule Maven 插件将现有 jar 发布到 CloudHub。它只支持发布使用 Maven 构建的内容。您可以改用Anypoint CLI。例如,使用 command runtime-mgr cloudhub-application deploy 您可以将 jar 文件部署到 CloudHub。

【讨论】:

谢谢@aled。但是对于 CI/CD,我们构建工件(jar 文件)并使用 github 操作部署到 cloudhub,同样,我正在寻找从 github 包下载 jar 文件并使用 github 操作部署到 cloudhub。有没有可能? 你是在寻找下载release jar的方法吗? 是的,我想下载 jar 并创建一个工作流来将此 jar 文件部署到 cloudhub

以上是关于如何从 GitHub 包下载最新的 jar 文件并使用 Maven GitHub 操作部署到云中心?的主要内容,如果未能解决你的问题,请参考以下文章