maven
ずばり、maven-wagon-pluginで正解だった。
- deploy-pluginで別マシンへinstallする時と同じように、settings.xmlのservers要素の配下に転送先のserverの設定が必要。
<server> <id>remotehost</id> <username>shin1ogawa</username> <password>password</password> </server>
- pom.xmlはbuild/plugins配下に以下のように設定。この例ではpackageフェーズが実行されたタイミングで起動している。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>1.0-beta-1</version> <executions> <execution> <id>upload-jar</id> <phase>package</phase> <goals> <goal>upload</goal> </goals> <configuration> <serverId>remotehost</serverId> <url>scp://192.168.1.109/</url> <fromDir>target</fromDir> <includes>**/*.jar</includes> <excludes>*-sources.jar</excludes> <toDir>/home/shin1ogawa/tmp</toDir> </configuration> </execution> </executions> </plugin>
Hudson
電車の中でiPhoneからぶつぶつつぶやいていたら、@kompiroからアドバイスが。
名前もそのもまんま。設定方法もシンプル。
- 上記リンクからプラグインファイル(*.hpi)をダウンロードして、Hudsonのルート画面から[Manage Hudson][Manage Plugins]をたどってプラグインをインストールしておく。んで再起動する。
- Hudsonのルート画面から[Manage Hudson][Configure System]をたどり、[SCP repository hosts]を設定する。例ではパスワードで認証する設定だけど、鍵ファイルを使う事もできそぅだ(項目があるし。これでできなかったらビックリする。)。
- ファイル転送を行うためのjobの設定画面を開き、[Post-build Actions]に表示されている[Publish artifacts to SCP Repository]にチェックを入れる。すると他のプラグインと同じように、プラグインの設定パネルが表示されるのであれこれ設定する。[Destination]にはHudsonの全体設定の[SCP repository hosts][Root Repository Path]で設定したパスからの相対パスを指定する。存在しないフォルダを指定してみると、ちゃんとフォルダを作ってから転送してくれた。
転送先が複数ある場合であれば、hudson+SCP-pluginだと複数のjobにしなきゃならん?ような気がするので、maven-wagon-pluginの方がいいかな。maven-wagon-pluginであればexecutionの定義をたくさん書いてしまえばいいだけだし。
0 件のコメント:
コメントを投稿