はじめに

ソフトウェア開発のプロジェクトで、アジャイル開発やDevOpsが採用され始めてからだいぶ日が経ちました。ウォータフォール型の開発手法が多く採用されていたころに比べ、1つ1つの開発やテスト工程は簡素化されましたが、開発からリリースまでを何度も繰り返すことになるなど、新たな課題に直面されている方も多いかと思います。 

例えば、以下のようなお悩みはございませんか?  

  • テストを手作業で実施しており、見落としなどのヒューマンエラーが発生している 
  • リリース作業を手作業でやっているため、リリースの度に時間やコストがかかってしまう 
  • ソースコードとテスト・リリース履歴を別々に管理しており、ソフトウェア開発の進捗状況がわかりにくい 

今回は、上記のお悩みを解決するための方法の1つとして、GitLab CI/CDを使ったテスト・リリース作業の自動化についてご紹介します。 

この記事を読むと、以下のことがわかります。 

CI/CDとはなにか 

最初に、今回取り上げる「CI/CDとは何か」についてご紹介します。 

CI/CDは、どちらも開発~リリースまでの作業を自動化する仕組みを指しますが、本来の目的と対象とする工程が異なります。

  • CI(Continuous Integration/継続的インテグレーション)
    • 開発者がソースコードをリポジトリに登録した際に、自動でビルドやテストを行う仕組みです。 
    • CIの目的は、開発中のソースコードにおいて競合や不具合を早期に発見し、修正することでソフトウェアの品質担保することす。 
    • あらかじめ、ビルドやテストの内容を登録しておく必要があります。
  • CD(Continuous Deployment/継続的デプロイメント) 
    • ソースコードのビルド・テストが完了した際に、自動でリリースを行う仕組みです。 
    • CDの目的は、開発したソフトウェアのリリースを迅速化することです。 
    • あらかじめ、リリースに使用する環境情報やコマンドを登録しておく必要があります。 

GitLab CI/CDの特長 

CI/CD製品は多数ありますが、今回はGitLab CI/CDを取り上げたいと思います。 

GitLab CI/CDはソフトウェア開発プラットフォームである「GitLab」に含まれる機能の1つであり、オープンソースエディションであるCommunity Editionでも利用することができます。 

また、GitLabでは、CI/CD機能以外でも、Gitリポジトリのホスティング機能を兼ね備えています。そのため、ソースコードの管理からリリースまでを1つのプラットフォームで実現することが可能です。 

さらに、ビルドやデプロイの進捗状況・結果が一目でわかるダッシュボードやレポート機能が提供されているため、開発・リリース状況を把握しやすいという利点もあります。 

まとめると、GitLab CI/CDでは以下のような特長があります。 

  • オープンソースのため、気軽に利用できる 
  • ソースコード管理からリリースまでを1つのプラットフォームで管理できる 
  • 開発・リリースの進捗がわかりやすい 

GitLab CI/CDを使用したテスト・リリースの自動化の始め方 

GitLab CI/CDを使い始めるには、2つのステップが必要となります。

1. 「.gitlab-ci.yml」の作成 

GitLab CI/CDあらかじめ、「.gitlab-ci.yml」というファイルにビルド・テスト・デプロイのコマンドを定義しておく必要があります。 
「.gitlab-ci.yml」はリポジトリのルート直下に配置します。 

# .gitlab-ci.yml の例


# ビルド用のステージ 

build: 

  stage: build 

  # ビルドスクリプトを実行 

  script: 

    - # ここにビルドを実行するコマンドを追加する 

# テスト用のステージ 

test: 

  stage: test 

  # テストスクリプトを実行 

  script: 

    - # ここにテストを実行するコマンドを追加する 


# デプロイ用のステージ 

deploy: 

  stage: deploy 

  # デプロイスクリプトを実行 

  script: 

    - # ここにデプロイを実行するコマンドを追加する 

2. GitLab Runnerの設定 

「.gitlab-ci.yml」に記載された処理は、GitLab Runnerというツールにより実行されます。 
GitLabの公式ドキュメントを参考に、GitLab Runnerのインストール・設定が必要です。 

最後に 

エイムネクストではこれまで多数のお客様に対して、開発・運用プロセスの構築/改善を行ってきた実績がございます。 
ヒアリングを通じて、お客様のサービスに最適な開発・運用プロセスの設計・提案いたします。 
ご相談は無料となりますので、以下リンクよりお気軽にお問い合わせください。

 エイムネクスト株式会社 サービス紹介 保守・運用のプロセスを再構築したい

他のブログ記事はこちら