GitLab CI を導入しました
GitLab で CI(継続的インテグレーション) をできるようにしました。
経緯
弊社では数年前から開発の助けとなるよう GitLab CE を運用しています。
社内で GitHub 同様にプロジェクト管理ができ開発作業に貢献してきました。 一方で、アプリの検証や納品といった作業のほとんどは手作業で行っていました。
手作業というのはとても温かみのある行為ですが、 同時にヒューマンエラーが入り込む温床となります。
また、それらの時間が削減できれば、その時間を開発に割り当てることができます。
そこで、検証や納品といった作業を自動化すべく GitLab で実現できる CI(継続的インテグレーション)サービス「GitLab CI」を導入してみました。
注意
本記事で示す GitLab CI の導入方法は、 公式ドキュメント をなぞったものです。 公式ドキュメントが性に合っているという方は、そちらをご覧下さい。
また、内容は GitLab が利用できることを前提としています。
GitLab CI の導入
GitLab CI を導入には、 次の2つの手順を踏みました。
1. .gitlab-ci.yml をリポジトリのルートディレクトリに追加
CI を実行するということは、CIでやってほしいことがあるはずです。
そのやってほしいことを記述するファイルが .gitlab-ci.yml
です。
これを作成してリポジトリのルートディレクトリに追加します。
今回対象としたリポジトリは python なので、次のような .gitlab-ci.yml を追加しました:
pytest: script: - python setup.py test
これは次のコマンドを実行することを意味します。
> python setup.py test
.gitlab-ci.yml
の書き方は以下が参考になります:
2. GitLab runner を設定
さて、.gitlab-ci.yml
にやってほしいことを記述したら、いよいよ実行させてみましょう。
CI を実行するのは、 GitLab runner
と呼ばれる CI 実行ファイルです。
この runner を CI の実行環境(マシン。開発機と同じでも良い)で動作させることが最終的な目標となります。
runner は CI実行時に Git を使いますので、CI実行環境には以下を配置します:
- GitLab runner
- Git
- その他、CIに必要な依存ツールがあれば
runner のダウンロードはインストールページ(Install GitLab Runner - GitLab Documentation)から行います。 当然ですが、環境に合致するものをダウンロードしましょう。
runner は、実行時にとあるユーザーとして Git 、必要ならその他依存ツールを使います。
そのため、ダウンロードした runner は、例えば、C:\GitLab-Runner\gitlab-runner.exe
というように、管理者権限やユーザー権限に制限されない場所に配置します。
配置したら、runner の初期設定をします。
管理者権限で コマンドプロンプト(黒い画面)を起動し、次のコマンドを実行します。
> gitlab-runner.exe register
コマンドを実行すると、runner の設定に関する以下の7項目を入力することになります:
No | 項目 | 内容 |
---|---|---|
1. | the gitlab-ci coordinator URL | GitLab-CI を実行するリポジトリのURLを入力します。 |
2. | the gitlab-ci token | GitLab-CI を実行するリポジトリのトークンを入力します。 |
3. | the gitlab-ci description | runner の識別名を入力します。 |
4. | the gitlab-ci tags | runner のタグを指定します。 |
5. | Whether to run untagged jobs: | タグ指定がないCIを実行をするか。 |
6. | Whether to lock Runner to current project | 現在のプロジェクトのみで使用するか。 |
7. | the executor | 何で実行するか。 |
- リポジトリページの Settings > CI / CD > Runners settings に記載されている URL を入力します。
- URLと同じ場所にに記載されている トークン を入力します。
- あなたの runner の名前を決めます。既定値はPC名になっています。
- CIの実行条件となるタグを入力します。これは後からでも変更できます。
false
が推奨です。限られたリポジトリのみで動作させるならば、使い勝手の点からtrue
にしても良いです。true
が推奨です。複数のリポジトリに対して使用したい場合は、false
にしてもよいです。- 特に理由がなければ
shell
にしましょう。dockerなどの環境が使える場合はそれらも選択肢となるでしょう。
煩雑な準備は以上でおしまいです。 そのままコマンドプロンプトで以下を実行すると、runner が利用できるようになります。
> gitlab-runner install > gitlab-runner start
最後に
今回は特定のリポジトリに対する導入方法を紹介しました。
GitLab CI を導入したことで、疲れていたり眠かったりするときも 作業ミスが減り開発作業が捗るようになりました。
CI って難しいイメージがまだまだありますが、 やってみるとそれに見合うだけの結果は得られますので、 ぜひ皆さんもやってみてください。
以上です!