mind.

学んだことの記録

GitLabCIをHello Worldで試す【ビルド編】

左右独立型ワイヤレスイヤホンを使い始めた。かなり良い。

自動ビルドのメリット

トピックブランチをリモートへpushしたときにビルド確認ができれば、誤った変更をデプロイする前に修正することができます。

やること

GitLabのProjectにC言語でファイルをアップロードして、push時にビルド確認が自動で行われるようにする。

用語

パイプライン: CIを実行する環境のこと。GitLabでは一回のコミットに対して一つのパイプラインが動作する。

手順

参考URL

gitlab.com qiita.com

前提

  • 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;
}
  1. Projectのページの画面左端メニューから「CI/CD」を押下してパイプラインの一覧を表示する
  2. 1で行ったコミットに対するパイプラインの「Status」が「failed」になることを確認して、「Pipeline」列のリンクを押下して詳細画面を表示する
  3. ✕印が付いている「build_job1」ボタンを押下してビルドエラー時のログを確認する
    エラーログを読むと、ソースファイルに追加した不正な一行が原因でビルドエラーが起きていることが分かる。 f:id:cm_kenji:20200222151416p:plain 完了

以下雑記

  • Makefileを駆使すればより複雑なビルドに対応できそう
  • テストとデプロイも使えたら仕事がかなり楽になりそう