Gradle 当通过GitHub操作向Sonatype Nexus发布发布时,如何使用GPG密钥

Gradle 当通过GitHub操作向Sonatype Nexus发布发布时,如何使用GPG密钥,gradle,github-actions,sonatype,Gradle,Github Actions,Sonatype,我已经通过Sonatype在Maven中央存储库中设置了一个存储库,现在我正在尝试创建一个GitHub操作,当我在GitHub上创建一个新版本时,它将自动发布一个更新的版本 我知道如何使用on:子句创建触发器并运行gradlew publish任务,但我不知道如何向GitHub提供它所需的GPG加密密钥 我该怎么做 到目前为止,我的进步很大。 总结: GitHub操作基本上是一个运行命令的容器,您可以在项目中将密钥定义为机密,然后将其导入GitHub操作工作流 以下是可在项目中用于将生成的工件发

我已经通过Sonatype在Maven中央存储库中设置了一个存储库,现在我正在尝试创建一个GitHub操作,当我在GitHub上创建一个新版本时,它将自动发布一个更新的版本

我知道如何使用
on:
子句创建触发器并运行
gradlew publish
任务,但我不知道如何向GitHub提供它所需的GPG加密密钥

我该怎么做

到目前为止,我的进步很大。

总结

GitHub操作基本上是一个运行命令的容器,您可以在项目中将密钥定义为机密,然后将其导入GitHub操作工作流

以下是可在项目中用于将生成的工件发布到Sonatype存储库的步骤:

  • 在终端窗口中,您可以通过电子邮件搜索密钥ID:
    gpg——列出密钥user@example.com
  • 将密钥导出为Base64:
    gpg--将密钥导出为您的| ID |此处| Base64>private.key
  • 在Github项目中,创建一个名为GPG_Secret_KEY(例如)的新密钥,并粘贴密钥的Base64内容()
  • 在您的工作流
    .yml
    文件中,包括从刚刚定义的密钥导入密钥的步骤,如下例所示:

注意:您的GPG密钥不能受密码保护。

您可以将GPG密钥作为github机密添加到存储库中,以便在工作流中使用。我这样做了,但我不知道如何使用它。
- name: Configure GPG Key
  run: |
    mkdir -p ~/.gnupg/
    printf "$GPG_SIGNING_KEY" | base64 --decode > ~/.gnupg/private.key
    gpg --import ~/.gnupg/private.key
  env:
    GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}