問題タブ [sbt-native-packager]
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.
playframework - sbt-native-packager: パッケージのバリアント (構成拡張など) を作成するには?
sbt-native-packager (0.7.x) を使用する Play フレームワーク (2.3.x) Java プロジェクトで、.deb および .rpm パッケージの顧客固有のバリアントを作成するにはどうすればよいですか?
バイナリ パッケージ (.deb、.zip) は一般的な設定で作成されます。一部のお客様は、仕様に応じて、デーモンのユーザー名やログの場所などの専門分野を必要としています。一般的なパッケージとその設定をそのままにして、たとえば、いくつかのオーバーライドを含む新しい構成を追加して、 でバリアントを取得したいと思いますactivator customer:packageBin
。
私がこれまでに試みたのは、sbt-native-packagerextend
のDebian
構成である新しい SBT 構成を作成することでした。したがって、私の限られた理解では、その設定とタスクを継承する必要があります。次に、たとえばを設定できるようにしたいと思いますdaemonUser in Customer := "custom"
が、それ以外の場合は既存の Debian 設定を使用します。
私build.sbt
のサンプル Play-Java プロジェクト ( activator new
› play-java
):
ご覧のとおり、eg を設定できるようになりdaemonUser in Customer
ました。Play コンソールでは、正しく適用されていることがわかりますinspect customer:daemonUser
。で .deb パッケージを作成できますactivator customer:packageBin
。ただし、パッケージはほとんど空で、アプリケーションは含まれていません。
顧客ごとに構成を追加することは正しい方法ですか、それとも私が想像していたようには機能しませんか?
サブプロジェクトなど、必要なものを達成する別の方法はありますか?
docker - SbtNativePackager "Dockerfile に EXPOSE ディレクティブが見つかりません"
私はプレイ2.2を使用しています。
これが私のbuild.sbtです
deploy:stage を実行すると、生成された Dockerfile に EXPOSE ディレクティブがありません。
生成された Dockerfile は次のとおりです。
rpm - libsigar を sbt-native-packager rpm ビルドに含める方法は?
sbt-native-packager を使用して rpm パッケージをビルドしようとしていますが、sigar バイナリを含めたいと考えています。「エラー: noarch パッケージの Arch 依存バイナリ」というエラーが表示され、packageArchitecture の設定が役に立たないようです。これを適切に構成する方法に関する提案はありますか?
現在、unmanagedDependencies を介して sigar 依存関係を追加しています。
scala - sbt native-packager RPM インストール ディレクトリの問題
RPM のインストール ディレクトリを変更しようとしました。これは機能しているように見えますが、私の RPM にはinit.d
起動スクリプトがありません。を調べてみるとtarget/universal/tmp/bin
、systemv-init が表示されません。
以下は、私のスニペット コードでbuild.sbt
、インストール ディレクトリをオーバーライドする方法を示しています。src/templates
私のscala fat jarアプリのディレクトリにカスタム開始スクリプトがあります。以下のインストール ディレクトリのオーバーライドを削除すると、RPM パッケージは問題なくインストールされ、/usr/share
. この問題に関するヘルプは大歓迎です。
sbt - タイプセーフ構成は、変数を使用して URL を解析できません
ENV 変数に基づいて PostgreSQL サーバーに接続する必要があります。ENV 変数は Docker によって設定されます。sbt-native-packager を使用して、私の akka/play プロジェクトの docker コンテナーを作成しています。
だから私は自分のconfに変数を追加しようとしました:
残念ながら、構成ファイルはもう解析できません。
45: 右中括弧が必要です } またはカンマが必要です。':' を取得しました (':' を 'url' の値の一部にする場合は、値を二重引用符で囲みます。そうしないと、ファイルの名前を変更できる場合があります。 .conf ではなくプロパティ)
(45 は url= 行です)
URL 文字列の前後に " を使用すると、${host} 変数が置き換えられなくなり、play アプリケーションは HostNotFoundException をスローします。
タイプセーフ構成内で使用される JDBC url に ENV 変数を含める方法を提案する人はいますか?
git - 複数の scala 相互関連 sbt & git プロジェクトの編成 - ベスト プラクティスの提案
ビルドやバージョン管理に を使用する場合scala
、チーム コードが単一のプロジェクトでは収まらなくなった場合に、チーム コードを整理するための適切な方法は何でしょうか? ある時点で、コードを別々のライブラリまたはプロジェクトに分割し、必要に応じてそれらの間でインポートすることを考え始めます。そのためにどのように物事を整理しますか?それとも、誘惑を避けて、すべてのパッケージを同じ sbt および git 単一の「プロジェクト」の下で管理しますか?sbt
git
興味のあるポイント: (自由に変更してください)
- 想像上のニーズを過度に設計する新しい「頭痛の種」を発明することを避けます。
- 特定の開発マシンまたは
CI server
. - 生産用のパッケージング:
SbtNativePackager
あまり苦労せずに生産用のパッケージを使用できること。 - 特定の開発マシンで使用する各ライブラリのバージョンを簡単に制御し、それらをシームレスに切り替えることができます。
- git 操作が基本的に通常よりも悪化するのを回避します。
さらに、ある種の「ローカル sbt/maven チーム リポジトリ」を使用しますか?それを達成するには何が必要でしょうか? うまくいけば、これは必要ありません。
ありがとう!
sbt - "sbt stage" が Not a valid command で失敗するのはなぜですか?
以下を使用してアプリケーションをステージングしようとすると、エラーが発生しますsbt clean compile stage
。
これを他のマシンで何百回も問題なく実行しました。私は SBT 0.13.5 を持っています -- 誰かこれを見たことがありますか? この他の投稿を読みましたが、Heroku を使用していません。ありがとう。
scala - ユニバーサル sbt-native-packager でルート ディレクトリのない zip を作成する
ユニバーサル sbt-native-packager を使用して、zip ファイルの配布を生成します。
生成された zip ファイルを抽出すると、zip ファイルとして名前が付けられたメイン ディレクトリ内のすべてが含まれます。
ルート フォルダを持たない zip を作成して、解凍するとそのような構造になるようにするにはどうすればよいですか?
ありがとう