HCL Accelerate の一連の解説記事の続きです。英語版ブログの記事 Tracking value stream data from issue to deployment の翻訳版です。
課題から展開までのバリュー・ストリーム・データのトラッキング
2020年8月14日
著者: Andrew Clavin / Software Engineer
課題のアクティブなスプリントや最新のレビューコメントから、ビルドの通過テストやコンポーネントのバージョンに至るまで、HCL Accelerate を使用して追跡・分析するデータは無限にあります。すべてのデータは、私たちのDevOpsの旅のより深い理解に役立ちますが、時には、特定のタスクにどのデータと関係を持たせる必要があるのかを知ることが課題になることもあります。この記事では、典型的なエンド・ツー・エンドのバリュー・ストリームのフローにおいて、どの部分が最も重要なのかをゼロにして、作業アイテムが最初のステージから最後のステージに移るのを見られるようにしたいと思います。これが終われば、トラッキングツールの課題が、典型的なバリューストリームの環境のステージで構築、デプロイ、トラッキングされたパーティクルにリンクするまでに何が必要なのかを概念的に理解できるようになります。
まず、典型的なバリュー・ストリームにはどのようなものが含まれるのかを説明します。バリューストリームが初めての方で、「そもそもバリューストリームを初期化するにはどうすればいいのか」などの質問がある場合は、HCL Accelerate のチュートリアルビデオをご覧になるか、1対1のデモをリクエストしてください。基本的な設定ができたら、統合のどのようなプロパティがバリュー・ストリームを介した作業項目の移動を促進するのかについての詳細を学びに来てください。
一般的なバリューストリームには、次のようなステージがあります。バックログ、開発のために選択された、進行中、レビュー中、マージ済み、ビルド、開発、QA、および開発。1つのバリューストリームから別のバリューストリームまで、多くの違いがあると思われますが、計画段階(Backlog および Selected For Development)、開発段階(In Progress、In Review、Merged、Built)、およびデプロイメント段階(Dev、QA、および Prod)の基本的な考え方をここでは、Accelerate が DevOps プロセスをより目に見える形で定量化するために、ビルドとデプロイメントを計画項目にリンクさせる特性をエンドツーエンドで説明する方法で表現しています。
具体的なバリューストリームの関係に飛び込む前に、何を扱っているかの大まかな概要を把握しておきましょう。
最も基本的なレベルでは、Issue、Builds、Deployments があります。課題は様々なコミットで作業され、プルリクエストにマージされます。ある時点で、これらのコミットはビルドされ、バージョンが与えられます。バージョンが与えられたビルドが環境に投入されると、デプロイメントが発生します。では、これらの関係と、それらに関連するプロパティを見ていきましょう。
issue - issue は値の流れの出発点であり、通常は BacklogとSelected For Development のステージで見られます。コミットと PR の関連付けルールにより、コミットとプルリクエスト(両方ともソース・コントロール・ツールから)にリンクされます。
プルリクエストとは - プルリクエスト (PR) は通常、レビュー中の段階で情報を提供します。デプロイメントに向けて課題を関連付けることはありませんが、バリューストリームのいくつかのステージに関連している可能性があります。プルリクエストには、プルリクエストのコードに関連するコミットを参照するプロパティが含まれています。
コミット - コミット・データ・オブジェクトには、関連する PR id と同様に、その issue の id への参照が格納されます。
ビルド - ビルドは、そのビルドのコードに新しく追加された関連するすべてのissue、コミット、および PR への id による参照を含んで保存されます。
デプロイメント - デプロイメントは、ビルドに関連するバージョン名を持っています。また、重要なことに、バリューストリームのパイプライン上のアプリケーションに応答するアプリケーション ID と環境 ID、およびアプリケーションがデプロイされるパイプラインの環境ステージ (関連するバージョン) を持っています。
これで、HCL Accelerate Value Stream フローを構成するものについて深く掘り下げてみましたが、Accelerate を使用してDevOpsの実践からさらに多くの成果を得る準備ができたことを願っています。プロセスについて知れば知るほど、プロセスをより効率的にできます。ですから、私たちが使用しているプロセスをより詳しく知ることで、効率性を高めることさえできるかもしれません。
HCL Accelerate は、無料の Community Editionで今すぐご利用いただけます。こちらから入手できます。
https://blog.hcltechsw.com/accelerate/how-to-connect-sonarqube-to-hcl-accelerate/
How to Connect SonarQube to HCL Accelerate
SonarQube と HCL Accelerate の接続方法
2020年8月12日
著者: Daniel Trowbridge / Technical Lead, HCL
このチュートリアルでは、HCL Accelerate と SonarQube の統合を設定する方法を説明します。SonarQube は、コード品質の測定と追跡、および静的コード分析のために、バリューストリームと一緒に使用することができます。SonarQube 統合は、後述する webhook パターンに依存するという点で、他の統合とは少し異なります。このパターンは効率的ですが、SonarQube インスタンスの追加設定が必要で、このチュートリアルで説明する証明書の問題が一般的です。
あなたに必要なもの
HCL Accelerate での管理職権限
SonarQube の管理者権限
1. Webhook パターン
HCL Accelerate は、SonarQube と統合するために webhook パターンを使用します。webhookは、プロジェクトの分析が終了するたびにHCL Accelerateに通知するために使用され、HCL Accelerate はその後、分析に関する追加情報を SonarQube から取得します。各統合は、SonarQubeがwebhook URLとして使用する独自の HCL Accelerate エンドポイントを作成します。この方法で複数の SonarQube 統合を設定したり、1 つの統合をウェブフックするように複数の SonarQube インスタンスを設定したりすることができます。ニーズによって異なります。
**2. 統合の作成***
HCL Accelerate で SonarQube 統合を作成します。Settings」>「Integrations」と進み、「Plugins」タブの下にあるSonarQubeプラグインの「Add Integration」をクリックします。必要なフィールドをすべて入力します。
注:イテレーションを作成した後、アップデートが利用可能かどうかを確認してください。統合を最新バージョンにアップデートすることをお勧めします。
3. Webhookの設定。
HCL Accelerate の「統合」タブに移動して、統合が作成されたことを確認します。統合の詳細を展開して、そのエンドポイント URL を確認します。このエンドポイント URL を指すように SonarQube のウェブフックを設定します。SonarQube のウェブフックは、プロジェクトレベルまたはグローバルレベルで設定できます。詳細については、SonarQube のドキュメントを参照してください(https://docs.sonarqube.org/latest/project-administration/webhooks/)。
4. Webhooks のトラブルシューティング
4.1 webhook エラーの原因の特定
SonarQube の現在のバージョンでは、Webhook の失敗エラーは簡単には表示されません。webhook エラーをトラブルシューティングするには、まず SonarQube コンピュートエンジンのログレベルを DEBUG に変更してから、プロジェクト解析を実行して webhook を起動し、UI からログをダウンロードして(またはサーバー上のログを検査して)、webhook エラーを報告している行を探してください。詳細は SonarQube のドキュメントを参照してください。
4.2 一般的な証明書エラー
webhook は https であるため、SonarQube は証明書要件を強制するため、通信に失敗する可能性があります。証明書は通常、以下のような理由で失敗します。
5. 自己署名証明書エラーの解決
HCL Accelerate の本番インスタンスでは、認証局(CA)が発行した証明書を使用する必要がありますが、特にテストや実験システムでは、本格的な証明書が必ずしも利用できるとは限りません。そのような場合は、HCL Accelerate に同梱されている自己署名証明書を代わりに使用することができます。ただし、自己署名された証明書であるため、SonarQube のようなサードパーティ製アプリケーションを信頼するように設定する必要があります。さらに、証明書のホスト名は、webhook ホスト名と同じである必要があります。
5.1 有効な証明書ホスト名の確認
まず、ホスト名が正しく設定されていることを確認します。証明書のホスト名が実際のホスト名と一致しない場合は、実際のホスト名を変更するか、正しいホスト名で新しい証明書を作成してください。例えば、以下のように OpenSSL を使用します。
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
新しい証明書が作成された場合、HCL Accelerateはその証明書を使用して設定する必要があります。docker-compose インストールの場合、証明書は
5.2 証明書を SonarQube サーバーにコピーする
証明書は、HCL Accelerate サーバーから直接コピーすることができます。Docker-Compose インストールの場合、証明書は
FireFox で証明書をコピーするには? URL 証明書のドロップダウンから「More Information」をクリックし、「View Certificate」をクリックして、PEM ファイルをダウンロードします(Mac 版 FireFox は以下の図とは異なる UI を持っています)。
5.3 SonarQube サーバーの Trust Store に証明書を追加する
オプション A - デフォルトのトラストストア "cacerts"
デフォルトの Java トラストストアは「cacerts」です。これが SonarQube が使用しているトラストストアであれば、自己署名証明書を "cacerts" に追加し、SonarQube を再起動して作業を進めることができます。
$JAVA_HOME/bin/keytool -import -trustcacerts -keystore -cacerts -storepass changeit -noprompt -alias <cert_alias> -file <cert_path.pem>
$JAVA_HOME/bin/keytool -list -v -cacerts -storepass changeit | grep <cert_alias>
オプション B - 新しいトラストストア
場合によっては、単に証明書をデフォルトのトラストストアとして cacerts に追加するのではなく、新しいトラストストアを設定する必要があるかもしれません。
必要に応じて、以下のコマンドを実行して値を置換してください。
$JAVA_HOME/bin/keytool -import -trustcacerts -alias <cert_alias> -file <cert_path.pem> -keystore JAVA_HOME/lib/security/<new_trust_store.jks> -storepass changeit -v
<SonarQube インストールパス>/conf/sonar.properties を以下のように編集します。
#--------------------------------------------------------------------------------------------------
# TRUST STORE
# Overrides default trust store for certificates (Default is $JAVA_HOME\lib\security\cacerts)
sonar.ce.javaAdditionalOpts=-Djavax.net.ssl.trustStore=<path to newly created .jks file> -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=jks
6. 証明書エラーの代替回避策: http ルート の使用
デフォルトの webhook ルートは https です。これは確かにセキュリティ上の理由から推奨されています。webhook の http ルートを公開することで証明書の要求を回避することは可能ですが、可能であればこれは避けるべきです。自己署名証明書とは異なり、http ルートは証明書の認証の利点を取り除くだけでなく、 トランスポート層の暗号化も取り除きます。http ルートを使う場合は、このトレードオフを意識することが重要です。
6.1 http ポートを公開する
docker-composeインストールでは、以下に示すように、ポート6004を開くために docker-compose.override.yml 構成ファイルを使用します。このファイルは、HCL Accelerateのインストールディレクトリーに、Accelerateのdocker-compose.yml ファイルと一緒に作成します。オーバーライドファイルがすでに存在する場合は、必要に応じて、services、reporting-consumer、および ports の下に適切な構成を追加します。
version: '2.1'
services:
reporting-consumer:
ports:
- "6004:6004"
6.2 webhook の変更
SonarQube の webhook URL を、https レポート作成用の消費者ルートから http ポート 6004 ルートに変更します。
デフォルトの https 形式
https://<accelerate-hostname>/reporting-consumer/pluginEndpoint/<integration id>/sonarqube/callback
http 形式を変更します。
http://<accelerate-hostname>:6004/pluginEndpoint/<integration id>/sonarqube/callback
Jenkins と HCL Accelerate を組み合わせて運用する手順を記した英語版ブログの記事 Creating a Jenkins Integration with HCL Accelerate の日本語版です。
HCL Accelerate と Jenkins との統合構成
2020年8月11日
著者: Daniel Trowbridge / Technical Lead
HCL Accelerate のバリューストリームには、Jenkins からのビルドデータとデプロイデータを含めることができます。これ以外にも、Jenkins の統合を HCL Accelerate パイプラインと組み合わせて使用することで、ビルドとデプロイメントを HCL Accelerate から直接実行し、さらにデプロイメントプランとリリースとして整理できます。ここでは、新しい Jenkins 統合を作成する方法について簡単なチュートリアルを紹介します。
Jenkins プラグイン
HCL Accelerate - Jenkins の統合は、他のほとんどのプラグインとは異なり、2つの部分からのセットアップを必要とします。最初に HCL Accelerate で統合を作成し、次に Jenkins サーバーにプラグインをインストールして設定します。また、他のほとんどのプラグインで行われているようにvsm.jsonファイルを介してバリューストリームに追加されるのではなく、Jenkins の統合はバリューストリームのパイプラインを介してバリューストリームに追加されます。
要件
Jenkins サーバが利用できない場合は、ローカルインスタンスを実行するための Jenkins のドキュメントを参照してください。https:// Jenkins .io/doc/book/installing/
この例では、Jenkins 用のパイプラインプラグインを使用しています。このプラグインは、新しいバージョンの Jenkins ではデフォルトでインストールされています。このプラグインが Jenkins にインストールされているかどうかは、"Plugin Manager"の"Installed"タブ(< Jenkins URL>/pluginManager/installed) から確認できます。もしインストールされていない場合は、今すぐ追加するのが良いでしょう: https://plugins. Jenkins .io/workflow-aggregator。
1. HCL Accelerate Integration を作成します。
1.1 HCL Accelerate の設定ページに移動し、左のナビゲーションで「統合」セクションを選択し、「プラグイン」をクリックします。統合の追加」をクリックして、新しい Jenkins の統合を作成します。
1.2 Jenkins の統合に名前を付けてください ( Jenkins のインスタンスを記述してください)。この統合には好きな名前を付けられます。「Create」をクリックします。これにより、Integration ID と Integration Token が生成されます。これらの値は、Jenkins にインストールされている「HCL Accelerate」プラグインを設定するために必要になります。
2. Jenkins にプラグインをインストールして設定する
2.1 HCL Accelerate User Access Key の作成
HCL Accelerate からユーザーアクセスキーが必要になるので、今から作成します。 HCL Accelerate のユーザー・アクセス・キーを作成するには、「設定」>「マイ・プロファイル」に移動し、「作成」をクリックします。キーには、それを使用する統合に応じて名前を付けると良いでしょう。
Jenkins と HCL Accelerate を接続する
2.2 Jenkins サーバにプラグインのインストール
HCL Accelerate プラグインを Jenkins インスタンスにインストールします。Manage Jenkins > Manage Plugins > Available (タブ)をクリックして、Jenkins インスタンスのプラグインページに移動し、"HCL Accelerate" を検索します。プラグインが見つかったら、プラグインをインストールし、可能な場合はインスタンスを再起動します。
2.3 Jenkins からプラグインを構成する
Jenkins の設定ページManage Jenkins > Configure System > HCL Accelerate (section)に移動します。 HCL Accelerate (セクション)」の下にある必要なフィールドを入力します...
3. バリューストリームに Jenkins インテグレーションを追加する方法
Jenkins の統合は、他の統合とは異なる方法でバリューストリームに追加される。vsm.json ファイルを編集する必要はありません。代わりに、ビルドとデプロイのデータのターゲットを持つために、バリューストリームのパイプライン上に「アプリ」を作成する必要があります。
HCL Software では、お客様の DevOps 環境促進のために HCL Software DevOps Workshop (英語) を実施しています。その解説記事 The HCL Software DevOps Workshop - what's in it for you? の翻訳版です。
HCL Software DevOps Workshop - あなたにとっての意味
2020年8月11日
著者: Allan Wagner / HCL Software Transformation Architect, HCL
ここ数年、DevOps の採用率は確実に上昇していますが、DevOps Institute Upskilling report for 2020 によると、今年の調査に回答した1260人のうち、50%以上の人が DevOps のトランスフォーメーションの旅はまだ難しいと感じていることが示されています。そして、このレポートを読んだ人の中には、データの妥当性に疑問を感じている個人も多いのではないでしょうか。
しかし、これには正直驚いていません。IBM、そして現在の HCL での私の役割として世界中を飛び回り、DevOps の開始や能力の向上について複数の組織と話をする機会に恵まれてきました。最初の頃、私はいつも「何から始めればいいのか」と聞かれました。そして、その質問の頻度は減ったものの、「どこから始めればいいですか」、「どのくらいうまくいっていますか」、「進歩しているかどうかどうかをどうやって知ることができますか」と多くの幹部から、いまなおよく聞かれています。
現実には、自分が持っている意見は、しばしば彼らの実行と懸念の領域に影響されているということです。多くの、非常に多くの個人的な要因が、これらの感情や反応を植え付ける可能性があります。DevOps Instituteによると、DevOps Transformation とは「ITの伝統的な構造の根本的な変化」を意味します。それは新しい技術の採用を意味するだけでなく、より重要なことは、既存の責任のサイロの「伝道」という点で、組織の変革の挑戦を意味します。既存の伝統的な組織モデルに安住しているいくつかの組織にとっては、脅威として認識されるかもしれません。
DevOps の実践者は、「なんだ、そんなに難しくないんだ。チームはパイプラインを自動化してより速くデプロイしたかったんだ」と思っているかもしれません。私たちは、既存の継続的インテグレーションソリューションと統合し、いくつかのテストを自動化する継続的デプロイメントソリューションを実装しました。今では、開発者がコードを書き、コミットすることでビルドが開始され、デプロイされ、コードがチェックされます。 私たちは DevOps をやっているのだ!」と。しかし、それほど速いわけではないかもしれません。
エグゼクティブは、組織の変化、新技術、ビジネスや市場の要求、顧客からのフィードバック、競争などにまたがる、非常に異なるレンズや複数のレンズを使って、DevOps の変革を検討しています。実務者が特定の技術的な問題を解決するためにテクノロジーを使用することに焦点を当てているのに対し、経営幹部はビジネス目標を達成するための手段として DevOps に注目していますが、その一方で、自分たちの担当者に自分たちのやり方、考え方、運営方法を変えるように求めています。企業全体のIT戦略を変えるのに比べれば、1つの小さなチームに変化を導入することは簡単です。
しかし、助けがあります。HCL Software DevOps Workshop は、組織の DevOps 戦略を理解し、一般的には異質なグループ(サイロ)にまたがって議論を促進し、エンドツーエンドのプロセスを理解してマッピングし、ビジネスの結果を出す方法について明確なビジョンを持って前進するためのコースをプロットするディスカッションが含まれています。
DevOps の変革は大規模なものであり、一度にすべてを行うことはできません。しかし、可能性についての明確なビジョン、従うべきロードマップ、完了すべきタスクの理解があれば、企業は遠くを目指し、すばらしい栄光を得ることができるでしょう。
DevOps ワークショップのお申し込みはクリックするだけです。
DevOps 製品は多数あれど、HCL 製品の強みとは何か。その特長について解説した英語版ブログの記事 Here's what makes HCL Software DevOps different の翻訳版です。
HCL Software DevOps の特長
2020年8月11日
著者: Steve Boone / HCL Software DevOps Head of Product Management
現在、市場には数多くの DevOps 製品が出回っていますが、HCL Software の DevOps ポートフォリオは何が違うのでしょうか?
バリュー・ストリーム管理
バリュー・ストリーム・マネジメント (VSM) は、お客様がソフトウェア配信の効率を向上させ、リスクを低減し、品質を確保し、ソフトウェア配信を加速させることを支援します。これは、バリュー・ストリーム管理によって可能になった、組織の人材、プロセス、ツールに対するこれまでにない可視性を提供することによって実現されます。
組織全体のデータを集約することで、アイデアから成果物に至るまで、ビジネス価値が組織内をどのように流れているかを見ることができます。
バリュー・ストリーム・マネジメントによって最終的に仕事を可視化することで、チームのコミュニケーション、コラボレーションの向上、共感と革新の文化の促進を支援し、開発イニシアチブがビジネス目標に沿ったものであることを確認することができます。
セキュリティの重視
セキュリティは、HCL Software の DevOps ポートフォリオの中核をなしています。HCL AppScan ブランドの HCL Software DevOps は、Web、モバイル、オープンソースソフトウェアの静的、動的、インタラクティブなテストを含む一連のセキュリティー・テスト・ツールを提供しています。広範囲に及ぶセキュリティーの脆弱性を検出し、修復を促進します。
HCL Software DevOps は、ソフトウェアがデプロイされる前の開発中に脆弱性を排除することで、シフトレフトセキュリティーを実装しています。包括的な管理機能により、セキュリティー専門家、開発者、DevOps、コンプライアンス担当者は、アプリケーションのセキュリティー態勢を継続的に監視し、規制要件へのコンプライアンスを維持することができます。
包括的で変革的
HCL Software のセキュア DevOps ポートフォリオは、以下のような幅広い機能をカバーしています。
HCL Software DevOps のポートフォリオは、「リッピング&リプレイス」ではないように設計されています。実際、私たちはお客様の既存のツールやプロセスのエコシステムの中で作業することに誇りを持っています。
企業の複雑性
最も困難で複雑な DevOps の問題をお聞かせください。
HCL Software DevOps には、Fortune 500 にランクインしている大手企業のデジタル変革を支援してきた業界のエキスパートが揃っています。
デジタル変革は一朝一夕に起こるものではありません。私たちのチームは、お客様の組織が継続的な改善に向けて適切なステップを踏むことを支援することに長けています。 何十年にもわたるテクノロジーを駆使し、既存の投資を最大限に活用することに苦労されていることを私たちは理解しています。
基本的な自動化からメインフレーム、マイクロサービスまで、そしてその間のすべてを網羅する当社のポートフォリオには、お客様の現在の業務を改善し、セキュリティーと品質への取り組みを強化するために必要なものが揃っています。
開発とサポートへのコミットメント
HCL Software DevOps の製品開発、テクニカル・サポート、フィールド・エンジニアリング・スタッフは、すべて HCL の傘下にあります。HCL は、これらの製品にコードを提供している開発者全員を雇用していますので、製品を手に入れるだけでなく、知識の専門家を手に入れることができます。
価格モデルは簡素化され、DevOps Power Pack のような新しい製品が導入され、より柔軟な購入オプションが可能になりました。HCL Software は、独自のセールスフォースとビジネスパートナープログラムを持っており、直接の関係を可能にしています。
HCL Software は、販売を開始した時点で作業が完了するのではなく、作業が開始されたばかりであることを保証するために尽力しています。業界の専門家で構成される当社のアドバイザリーおよび採用チームは、関係の早い段階でソリューションがビジネス目標を達成できるように関与しています。
HCL Software のカスタマー・アドボケイト・プログラムは、ラボの中小企業とお客様との直接の交流を可能にし、採用を成功させることを可能にします。HCL Software では、既存のツールから HCL への移行が簡単に行えます。
業界の専門家チームが DevOps の「次の何か」への道を切り開く
統一されたチームとして、HCL のテクニカル・ライター、エンジニア、プロダクト・マネージャーの全員が、製品ドキュメント、ブログ、ビデオ、カスタム・ハウツー・ドキュメントなどのコンテンツ資産の大規模なライブラリを作成するために貢献しています。
HCL Softwareの専門家は、私たち自身のコンテンツ以外にも、「DevOps の次は何か」についての業界に焦点を当てたディスカッションにもしばしば参加しています。DevOps from the Human Perspective: A Panel Discussion や、最近では SD Times が開催した Virtual VSM DevCon のような「DevOps の次は何か」についてのディスカッションが行われています。
今すぐ無料で VSM を始めよう
HCL Software DevOps のポートフォリオは、ビジネスの最大の資産である「人」を支援するために設計されています。
HCL Software DevOps のポートフォリオと業界エキスパートのチームは、個人のコントリビューターからトップレベルのエグゼクティブまで、ユーザーにビジネスプロセスとソフトウェアツールの間の意味のある関係を可視化することで、インテリジェントなデータを提供しています。
デジタルトランスフォーメーションは一朝一夕に起こるものではありませんが、継続的な改善は日々起こる可能性があります。
HCL Software DevOps のポートフォリオは、リスク、収益、ガバナンスに基づいた、これまでにない実用的なインサイトを提供することで、顧客のビジネス変革を可能にし、同時に市場投入までのスピードを加速させる最先端の製品を提供します。
最後に、HCL Software DevOps が大きく異なる点をご紹介します。 DevOps への投資からさらに多くの成果を得たいと考えている組織のために、完全無料の個人向けワークショップを提供しています。
当社の DevOps エキスパートによる無料のバリュー・ストリーム管理ワークショップに申し込むか、DIY の方は、今すぐ HCL Accelerate をダウンロードして始めてください:ソフトウェアをより速く、より責任を持って提供するための新しい方法を見つける時が来ました。
HCL AppScan on Cloud と HCL Launch を組み合わせることで、安全ビルドの管理・デプロイを制御しながら運用することについて、英語版ブログの記事 Adding Security to Continuous Delivery を掲載します。
継続的なデリバリーにセキュリティーを追加する
2020年8月7日
著者: Brian Stump / Product Specialist, HCL
物事がうまくいっているときは素晴らしいことだと思いませんか?これは、当社の継続的なデリバリとソフトウェア・セキュリティー・ツールを使用して得られる感覚です。HCL Launch は、AppScan on Cloud (ASoC) と一緒に、自動化、レポート作成、リリース管理を含む DevOps ライフサイクル全体の中で、アプリケーションのセキュリティを自動制御する機能を提供してくれます。
HCL Launch は、ASoC プラグインの出力を処理し、それに応じてビルドを処理できます。ビルドが低レベルの環境に正常にデプロイされたが、深刻度の高い問題で Dynamic ASoC スキャンに失敗した場合、HCL Launch は自動的に最後にデプロイされたバージョンにロールバックし、問題があることを示すステータスでビルドをマークします。ASoC があなたのビルドの中でそれほど深刻ではない問題を識別した場合、HCL Launch は「デプロイメント警告」を表示しますが、ターゲットマシンにインストールされたままにしておきます。そして、もし ASoC が重大な問題を発見しなかった場合、HCL Launch はそのバージョンに AppScan のすべてのスキャンに合格したことを示すアプリのステータスを与えます。言い換えれば、HCL Launch は、AppScan の承認に合格しない場合、Prod やその他の高レベルの環境へのデプロイを防げる環境ゲートを作成します。
ソフトウェアのデプロイメントにおけるセキュリティを簡単にする準備はできていますか?HCL Launch を使用してデプロイメントを実行し、ASoC セキュリティースキャンを開始するパイプラインをセットアップする方法について説明します。
HCL Launch の構成
HCL Launch には、AppScan on Cloud 用の無料でインストール可能なプラグインがあります。このプラグインには、AppScan サーバー上で以下の各作業を行うための手順が含まれています。
このシナリオでは、ASoC で静的スキャンと動的スキャンを同時にキックオフするワークフローを設定します。以下の手順とスクリーンショットでは、HCL Launch プロセスを構成する方法を説明します。
各HCL Launch プラグインのステップは、ASoC アプリケーションID、キーID、およびキーシークレットを設定する必要があります。
スタティック アナライザー ステップでは、スキャンのためにアップロードされる IRX ファイル、またはスキャンするファイルやその他の場所を含むディレクトリーのいずれかを指す IRX ファイルも必要です。このフィールドには、スキャン設定ファイル、eclipseワークスペース、.jar、.war、および.earファイルタイプを指定できます。アプリケーションID、キーID、およびキーシークレットに加えて、ダイナミックアナライザーのステップでは、スキャンする場所のURLが必要になります。ページにログインが必要な場合は、アプリケーションのログイン認証情報も提供する必要があります。
各ステップには、「失敗条件のしきい値」のフィールドがあり、H、M、L、I の文字が含まれていることに注意してください。これらは、そのステップが失敗する前に、そのステップが何個の高、中、低、および情報レベルのセキュリティ脅威を受け入れるかを示しています。たとえば、次の例では、スキャンの結果、5 つ以上の中程度の警告が発生した場合、ステップは失敗します。
また、各 ASoC ステップの後の HCL 起動プロセスエディタ内のグレーの円にも注意してください。これは、ステップが失敗しても、失敗した場合を処理するために、プロセスが先に進めるようにするために重要です。必要に応じて、条件付きロジックを追加して、HCL Launch プロセス・エディタを使用してプロセス全体を失敗させることもできます。
ステップが設定されたら、アプリケーションの展開とセキュリティ・スキャンを実行する時間です。これを実行するための HCL Launch アプリケーションのプロセスは、以下のようになります。
同時に実行されている2つのスキャンを示すステップを丸で囲んでみました。 ASoC サーバーにジャンプすると、これらのスキャンがそこでも実行されていることがわかります。
ここでは、AppScan on Cloud を HCL Software のバリュー・ストリーム管理プラットフォームである HCL Accelerate と統合する方法をご紹介しました。
HCL Accelerate には、無償利用が可能な Community Edition があります。そのことについての英語版ブログの記事 Get to know the HCL Accelerate Community Edition の解説記事です。
HCL Accelerate Community Edition を知る
2020年8月6日
著者: Bryant Schuck / Product Manager for HCL Software DevOps
HCL Software DevOps のチームは、当社のバリュー・ストリーム管理ツールの無料版である HCL Accelerate Community Edition を提供することに興奮しています。
HCL Accelerate Community Edition には、2 ユーザーの同時使用権が付属しており、「2 つのピザ開発チーム」に最適です。Community Edition は、Standard Edition と同じバリューストリーム管理、リリースオーケストレーション、分析機能をすべて備えていますが、小規模なチームに最適です。HCL Accelerate Community Edition は、hclsw.co/getaccelerate にアクセスすることで、すぐに使い始められます。
Community Edition は、バリュー・ストリーム管理を始めるのに最適な方法ですが、エンタープライズレベルの組織には HCL Accelerate Standard Edition をお勧めします。Community Edition はチーム間での拡張はできませんが、HCL Accelerate の使用を拡大する準備ができたら、Community Edition の個々のインスタンスを Standard Edition にアップグレードできます。アップグレードすると、すべてのデータと設定が保存され、Standard Edition に転送されるため、まず Community Editionを試してみて損はありません。HCL Accelerate に 2 人以上のユーザーが必要になることがわかっている場合は、60日間の無料トライアルを利用してすぐに Standard Edition を利用できます。60 日間の無料トライアルが終了すると (ライセンスを購入しなければ) HCL Accelerate の Standard Edition は Community Edition となります。
HCL Accelerate の Get Started ページには多くの情報が掲載されていますが、ここではCommunity Edition に関するその他のよくある質問をご紹介します。
Community Edition のシステム要件は何ですか?
Docker Compose をインストールするには、4 CPU コア、8GB の RAM が必要です。Linux、MacO、Windows OS をサポートしています。ただし、OS のサポートは選択した Docker Platform に基づいています。CEとSEの機能セットは同じなので、システム要件も同じです。
本番環境で HCL Accelerate を構成する場合は、当社のドキュメントに記載されている推奨システム要件に従ってください。注: 本番環境での使用のための Docker Compose はサポートしていません。
自分が辿って習得できるような、サンプルやテンプレートの値ストリームはありますか?
HCL Software のドキュメントには、リンクルール、メトリクス、ステージなど、バリューストリームの構築方法についての多くの例があります。
HCL Accelerate プラグインと統合の違いは何ですか?
他の HCL Software DevOps 製品と同様に、HCL Accelerate では、プラグインのセットをサポートしています。HCL Accelerate では、統合はプラグイン自体のインスタンス化です。プラグインの複数の設定(異なるプロジェクトやサーバー用に設定された JIRA プラグインなど)があるかもしれないので、区別を指定できるようにしたいと思います。
HCL Accelerate プラグインはどこでダウンロードできますか?
HCL Accelerate の素晴らしい点の一つは、プラグインの管理をプラグインフレームワークが行うことです。HCL Accelerateプラグインは、HCL Software の Docker レジストリ内の Docker イメージとしてホストされ、インストールおよびアップグレード時に自動的にプルされます。ローカルにインストールされると、HCL Accelerate は内部レジストリからプルされ、より高速な統合ランタイムを実現します。
ネットワークチームが当社の公開 Docker レジストリからのダウンロードを禁止している場合は、ファイアウォールの後ろにある既知のカスタムレジストリからダウンロードするように HCL Accelerate を設定できます。
設定された HCL Accelerate 統合をバリューストリームに接続するにはどうすればよいですか?
すべてのバリューストリームは、JIRA や GitHub などの設定済みの統合からのデータで構成されています。今日では、これらの統合は VSM json 内で設定する必要があります。
例えば、次のスニペットを VSM JSON の integrations セクションに追加して、2 つの設定された統合を割り当てます。
“integrations”:
{
"name". "my-bitbucket-integration"
},
{
"name". "my-github-integration"
},
インポートすると、HCL Accelerate は、設定で構成された統合から自動的に値を取得します。VSM JSON をエクスポートすると、新しくマッピングされた統合の下に、より多くの設定値があることがわかります。
VSM JSON を使用して新しい統合を作成したい場合は、すべてのプラグインの設定値を提供できます。各プラグインで設定に必要な値が異なるため、プラグインのドキュメントを参照してください。
HCL Accelerate の設定について、1対1のサポートを受けられますか?
はい!このページのフォームにご記入ください (英語)。
HCL Accelerate の機能紹介シリーズの Get insights into your value stream with the HCL Accelerate Metrics Bar の翻訳版です。
HCL Accelerate Metrics Bar を使用して、バリュー・ストリームの洞察を獲得する
2020年8月5日
著者: Bryant Schuck / Product Manager for HCL Software DevOps
今日のソフトウェア開発ライフサイクルの世界では、継続的な改善は非常に一般的な目標であり、多くのチームが手法としてアジャイルを使用しています。多くのチームがアジャイルの一部を導入していますが、実際に改善しているでしょうか?そして、SDLC のどの部分が改善されているのでしょうか?多くの企業がフォローしたい主要なメトリクスを追跡しているかもしれませんが、それは通常、スプレッドシートを介してか、エコシステム全体の中から1つのツールを使って生成されています。これらの方法はどちらも正確ではなく、面倒です。
HCL のバリュー・ストリーム管理プラットフォームである HCL Accelerate は、メトリクス・バーと呼ばれる機能でこの問題を解決しています。メトリクス・バーはバリュー・ストリームに特化したもので、リードタイム、サイクルタイム、ビルド頻度、ワークアイテムの分布など、チームが気にしている主要なメトリクスをレポートできます。これは、プロセス全体を改善しようとするチームにとって非常に重要です。
サイクルタイムが品質とどのように相関しているか、ということを示す素晴らしい例があります。高いパフォーマンスを発揮するチームは、頻繁にリリースしても、作成される欠陥が少ないことはよく知られています。HCL Accelerate のメトリック・ウェアハウスを使用すると、メトリック・バーは、多くのツールにわたってこれら 2 つのメトリックをリアルタイムで追跡し、1 つのメトリックを改善しても他のメトリックが損なわれないように正確な画像を提供できます。
メトリック・バーは、バリュー・ストリームごとに最大 6 つのメトリックをサポートしています。これにより、プロセスがどのように改善されているかを確認するのに十分なメトリクスが得られますが、圧倒されるほど多くのメトリクスは得られません。メトリクスの追加は、メニューから1つを選択するのと同じくらい簡単で、組織のニーズに合わせてメトリクスをカスタマイズできます。
これらのメトリクスは、統合からのデータを使用して入力されるので、データが表示されない場合は、そのデータと相関する統合があることを確認してください。例えば、デプロイ頻度をバーに追加したい場合は、HCL Launch やその他のデプロイツールとの統合が必要になります。
チームが必要としているメトリクスが見つからない場合は、いくつかの簡単なステップを踏むだけで、デプロイ頻度を追加できます。いくつかの簡単なステップで、カスタムメトリックを作成できます。プロプライエタリなツールからの特定のデータがある場合、これは誰にでも可視性を得るための簡単な勝利です。ここでは、あなたを始めるための簡単なワークブックをご紹介します。すべての呼び出しとデータ操作を、設定されたスケジュールでメトリックを生成する軽量なスケジュールイベントにラップできる独自のカスタムプラグインを作成できます。
無料のコミュニティー版で HCL Accelerate のメトリクスバーやその他の機能をチェックしてみてください。ダウンロードはこちらから。