gitlabの基本的なCIパイプラインを設定する
このチュートリアルでは、gitlabの基本的なCI (連続的な統合)パイプラインを設定します.
このポストの意図はちょうど基本に触れることです、そして、我々はセットアップAです.
この例のコードはmy gitlab.com repo .
関連記事
どうしましょうか。
これは、マスターブランチにコミットがあるたびに、
.gitlab-ci.yml
が終了した場合にのみ実行される.仕事は実行されるgitlab runners これはGiltabでホストされています.注意することは重要ですすべてのジョブは互いに独立して実行されます.
基本パイプライン
このパイプラインでは、2つの基本的なジョブがあります.
ビルド
$ echo "this is building"
$ hostname
$ mkdir builds
$ touch builds/data.txt
$ echo "true" > builds/data.txt
テスト$ echo "this is testing"
$ hostname
$ test -f builds/data.txt
$ grep "true" builds/data.txt
パイプラインを設定します。
私のワークスペースにクローンした新しく作成されたリポジトリから、設定を作成します.
$ touch .gitlab-ci.yml
上記のYAMLファイルの設定stages:
- build
- test
build:
stage: build
script:
- echo "this is building"
- hostname
- mkdir builds
- touch builds/data.txt
- echo "false" > builds/data.txt
artifacts:
paths:
- builds/
test:
stage: test
script:
- echo "this is testing"
- hostname
- test -f builds/data.txt
- grep "true" builds/data.txt
説明
builds/data.txt
ビルドジョブとgrepのテストジョブの単語“true”のため、このジョブは失敗します.Gitlabへプッシュ
設定ファイルにコンテンツを保存、追加、コミット、およびマスターにプッシュします.
$ git add .gitlab-ci.yml
$ git commit -m "add gitlab-ci config"
$ git push origin master
GITLABパイプライン
GITLAB UIから、CI/CD ->パイプラインに向かうなら、あなたのパイプラインを実行してください.
パイプラインIDを選択すると、パイプラインで使用可能なジョブが表示されます.
ジョブを選択し、ジョブの概要を参照してください.この時点でビルドジョブが完了し、テストジョブが実行中であることがわかります.
その直後にテストジョブの状態が失敗し、ジョブIDを選択し、出力を見る必要があります.
上記の出力から、それは非常に便利です新しい問題を作成するためのリンクを提供します.
パイプライン設定を修正
前に進んで、内容を変えましょう
.gitlab-ci.yml
マスターへの設定とプッシュ$ vim .gitlab-ci.yml
ライン12を変更する- echo "false" > builds/data.txt
to - echo "true" > builds/data.txt
, ファイルの完全な内容:stages:
- build
- test
build:
stage: build
script:
- echo "this is building"
- hostname
- mkdir builds
- touch builds/data.txt
- echo "true" > builds/data.txt
artifacts:
paths:
- builds/
test:
stage: test
script:
- echo "this is testing"
- hostname
- test -f builds/data.txt
- grep "true" builds/data.txt
コミットとマスターへのプッシュ$ git add .gitlab-ci.yml
$ git commit -m "change content in script"
$ git push origin master
パイプラインに向かうと、パイプラインが動いているのがわかります.大成功
パイプラインIDを選択し、ジョブを選択するには、両方のジョブが成功しました.
テストジョブのジョブIDを選択し、出力からジョブが成功したことがわかります.
この出力から、両方のジョブから確認することもできます.各ジョブはstdoutに返されたホスト名が異なっていたので、別のランナーで実行されます.
資源
これは、Gitlab CIを実証する本当に基本的な例でした.このポストへの関連リソース
ありがとう
あなたが何を考えるかについて知らせてください.あなたが私の内容が好きならば、私を訪問してくださいruan.dev またはTwitterで私に従ってください
Reference
この問題について(gitlabの基本的なCIパイプラインを設定する), 我々は、より多くの情報をここで見つけました https://dev.to/ruanbekker/setup-a-basic-ci-pipeline-on-gitlab-3ndhテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol