3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitLabCI/CDについて

Posted at

はじめに

GitLabCI/CDについて触る機会があったので備忘録代わりにまとめていきます。

そもそもCICDって何?

gitlab-説明資料1.png

gitlab公式サイトから画像を引用。

CI/CDとはCI(継続的なインテグレーション) CD(継続的デリバリー)の略。
CD(継続的デプロイ)もあります。

この字面から何となく想像がつく通り、

CICDとは何か特定の技術を指している訳ではありません

技術ではなくソフトウェア開発手法を指してます。

CI(継続的なインテグレーション)ではリポジトリにpushされてきた時に自動でテストを行います。
自動でテストを行ってくれるのでバグの混入に気づきやすくなります。

CD(継続的デリバリー)ではCIでのテストが終了したものをテストサーバーにビルドし、動作確認が行えるというもの。

CDにはほかにもCD(継続的デプロイ)というものがある。
こちらは自動で本番環境へデプロイを行うこと。

CI/CDの何がいいの?

自動でテストやデプロイを行ってくれるので、人的ミスを防げるし、開発の効率も向上する。

仕様の修正が入る度に手動でテストを走らせるのは手間だし、アジャイルだと開発中に仕様が変更になるケースも多いのではないかなと思います。

GitLab CI/CD

GitLabでCI/CDを行う場合は、リポジトリのルートディレクトリ直下に

.gitlab-ci.ymlという名前のファイルを作成するだけ。

.gitlab-ci.ymlというファイル名をGitLabが検知して、GitLab Runnerが走る。

GitLabRunnerは複数の動作方式が用意されていて、今回はdockerを使用。

下のコードは公式サイトから引用したもの。

.gitlab-ci.yml
before_script:
  - apt-get install rubygems ruby-dev -y

run-test:
  script:
    - ruby --version

このbefore_scriptはジョブを実行する前に処理が走る。
なので各ジョブに共通の依存関係を持たせたいパッケージのインストールを行う際にこちらのbefore_script属性を使用する。
上記のサンプルコードの場合、before_script属性の処理が走った後に、run_testというジョブが実行される。

before_script以外にも複数の予約語が用意されており、GitLab CICDでやれることは多いのかなと思います。

参考にしたサイト

https://gitlab-docs.creationline.com/ee/ci/introduction/

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?