GitLab CIを触ってみる

ごっちの日記
7 min readFeb 24, 2019

--

こんにちは、.ごっちです。

今日が誕生日のアイマスCIシリーズ。今回はGitLabCIを触ってみました。

アイドルを出力するのにいつものim@sparqlを使っていきます。

前段

アカウント作っていなかったので、アカウント作りました。。GitHubアカウント使えるんですね。。

リポジトリを作る

テンプレなどなどいろいろありましたが、ひとまずGitLab上だけで動くものを作りました。

.gitlab-ci.yml をプッシュする

いい感じに作ってGitLabにプッシュします。

# .gitlab-ci.yml
before_script:
- apt-get update -qq
- apt-get install -y curl jq

idol:
script:
- TODAY=`date +%m-%d`
- SPURL="https://sparql.crssnky.xyz/spql/imas/query?query=PREFIX%20schema%3A%20%3Chttp%3A%2F%2Fschema.org%2F%3ESELECT%20(sample(%3Fo)%20as%20%3Fdate)%20(sample(%3Fn)%20as%20%3Fname)%20WHERE%20%7B%20%3Fsub%20schema%3AbirthDate%20%3Fo%3B%20schema%3Aname%7Cschema%3AalternateName%20%3Fn%3BFILTER(regex(str(%3Fo)%2C%20%22$TODAY%22%20)).%7Dgroup%20by(%3Fn)order%20by(%3Fname)"
- IDOLS=`curl -s $SPURL | jq ".results.bindings | map(.name.value)" | jq -r 'join(" ")'`
- echo $IDOLS

設定の構文はtravis ciに似ているような気がします。

# .travisci.yml の場合
language: bash
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y curl jq
script:
- TODAY=`date +%m-%d`
- SPURL="https://sparql.crssnky.xyz/spql/imas/query?query=PREFIX%20schema%3A%20%3Chttp%3A%2F%2Fschema.org%2F%3ESELECT%20(sample(%3Fo)%20as%20%3Fdate)%20(sample(%3Fn)%20as%20%3Fname)%20WHERE%20%7B%20%3Fsub%20schema%3AbirthDate%20%3Fo%3B%20schema%3Aname%7Cschema%3AalternateName%20%3Fn%3BFILTER(regex(str(%3Fo)%2C%20%22$TODAY%22%20)).%7Dgroup%20by(%3Fn)order%20by(%3Fname)"
- IDOLS=`curl -s $SPURL | jq ".results.bindings | map(.name.value)" | jq -r 'join(" ")'`
- echo $IDOLS

文法チェックはブラウザ上でできるので、その部分はかなり強い気がしています。

(ブログ用に失敗したページのスクショを撮ろうとしたら500が返却されて撮れなかった・。・;;)

チェックする

プッシュしたらほぼ勝手に実行されるので、実行結果をチェックします。

正しいと見覚えのある実行結果が確認できます。

上でも書いたんですが、設定方法自体はtravisciに似ている感じがありました。あと、GitLab側がいろいろテンプレを用意しているので、かなりとっつきやすいと思いました。

GitLabのプロジェクトを作るときに他のリポジトリと連携させて、CI部分だけを作ることも可能なのでかなりつよいです。!

初めてGitLabを触りましたが、思っていたよりも高機能でした!

References

--

--