配送ワークフローにおけるテストパイプラインの解凍
テストプロジェクトの別のリポジトリを実行する場合、またはコードベースのメインアプリケーションに関連しないテストまたはその他のプロジェクトを持っている場合、または単にGitLabまたは関連するCDプラットフォームでプロジェクトのテストパイプラインを設定する方法についてもう少し知りたいだけです.私たちはあなたのためにこの記事をまとめましたGotPhotosでそれをする方法のビュースタディ
Often than not you’d have any of the cases above where you’d want a
modular test suite that’s accessible from different teams across your
CI tool. In this article, I’ll go through some familiar steps that
goes beyond having test schedules and pipeline jobs; being two of the
most common ways to test in a deployment process.
私はGitlabを主な例として使用しますが、ここでのアプローチはかなりのものとなります.YMLサポートワークフローと任意のバージョン管理システム、Web、Javascript、クラウドベースのセットアップで.
目標を設定しましょう
ゴール1 :要求プロジェクトからソースプロジェクトへのテストへのアクセスを有効にする
チーム「ハト」が他のアプリケーションコードを管理する間、あなたの2つのチーム(主にあなたの源と目標チームとチーム「テスター」)があなたのテストコードを管理すると仮定しましょう.
チーム「テスター」で:理想的に、あなたのテストは、実行するあなたのパイプライン環境で必要な値を含むかもしれないか、含まないコマンドを通して引き起こされることができます.ワークフローは、プロジェクト内のフォルダーでテストコードが用意されており、すべてのテストとその依存関係をインストールして実行するために必要なパッケージが含まれています.
あなたのVCSの異なるコードベースでチーム「ハト」を持ってきましょう.アイデアはかなり簡単です、鳩は、テストステージを含む配信ワークフローを実装し、これはあなたのチームTESTARSプロジェクトでテストを起動し、チームの鳩に結果を利用できるようになります.
プロジェクトがどのように見えるかを示す図です.
鳩海綿静脈気象研
test:
variables:
ENVIRONMENT: staging
REQUESTING_TEAM: Pigeons
TEST_COMMAND: npx...
stage: deploy
trigger: <test_project_repository_here>
testarspipeline気象研.job_template:
image:
stage: test
only:
refs:
- master
- pipelines
script:
- $(npm bin)/${TEST_COMMAND}
- bash ./notify.sh "$ENVIRONMENT" "$REQUESTING_TEAM" "$TEST_COMMAND"
ここで注意するいくつかのことゴール2:スラックを通してすべてのテストステータスを報告してください
このワークフローのテストトリガーは最終的に加入者のより広い範囲を持っています、これはよいです、しかし、特に機能的なチームで働くとき、あなたは活動に目を向けたいです.スラックは、このような目的のためのセットアップ着信フックを許可します.テストパイプラインにステップを追加することで、あらかじめ定義されたスラックチャネルにメッセージを送信し、テストパイプラインが起動されたときにあなたとチームが知っていることを確認できます.
書きましょう.
スラックアプリをセットして、入っているウェブフックのためにその支持を提供する
スラックのアプリを設定するには、ステップは全く新しいスラックチャンネルを設定するためのSlack API Documentationと同じケースでスラックAPI UIを使用して、全くまっすぐにしているか、既存のものを再利用したいかもしれません.入ってくるwebhookを作成することもスラックAPIを通してされることができます、そして、あなたが必要とするすべてはあなたのwebhook URLアドレスです
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
ここで、あなたは、あなたのtestarspipelineファイルの最後の行を満たすために、bashスクリプトを設定する必要があります.現在、私たちは、鳩を通して提供される3つの環境変数へのアクセスを持っていることを覚えておいてください、これはtestarspipelineを通してカスタムシェルスクリプトに渡されます、そして、我々はあなたの変数とあなたが加えたどんな他のデータも含んでいる単純であるかフォーマットされたペイロードを作ります、そして、最終的に、カール要求を作ります.
通知する.sh
#!/bin/bash
SLACK_PAY_LOAD="
{
'text': '$REQUESTING_TEAM triggered $TEST_COMMAND on $ENVIRONMENT environment'
}
"
curl -X POST -H 'Content-type: application/json' --data "${SLACK_PAY_LOAD}" https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
通知に注意するいくつかのこと.shファイル:手順3で何をするかについての考えがあります?我々は、サイプレステストイベントを使用してAPIを有効にしたダッシュボードを構築している.
If you found this interesting, you'd love working with us at GotPhoto
where you have the opportunity to build with an amazing team. Consider
joining us at GotPhoto
Reference
この問題について(配送ワークフローにおけるテストパイプラインの解凍), 我々は、より多くの情報をここで見つけました https://dev.to/gotphoto/unleash-test-pipelines-in-your-delivery-workflow-s-4cjiテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol