CloudBees Jenkins サービスを使用して、SBT ベースの scala プロジェクトの毎晩のスナップショットを作成し、Sonatype OSS Maven リポジトリに公開したいと考えています。SBT には 、発行資格情報をビルドに提供する2 つの方法があります。1 つは資格情報を .sbt ファイル (暗号化されていない、ナッチ) にインラインで保持し、もう 1 つは外部プロパティ ファイルへのハードコードされたパスを使用します (悲しいことに、暗号化されていません)。
CloudBees には、エージェントを構築するための構成ファイルを提供するメカニズムがありますが、この場所へのパスを自分の にハード コードしたくありません。また、SBT にコマンド ラインからファイルbuild.sbt
を読み取るように指示する方法も見つかりません。一番近いのはシステム プロパティ.sbt
を設定することでしたが、残念ながらこれは失敗しました。構成ファイルの場所が読み取り専用でマウントされており、SBT がコンパイル済みのクラス ファイルにこの場所を使用しているためです。sbt.global.base
Damien Lecanは、一連のファイルをビルド実行プログラムのディレクトリにコピーするビルド前のスクリプトを実行することで、この問題を巧妙に回避する方法を考え出しました。この解決策は受け入れられますが、ビルドが一時的な状態に依存するようになり、別の潜在的な障害点が追加されるため、不快です。.sbt
$HOME/.sbt
ビルド時に読み取り専用のプライベート認証情報にアクセスできる SBT プロジェクトを公開するにはどうすればよいですか?