2022年7月11日
Continuous Integration
HarnessにはJiraとの連携機能が組み込まれており、本記事では簡単な設定とサンプルを使って両者の連携方法を紹介します。
継続的インテグレーション(CI)と継続的デリバリー(CD)は、あらゆる組織のDevOpsの旅において、重要な位置を占めています。ほとんどの企業では、課題追跡ツールと強力に統合された継続的インテグレーション・プラットフォームをセットアップすることからすべてが始まります。AtlassianのJiraプラットフォームは、多くの業界で広く採用されているものです。HarnessにはReqがあり、今日は簡単な設定と例でHarness CIとJiraがどのように連携するかを見ていきます。
開発者は組織内のさまざまなプロジェクトで働き、それら全てのCIを継続的に行いますが、ワークフロー全体が期待通りに機能することを保証する標準化された方法が必要です。Jira Approval(承認)は、開発者の仲間、マネージャー、およびコードレビュアーが CI/CD ワークフローを円滑にすることを容易にします。
このチュートリアルの最初のフェーズでは、ビルド、テスト、およびDockerレジストリへのアーティファクトのプッシュを行いましょう。Harness CIは言語に依存しないので、どんな言語でアプリケーションを書いてもアーティファクトをビルドできます。Harness CIのDSLはYAMLです。
Gitリポジトリーに接続し、ビルドするブランチを選択します。完了すると、Harness CIはHarness Test Intelligence(機械学習を使用して実行する必要があるテストを自動的に選択するHarness CIモジュールの機能)を通じてテストを実行します。全てのテストを実行すると数時間かかりますが、テストインテリジェンスは、関連するテストのみのサブセットを指定し、残りをスキップします。Test Intelligenceは非常に賢いので、最適な順序でテストをランク付けし、障害検出率を高めます。これは強力な機能であり、CIソリューションの世界を変えるものです。
Test Intelligenceでテストが実行されると、Harness CIはビルドを行い、ビルドイメージを任意のコンテナリポジトリー(例えば、Docker Hub)にプッシュします。その後、Harness UI Pipeline Studioを通じてパイプラインを編集することができ、簡単に操作してすぐに動作を確認することができます。
付属のYAMLエディタはIDEのような使い勝手を提供し、パイプラインの編集を容易にし、現実的な物事の理解を可能にします。また、オートコンプリートやスキーマ検証機能も備えており、ヒューマンエラーに対する追加のセーフガードとして機能します。
まず、初期化です。ここでは、必要なものを全て設定します。
プルリクエストをクローンします。
この段階では、ユニットテストはTest Intelligenceを通じて実行されます。これにより、コ ードの品質に関する迅速なフィードバックを得られます。また、開発フェーズの早い段階でバグを発見し、迅速に失敗することで、必要な労力を軽減できます。
最後に、イメージをビルドして、Docker Hubにプッシュします。
Docker Hubにアクセスして、CIパイプラインで提案されているようにイメージがプッシュされているかどうかを確認することができます。
HarnessとJiraの統合により、チケットに関するあらゆるニーズをサポートします。
JiraのApproval(承認)は、2つの方法で使用できます。
以下は、デプロイメント段階後のJiraの作成、承認、更新の簡単な例です。
ステージの追加をクリックします。
Approvalステージを追加します。
Jiraを選択し、ステージを設定します。Execution(実行)ステージからCreate(作成)ステージとUpdate(更新)ステージを別途追加することも可能です。
その後、以下の画面が表示されます。必要事項を入力してください。
以下は、Jiraチケットを自動的に作成するための詳細を入力した後の例です。
承認条件には、条件またはJEXL式という、指定された方法のいずれかを使えます。Issue Keyは、前のステージで設定された式、変数を使用していることを注意しておきたいと思います。このチュートリアルの目的では、承認条件にJEXL Expressionを使用しています。承認条件に常にJEXLを使う必要はないはずです。条件によって自動的にissueフィールドとステータスの入力が促されるはずです。
パイプラインを保存し、実行します。Approvalステージまで実行し、パイプラインの承認を待ちます。
承認者はJiraで通知を受け、パイプラインを承認または拒否できるはずです。
承認されたら、ログを確認してください。以下のような内容が表示されるはずです。
その手順は以下の通りです。
Harnessを使えば、Jiraを簡単に統合してタスクを自動化し、開発、運用、テストチームのコラボレーションを支援し、組織内のタスクや課題の管理・追跡の余分な負担を軽減できます。
あなたのチームがより効率的になるためのお手伝いをさせてください。デモのリクエスト、無料トライアルのダウンロード、またはAtlassian Marketplaceで、Harness がどのようにソフトウェアデリバリープロセスの近代化を支援できるかをご覧ください。
この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。