2017-05-03 13 views
0

私はHerokuに展開しているXcodeのVaporで作業しています。 私のWebアプリケーションは完全に動作しています。本当に蒸気に喜んで、ヘロクに展開するのが簡単です。Vapor Xcodeプロジェクトの複数のターゲット

私は今、別のHeroku Workerプロセスを同じプロジェクトで作成しようとしています。私はHeroku Procfileに新しいワーカーを追加しましたが、プロジェクトファイルを再構築するためにvapor xcodeを実行するたびに上書きされないように、Xcodeプロジェクトで2番目のターゲットを設定する方法がわかりません。

私Procfileは、次のようになります。だから、

web: App --env=production --workdir=./ --config:servers.default.port=$PORT --config:postgresql.url=$DATABASE_URL 
worker: Worker --env=production --workdir=./ --config:servers.default.port=$PORT --config:postgresql.url=$DATABASE_URL 

、あなたが見ることができるように、私は単に私がHerokuのワーカーダイノ以内に起動することができますWorkerと呼ばれる第二のアプリの実行をしたいです。

vapor xcodeによって上書きされないXcodeプロジェクトで、Webアプリケーションターゲットと別のワーカーターゲットをどのように持つことができますか?

おかげ --TJ

答えて

1

ほらああ!それを解決した。プロジェクトに複数のターゲットを設定するには、プロジェクトファイルの作成を担当するSwiftパッケージマネージャのPackage.swiftファイルで複数のターゲットを定義する必要があります。

だから、私のPackage.swiftは次のようになります。

import PackageDescription 

let package = Package(
    name: "myapp", 
    targets: [ 
     Target(name: "App", dependencies: ["Shared"]), 
     Target(name: "Worker", dependencies: ["Shared"]), 
    ], 
    dependencies: [ 
    ], 
    exclude: [ 
     "Config", 
     "Database", 
     "Localization", 
     "Public", 
     "Resources", 
     ] 
) 

私のソースディレクトリ構造は次のようになります。

Sources | - App - Worker - Shared

共有ターゲットは私の共有コードというの全てが含まれていますAppとWorkerの実行可能ターゲットによって必要とされます。

上記のようにProcfileを定義すると、完全に機能します。私は今、Webアプリケーションとワーカープロセスを持っています。

乾杯 --TJ

関連する問題