无论如何要在 github 操作工作流中签署 maven 包?

Bay*_*ria 9 continuous-integration github maven maven-gpg-plugin github-actions

我正在运行 GitHub 操作工作流,并且在尝试运行 maven 安装时出现失败错误。在我可以安装 maven 软件包之前,我需要签名。这是我的工作流程 yml 文件:

name: Github Action

on:
  push:
    branches:
      - master
      - release/*
  schedule:
    - cron: '0 0 * * 0'
jobs:
  build:
    name: Main
    runs-on: ${{ matrix.operating-system }}
    strategy:
        matrix:
          java-version: [1.8]
          operating-system: [ubuntu-latest]
    steps:
      - name: Prepare
        uses: actions/checkout@v1
      - name: Set Up Java Development Kit
        uses: actions/setup-java@v1
        with:
          java-version: ${{ matrix.java-version }}
      - name: Maven build clean, build, test and install
        run: |
          mvn clean
          mvn install
          mvn package --file pom.xml
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

gpg: directory '/${HOME}/.gnupg' created
gpg: keybox '/${HOME}/.gnupg/pubring.kbx' created
gpg: no default secret key: No secret key
gpg: signing failed: No secret key
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  22.278 s
[INFO] Finished at: 2019-10-03T06:56:51Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-artifacts) on project core: Exit code: 2 -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

有什么方法可以使用 github 操作工作流对我们的包进行签名吗?

Sua*_*ehi 4

您将得到的最常见答案是使用samuelmeuli/action-maven-publish。该插件有两个问题 - 它将密钥文件写入主目录中的磁盘,并且不允许您最大程度地自定义 Apache Maven 命令行。

相反,您可以使用 GitHub actions Secrets 和 gpg 命令行来安装 gpg 密钥,按照如何使用 GitHub Actions 签名并发布到中央存储库 中的说明进行操作。