GitLabCIをHello Worldで試す【ビルド編】
左右独立型ワイヤレスイヤホンを使い始めた。かなり良い。
自動ビルドのメリット
トピックブランチをリモートへpushしたときにビルド確認ができれば、誤った変更をデプロイする前に修正することができます。
やること
GitLabのProjectにC言語でファイルをアップロードして、push時にビルド確認が自動で行われるようにする。
用語
パイプライン: CIを実行する環境のこと。GitLabでは一回のコミットに対して一つのパイプラインが動作する。
手順
参考URL
前提
- GitLab.comのアカウント作成済み
必要なファイルの追加
1.GitLab.comで適当なProjectを作成する
2.Projectにソースファイル「hello.c」と「.gitlab-ci.yml」を追加してpushする
hello.c
#include <stdio.h> int main(void) { puts("Hello World!"); return 0; }
.gitlab-ci.yml
image: gcc:7.4 stages: - build before_script: build_job1: stage: build script: - gcc hello.c
ビルドするだけならこれでOK。
3.Projectのページの画面左端メニューから「CI/CD」を押下してパイプラインの一覧を表示する
4.「Status」が「passed」と表示されていたら正常にビルドができている。
完了
ビルドエラー時の動作確認
ビルドエラーを認識できるか試してみる。
1. 前述の手順で作成した「hello.c」がビルド時にエラーを起こすように適当に変更してpushする。
hello.c
#include <stdio.h> int main(void) { puts("Hello World!"); hogehoge return 0; }
- Projectのページの画面左端メニューから「CI/CD」を押下してパイプラインの一覧を表示する
- 1で行ったコミットに対するパイプラインの「Status」が「failed」になることを確認して、「Pipeline」列のリンクを押下して詳細画面を表示する
- ✕印が付いている「build_job1」ボタンを押下してビルドエラー時のログを確認する
エラーログを読むと、ソースファイルに追加した不正な一行が原因でビルドエラーが起きていることが分かる。 完了
以下雑記
- Makefileを駆使すればより複雑なビルドに対応できそう
- テストとデプロイも使えたら仕事がかなり楽になりそう