MavenプロジェクトをGAEにデプロイする時、複数のapp.yamlを用意しておいてデプロイ先のサービスを切り替えたい
app.yamlはGAEの設定が書かれているファイルで、このような感じでGAEのサービス名を指定することができる
... service: foo-service ...
このfoo-service
意外にbar-service
やbaz-service
をデプロイ先にしたいときにわざわざ書き換えるのは手間なので
このような構造でapp.yamlを用意しておき
src/main/appengine/foo ├ foo │ └ app.yaml ├ bar │ └ app.yaml └ baz └ app.yaml
Mavenプロジェクトなのでpom.xmlにprofileを設定する
<profiles> <profile> <id>foo</id> <build> <plugins> <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>appengine-maven-plugin</artifactId> <version>${appengine-plugin.version}</version> <configuration> <appEngineDirectory>${basedir}/src/main/appengine/foo</appEngineDirectory> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>bar</id> <build> <plugins> <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>appengine-maven-plugin</artifactId> <version>${appengine-plugin.version}</version> <configuration> <appEngineDirectory>${basedir}/src/main/appengine/bar</appEngineDirectory> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>baz</id> <build> <plugins> <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>appengine-maven-plugin</artifactId> <version>${appengine-plugin.version}</version> <configuration> <appEngineDirectory>${basedir}/src/main/appengine/baz</appEngineDirectory> </configuration> </plugin> </plugins> </build> </profile> </profiles>
IntelliJ IDEAを使っている場合
Mavenのパネルでこんな感じで一覧とどのプロフィールを使うか選択できるので便利