GitLab Pagesで静的コンテンツを公開する

2019年1月23日

GitLabについては/tag/gitlabを参照されたい

GitHubにおいてMavenリポジトリを公開する方法をGitHubにMavenリポジトリを作り、GitHub Pagesで公開するに書いたのだが、GitLabにもPagesというものがあり、同じようなことができる。つまり、

「https://ysugimura.gitlab.io/foobar/」などというURLで静的コンテンツを公開できる。

しかし、masterにpushすればそのまま公開されるGitHubとは少々異なり、GitLabではひと手間が必要だ。

なお、GitLabではGitHubとは異なり、masterの内容にGitLab側で何らかの操作を加えた後に公開することができるようだが、ここではあくまでも、最も簡単な「静的コンテンツをそのまま公開する」ことに注力する。

  • foobarプロジェクトを作成する
  • foobarのトップに「.gitlab-ci.yml」というファイルを作成する。
  • あとは好きなコンテンツを置く。

ということになる。

foobarプロジェクトを作成する

これは問題無いと思うので省略する。なおプロジェクトはPrivateのままでも構わない。リポジトリの内容がそのまま公開されるわけではないからだ。

ファイルを作成する

「.gitlab-ci.yml」および「index.html」というファイルを作成する。

.gitlab-ci.ymlの内容は以下になる。詳しくはわからないが、単純に置いたものをそのまま公開するというものらしい。publicという名前はGitLab内部で使われるもののようで、こちらには関係無い。

pages:
  stage: deploy
  script:
  - mkdir .public
  - cp -r * .public
  - mv .public public
  artifacts:
    paths:
    - public
  only:
  - master

index.htmlは、もちろん何でも良いが例えば以下。

<html>
<body>
this is foobar
</body>
</html>

これをEclipse上で作成した場合のイメージは以下だ。

コミットの後にプッシュする。

静的コンテンツのコピーの実行

以下のようにコピー実行中の表示がされるのだが、これが意外に時間がかかる。単にコピーするだけなのに。

成功すると「成功」の表示になる。

アクセスしてみる

「https://ysugimura.gitlab.io/foobar/」にアクセスすると、意図通りの表示になる。

反映が非常に遅い場合もある

ときには反映されるのが非常に遅い場合もあるようだ。何らかのエラーがあるのか、正常で遅いのかがわからないのでイライラする場合がある。