7

ビルドサーバー (Jenkins) でジョブを設定して、生成された jar に自動的に署名したいと考えています。

明らかな理由から、証明書と資格情報をバージョン管理に入れたり、ジョブ構成で読み取ったりしたくありません。

理想的には、ビルドサーバーがjarを送信して署名できる、ある種の「署名サーバー」が必要です。

ドキュメントによると、Eclipse プロジェクトにはそのようなシステムがあります。しかし、彼らが使用する技術については言及されていません。

それで、「歌うサーバー」ソリューション、またはこの問題を解決する別の方法を知っている人はいますか?

4

2 に答える 2

1

既存のソリューションについてはわかりません。ただし、1 日以内に自分でソリューションを構築できると思います。

マシン A は Jenkins を実行し、共有フォルダーを持ちます。マシン B は、任意のアプリケーション/Web サーバー (Apache + PHP など) を実行し、署名キーを持っています。

Jenkins ジョブの一部として、次のアクションを実行します。a) jar を共有フォルダーにコピーする b) シェル スクリプト「wget http:// machineBURL /sign.php?filename=SomeJar.jar」を実行する

マシン B には、渡されたファイル名を取得する PHP スクリプトがあり、共有フォルダーからこのファイル名の jar を取得し、署名して同じフォルダーに戻します。

于 2012-08-23T17:43:40.377 に答える
1

Eclispe WIKI は、略して署名プロセスを文書化しました

  • pserver を使用して、scp を使用して eclipse-master-${buildId}.zip を eclipse.org 署名ステージング領域にコピーします。

<exec dir="${packtmp}" executable="scp" output="signing.txt"> <arg line="${archiveName} dev.eclipse.org:${stagingDirectory}"/> </exec>

  • 署名サーバーで署名スクリプト /usr/bin/sign を呼び出します。

<exec dir="." executable="ssh" output="signing.txt" append="true"> <arg line="build.eclipse.org "cd ${stagingDirectory}; /usr/bin/sign ${stagingDirectory}/${archiveName} mail ${stagingDirectoryOutput}""/> </exec>

  • 出力ディレクトリ内の署名付きファイルについてサーバーをポーリングします。

<exec dir="." executable="scp" output="signing.txt" append="true"> <arg line="dev.eclipse.org:${stagingDirectory}/${buildId}-out/${archiveName} ${buildDirectory}/${buildLabel}"/> </exec>

于 2012-08-24T05:53:08.527 に答える