🔖

.gitlab-ci.yml ファイル

2023/11/27に公開

GitLab 16.0のマニュアルの和訳

本家はこちら

GitLab のCI/CDを使うために必要です。

・アプリケーションコードは、GitLab リポジトリに保存されます。
・リポジトリのルートにある.gitlab-ci.yml というファイル、これをCI/CDの構成に含めます。

.gitlab-ci.yml では、以下のことが定義できます。
・実行したいスクリプト
・含めたい他の設定ファイルやテンプレート
・依存関係やキャッシュ
・順番に実行したいコマンドと並行稼働させたいコマンド
・アプリケーションをデプロイしたい場所
・自動実行したいスクリプトか、それ以外の手動のトリガー

スクリプトはジョブに分解され、ジョブはより大きなパイプラインの一部として実行されます。
複数の独立したジョブを、定義された順番で実行するステージにグループ化できます。
CI/CDの構成は、少なくとも隠されていない一つのジョブを必要とします。

アプリケーションに適しており、実施したいテストの順番にジョブを組み立てなければなりません。
プロセスを見える化するために、CLI処理を行うのと同じようなジョブをスクリプトに追加することを想定しています。

リポジトリに.gitlab-ci.ymlファイルを追加したとき、GitLabはファイルを見つけて、GitLab runner と呼ばれるアプリケーションがジョブで定義されたスクリプトを実行します。

A. .gitlab-ci.ymlファイルは、以下を含んでいる可能性があります。

yml
stages:
  - make
  - test

make-job:
  stage: make
  script:
    - echo "Check the python version:"
    - python3 -V
    - echo print\("'Hello World'"\) > test1.py
    - echo print\("'Hello python'"\) > test2.py  

test-job1:
  stage: test
  script:
    - echo "If the files are made successfully, test some files with one command:"
    - python3 test1.py
    - rm test1.py

test-job2:
  stage: test
  script:
    - echo "If the files are made successfully, test other files with a different command:"
    - python3 test2.py
    - rm test2.py

この例では、make ステージの make-job ジョブが最初に動き、python3のバージョンを表示し、test.py というpythonファイルを作成します。
このジョブが正常終了すると、test ステージの 二つのtest-jobが並列で始まり、二つのファイルでテストが実行されます。

例のパイプラインは3つのジョブで構成されており、2つのステージにグループ化されていいます。つまりそれは、ビルドステージとテストステージです。
パイプラインは、プロジェクト内で変更がどのブランチでプッシュされたときいつでも実行します。

GitLab の CI/CD はジョブを実行するだけではなく、ターミナルを見ているのと同じように、実行中に起きていることを表示もします。

あなたがアプリの方針を作り、GitLabがあなたが定義したパイプラインを実行します。
また、パイプラインステータスは、GitLabによって表示されます。

何か問題があれば、変更を戻すことができます。

Discussion