ターゲットを構築した後で、これらを展開する必要があります。ターゲットを再構築するように強制する
実際にはは時間を無駄にしませんビルドルールとしてそれをお持ちですか?これが機能するには、のたびにのデプロイを実行したいと考えています。 質問は次のとおりです。
確定的にターゲットを再構築するにはどうすればよいですか?
ターゲットを構築した後で、これらを展開する必要があります。ターゲットを再構築するように強制する
実際にはは時間を無駄にしませんビルドルールとしてそれをお持ちですか?これが機能するには、のたびにのデプロイを実行したいと考えています。 質問は次のとおりです。
確定的にターゲットを再構築するにはどうすればよいですか?
あなたが展開するときbazel run //path/to:deploy-targets
を行うなど、
java_binary(
name = "target1",
...
)
java_binary(
name = "target2",
...
)
sh_binary(
name = "deploy-targets",
srcs = ["deploy-targets.sh"],
data = [":target1.jar", ":target2.jar", ...],
)
次に、第二段階として、これを行うために、よりbazel-yのだろう。その休憩の種類その契約を展開し、外部環境と対話することになっていません(ビルド中に発生するものです)
#!/bin/bash
for t in $(ls ws/path/to/*.jar); do
mvn deploy:deploy-file -Dfile=$t ...
done
アクション:
deploy-targets.sh
は、次のようになります。一方、run
は、何でもできます。バイナリを実行しているだけです。
run
を使用すると、「毎回実行する」問題も解決します.Bazelはバイナリをフォークすることはできません。
複数のターゲットをそれぞれ複数ギガバイト転送する必要があります。そして私は複数のターゲットを '走らせることができないので、それを逐次的に行うことは、最も少ないと言える本当に悪いユーザー体験です。 – abergmeier
'data = [":target1 "、":target2 "、...]'できますか? – kristina
あなたはそれをどういう意味か、少し詳しく説明できますか?私が「データ」を使用して考えることができるすべての順列は、私の要件の1つを破ります。 – abergmeier
この問題を解決するには、おそらく複数のターゲットに対してrunを呼び出すことができます。 – abergmeier
またはリモート展開を入力として使用できるようにする。 – abergmeier
枢機卿はどのように「アーティファクトが構築された後に展開する」と「最後に」を対比していますか? – Ittai