2016-04-05 11 views
1

私はgradleを使用したプレー・アプリケーションを含むドッキング・コンテナを作成しようとしていますが、gradleの構成および実行方法に問題があります。問題は、プレイプラグインを使用してgradleが構築するプレイアプリケーションを「コンテナ化」するには、作成されたフォルダからドッカーコンテナ(com.palantir.docker:0.5.2プラグインを使用)を構築する必要がありますplayBinaryタスクを実行した結果として発生します。gradleを使用したドッキング・プレイ・アプリケーションの構築

私が言及したタスクは、このように新しいタスクを追加することによって作成したフォルダにコピーしてみました:

task copyDockerDependencies(type: Copy, dependsOn: build){ 
    from 'build/stage/playBinary' 
    into 'build/docker' 
} 

をしかし、私はそれが失敗したgradle clean playBinary dockerタスクを実行したとき理由:

Skipping task ':copyDockerDependencies' as it has no source files.

これは、プロジェクトの構成時にフォルダのビルドが存在しないことが原因であることがわかっています。そのため、実行時にこのチェックを実行してフォルダとそのファイルが存在するようにする方法があるのか​​、 docker buildタスクはそれらを見つけることができますか?

私のコピータスク内でdoLastを使用しようとしましたが、どちらも動作しません。どんな助けもありがとう。私は特にGradleのビルドにはbashスクリプトを追加するアイデアのようにしていないが

task copyDockerFiles(type: Exec){ 
    workingDir '.' 
    commandLine '/bin/cp', '-r', "${origin}", "${destination}" 
} 

:誰もが興味を持っているだけの場合には 乾杯

答えて

0

は、私はこのような実行タスクを使用してそれを行うために管理します。私はこれを達成するための正しいアプローチだとは知らないが、うまくいく。 乾杯してください

0

palantir docker gradle pluginは、あなたが依存しているタスクのタスク出力をコピーします。だから、 'dist'タスクに応じて、出力(ドライバーバイナリを含む)をドッカーのビルドコンテキストにコピーします。

参照:https://github.com/palantir/gradle-docker/issues/42

関連する問題