問題タブ [maven-gpg-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Maven を使用して GPG でファイルに自動署名しようとしているときにエラーが発生しました
プロジェクトを Maven 中央リポジトリにデプロイしようとしていますが、問題を解決できません Error:Sources Validation
。私は gpg をインストールし、手順を実行しました:
GPG キーとApache Maven 署名済みコンポーネントの追加
実行しようとするとclear deploy -e
、次のエラーが表示されます。
私pom.xml
には次の設定があります:
また、いくつかのプロパティをに追加しましたsettings.xml
:
しかし、それは役に立ちません。
どうすればこの問題を解決できますか?
maven - maven-gpg-plugin で使用するときに gpg-agent にパスワードを要求させる方法
得られたアーティファクトに gpg キーで署名したいプロジェクトがいくつかあります。以前は gpg 1.x (つまり古いもの) を使用していましたが、このセットアップでは、~/.m2/settings-security.xml
.
私はそれが好きではありません(しかし、私が書いた時点では、それは私が実行することができたセットアップでした).
最近、パスワードを保存せずにすべてを実行できるかどうかを調べ始めました。だから今、~/.m2/settings.xml
私はこのようなものを持っています (このプロファイルはアクティブです):
pom.xml には、この基本的な構成を持つ maven-gpg-plugin があります。
Ubuntu 16.04 システムでこれを行うと、gpg-agent (gpg2 の一部) と gnome-keyring-daemon は最初の使用後にパスワードを記憶します。
したがって、このシステムでは通常、すでに gpg-agent が実行されている状況にありmvn clean verify
、プロジェクトで行う場合、パスワードは gpg-agent で使用できるため、質問をせずにアーティファクトに署名します。
ここまでは順調ですね。
ソフトウェアを完全にクリーンにビルドするために (また、一部のプロジェクトでは、すべてのツールが正しくインストールされていることを確認するためにも)、別の Docker 環境からソフトウェアを頻繁にビルド/デプロイします。
このような「非常にクリーンな」docker 環境では、起動時に gpg-agent が存在せず、単純に実行mvn clean verify
すると、署名されていないビルドが生成されることがわかりました。
パスワードを入力する必要があったのにプロンプトが表示されなかったため、私が知る限り。
この時点で、1 つの回避策しか見つかりませんでしgpg2 --sign pom.xml
た。それは、gpg-agent を起動し、パスワードを入力するダイアログが表示されるため、ソフトウェアをビルドする前に何かを行うことです。
私が望むのは、簡単にできるようにセットアップを変更することですmvn verify
。最初の署名試行でパスワード ダイアログがポップアップし、パスワードが gpg-agent にキャッシュされます。
基本的に私の質問は、これを行う方法です。以上: これを設定する適切な方法は何ですか?
release - Gitlab-ci サイン Maven アーティファクト
GITLAB で Maven プロジェクトの CI をセットアップしています。Maven Central に公開する前に、jar に署名する必要があります。( https://gitlab.com/awe-team/ade )
gnuPgp でキー ペアを生成し、公開キーを gitlab プロファイルに追加します。
秘密鍵のコピーを gitlab-ci ワークフォルダーにコピーしますか?
エラー get は、キーが見つからないというものです。
私の .gitlab-ci.yaml は行に見えます:
jar のリリースを作成し、それに署名して maven central を公開することを期待していました。