use*_*821 5 github maven maven-release-plugin github-actions
我想知道我们是否可以在关闭里程碑后使用 Github Actions 来提交发布。
mvn release:prepare && mvn release:perform所以我之前所做的就是在本地计算机上提交,然后推送它。然而,通过 Github Actions,我希望能够从工作流程本身自动执行发布提交。
到目前为止,所有使用 Maven 和 Github Actions 的教程都仅限于运行clean install或测试检查或部署,但从未发布。
有人有使用 Github Actions 设置 Maven 版本的经验吗?谢谢
小智 9
添加工作流_dispatch事件后,您现在可以在手动触发的 GitHub Actions 上创建工作流。此外,您还可以指定输入,GitHub 将其显示为 UI 中的表单元素。这在使用 Maven 削减版本时特别有用。
releaseVersion和developmentVersion。on:
workflow_dispatch:
inputs:
releaseVersion:
description: "Default version to use when preparing a release."
required: true
default: "X.Y.Z"
developmentVersion:
description: "Default version to use for new local working copy."
required: true
default: "X.Y.Z-SNAPSHOT"
Run Code Online (Sandbox Code Playgroud)
releaseVersion和来发布 Maven developmentVersion。jobs:
release:
runs-on: ubuntu-latest
steps:
# Checkout source code, set up Java, etc. Then...
- name: Configure Git User
run: |
git config user.email "actions@github.com"
git config user.name "GitHub Actions"
- name: Maven Release
run: mvn release:prepare release:perform -B -s .maven_settings.xml -DreleaseVersion=${{ github.event.inputs.releaseVersion }} -DdevelopmentVersion=${{ github.event.inputs.developmentVersion }}
env:
CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }}
CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }}
Run Code Online (Sandbox Code Playgroud)
您必须.maven_settings.xml在项目的根目录中保存一个文件,其中包含username和 ,password以便在将工件下载或上传到repositories和distributionManagement部分中配置的存储库之前进行身份验证。
<settings>
...
<servers>
<server>
<id>server.id</id>
<username>${env.CI_DEPLOY_USERNAME}</username>
<password>${env.CI_DEPLOY_PASSWORD}</password>
</server>
</servers>
</settings>
Run Code Online (Sandbox Code Playgroud)
您可以在项目的设置页面上配置机密 CI_DEPLOY_USERNAME和。CI_DEPLOY_PASSWORD
下面是 Maven 发布工作流配置的完整示例,供参考。
| 归档时间: |
|
| 查看次数: |
7627 次 |
| 最近记录: |