github pagesにmvn site-deployする。

githubにmaven3のプラグインやらなんやらを公開し、使う事が増えてきたので、github pagesにmvn siteの内容をデプロイしてみたので、そのメモをまとめる。

GitHub Pagesに「手動」でgh-pagesブランチを公開する。

AdminページのAutomatic Page Generatorを押して作成すると、gh-pagesを更新しても公開されているコンテンツは公開されなかった。もう一度Automatic Page Generatorを押すと、生成したページの編集ページが開く。なので、優先順位みたいなものがあるかもしれない。https://help.github.com/articles/creating-project-pages-manually を参考に空のgh-pagesブランチを作成し、pushする。

$ cd repo

$ git checkout --orphan gh-pages
# 親ブランチを持たない(orphan)gh-pagesブランチを作り、gh-pagesに切り替える。

git rm -rf .
# ワーキングツリーの内容を削除する
$ echo "My GitHub Page" > index.html
$ git add .
$ git commit -a -m "First pages commit"
$ git push origin gh-pages

pom.xmlに下記の操作を行う

maven-site-pluginの設定にwagon-gitsiteを追加する。
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <locales>en</locales>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.github.stephenc.wagon</groupId>
            <artifactId>wagon-gitsite</artifactId>
            <version>0.4.1</version>
          </dependency>
          <dependency>
            <groupId>org.apache.maven.doxia</groupId>
            <artifactId>doxia-module-markdown</artifactId>
            <version>1.3</version>
          </dependency>
        </dependencies>
      </plugin>

doxia-module-markdownは、追加するとsrc/site/markdown以下に*.mdファイルを置くとMarkdown形式として処理してくれるので便利!

の設定を改める。
  <distributionManagement>
    <repository>
      <id>kompiro.org</id>
      <name>kompiro.org repoisitory</name>
      <url>scp://kompiro.org/home/kompiro/kompiro.org/maven</url>
    </repository>
    <site>
      <id>github</id>
      <url>gitsite:git@github.com/kompiro/notification-maven-plugin.git</url> <!-- github.com:usernameはgithub.com/usernameにする -->
    </site>
  </distributionManagement>