SonarQube と HCL Accelerate の接続方法

2020/8/13 - 読み終える時間: 7 分

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 の管理者権限

  • SonarQube auth トークンの作成
  • プロジェクトまたはグローバルレベルのウェブフックの作成
  • HCL Accelerate 証明書のトラブルシューティングと問題解決

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」をクリックします。必要なフィールドをすべて入力します。

注:イテレーションを作成した後、アップデートが利用可能かどうかを確認してください。統合を最新バージョンにアップデートすることをお勧めします。

  • インテグレーション名
  • SonarQube URL
  • SonarQube 認証トークン: SonarQube の認証トークンは、SonarQube の「ユーザー」>「マイアカウント」>「セキュリティ」(SonarQube のドキュメント)から作成することができます。
  • HCL Accelerate User Access Key: アクセストークンを作成するには、「設定」→「マイプロファイル」で「作成」をクリックします。アクセスキーは、使用するインテグレーションに合わせて名前を付けておくと良いでしょう。後でキーをコピーできなくなるので、この時点で必ずコピーしておきます。

画像の説明

3. Webhookの設定

HCL Accelerate の「統合」タブに移動して、統合が作成されたことを確認します。統合の詳細を展開して、そのエンドポイント URL を確認します。このエンドポイント URL を指すように SonarQube のウェブフックを設定します。SonarQube のウェブフックは、プロジェクトレベルまたはグローバルレベルで設定できます。詳細については、SonarQube のドキュメントを参照してください(https://docs.sonarqube.org/latest/project-administration/webhooks/)。

  • HCL Accelerate からの統合コールバック URL のコピー
  • 統合コールバックURLでSonarQube Webhookを設定

4. Webhooks のトラブルシューティング

4.1 webhook エラーの原因の特定

SonarQube の現在のバージョンでは、Webhook の失敗エラーは簡単には表示されません。webhook エラーをトラブルシューティングするには、まず SonarQube コンピュートエンジンのログレベルを DEBUG に変更してから、プロジェクト解析を実行して webhook を起動し、UI からログをダウンロードして(またはサーバー上のログを検査して)、webhook エラーを報告している行を探してください。詳細は SonarQube のドキュメントを参照してください。

4.2 一般的な証明書エラー

webhook は https であるため、SonarQube は証明書要件を強制するため、通信に失敗する可能性があります。証明書は通常、以下のような理由で失敗します。

  • トラストストアの要件。詳細は下記の自己署名証明書エラーの解決を参照してください。
  • ホスト名の一致: 証明書で指定されたホスト名は、webhook URL で使用されるホスト名と一致している必要があります。

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 インストールの場合、証明書は /2.0.4/conf/ssl の下に配置する必要があります。

5.2 証明書を SonarQube サーバーにコピーする

証明書は、HCL Accelerate サーバーから直接コピーすることができます。Docker-Compose インストールの場合、証明書は/conf/sslの下にあります。また、ブラウザーから直接証明書をダウンロードすることもできます。Firefoxでは、証明書を表示してダウンロードできるようにすることで、これを簡単に行うことができます。証明書を入手したら、SonarQubeサーバーに転送します。例えば、SCP を使用したり、他の任意の方法で転送することができます。

FireFox で証明書をコピーするには? URL 証明書のドロップダウンから「More Information」をクリックし、「View Certificate」をクリックして、PEM ファイルをダウンロードします(Mac 版 FireFox は以下の図とは異なる UI を持っています)。

5.3 SonarQube サーバーの Trust Store に証明書を追加する

オプション A - デフォルトのトラストストア "cacerts"

デフォルトの Java トラストストアは「cacerts」です。これが SonarQube が使用しているトラストストアであれば、自己署名証明書を "cacerts" に追加し、SonarQube を再起動して作業を進めることができます。

  • を証明書の記述的なエイリアスに置き換えます。
  • を実際の証明書パスに置き換えてください。
  • 実際のパスワードを使用します。そうでない場合は、changeit とします。以下のコマンドを使用して、cacertsのトラストストアに証明書を追加します。

$JAVA_HOME/bin/keytool -import -trustcacerts -keystore -cacerts -storepass changeit -noprompt -alias <cert_alias> -file <cert_path.pem>

  • 証明書がcacertsに追加されたことを確認します(オプション)。

$JAVA_HOME/bin/keytool -list -v -cacerts -storepass changeit | grep <cert_alias>

オプション B - 新しいトラストストア

場合によっては、単に証明書をデフォルトのトラストストアとして cacerts に追加するのではなく、新しいトラストストアを設定する必要があるかもしれません。

  1. トラストストアとして使用する新しいキーストアを作成します。

必要に応じて、以下のコマンドを実行して値を置換してください。

  • を証明書の記述的なエイリアスに置き換える。
  • を実際の証明書パスに置き換える。
  • を実際の名前に置き換える。
  • パスワードは changeit 以外のパスワードを作成することを検討してください。

$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

  1. 先ほど作成した .jks ファイルをトラストストアとして使用するように SonarQube を設定します。

<SonarQube インストールパス>/conf/sonar.properties を以下のように編集します。

  • <新規作成された .jks ファイルへのパス>を実際のパスに置き換えます。
  • changeit "ではない場合は実際のパスワードを使用してください。
#--------------------------------------------------------------------------------------------------
# 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


HCL Accelerate と Jenkins との統合構成

2020/8/13 - 読み終える時間: 5 分

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 の統合はバリューストリームのパイプラインを介してバリューストリームに追加されます。

  • HCL Accelerate 統合を作成
  • 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 IDIntegration 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 (セクション)」の下にある必要なフィールドを入力します...

  • HCL Accelerate で作成した統合によって生成された Integration IDIntegration Token 値。
  • Accelerate Base URL を提供します。コンテナから Jenkins を実行している場合、localhost は host.docker.internal としてアクセスできることに注意してください。
  • また、このプラグインが Jenkins にアクセスできる Jenkins ユーザーの資格情報も提供してください。
  • バージョンによっては、HCL Accelerate ユーザーのアクセストークンを提供する必要があるかもしれません。先に作成したアクセストークンを使用してください。
  • HCL Accelerate への接続を確認するために、[接続のテスト]ボタンをクリックする前に、[適用]をクリックして保存します。接続が成功すると、お客様のデータが HCL Accelerate に投稿されます。

画像の説明

3. バリューストリームに Jenkins インテグレーションを追加する方法

Jenkins の統合は、他の統合とは異なる方法でバリューストリームに追加される。vsm.json ファイルを編集する必要はありません。代わりに、ビルドとデプロイのデータのターゲットを持つために、バリューストリームのパイプライン上に「アプリ」を作成する必要があります。

  • 「パイプライン」に移動し、「アプリの追加」をクリックします。
  • ドロップダウンから "Jenkins" を選択します。

画像の説明

  • アプリケーション名を入力します。ワークブックでは "JKE App1" という名前を使用します。

画像の説明

  • 新しいアプリケーションはパイプライン内の行として表示されます。この Jenkins の統合は、当社のバリューストリームで利用できるようになりました。

画像の説明

  • 新しいアプリケーションはパイプライン内の行として表示されます。この Jenkins の統合は、バリューストリームで利用できるようになりました。

画像の説明


HCL Software DevOps Workshop - あなたにとっての意味

2020/8/13 - 読み終える時間: ~1 分

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 ワークショップのお申し込みはクリックするだけです。


HCL Software DevOps の特長

2020/8/12 - 読み終える時間: 3 分

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 ポートフォリオは、以下のような幅広い機能をカバーしています。

  • 変更および構成管理
  • 継続的な配信
  • リリースオーケストレーション
  • アプリケーションセキュリティー
  • バリューストリームマネジメント
  • 組み込み型DevOps
  • UI、API、仮想化、組み込み、テストデータ管理を含む完全なテスト自動化

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 をダウンロードして始めてください:ソフトウェアをより速く、より責任を持って提供するための新しい方法を見つける時が来ました。


継続的なデリバリーにセキュリティーを追加する

2020/8/12 - 読み終える時間: 3 分

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 プレゼンスの作成
  • ASoC プレゼンスの削除
  • ASoC のプレゼンスを開始
  • Start Android Mobile Analyzer ASoC Scan
  • Dynamic Analyzer ASoC Scan の起動
  • Static Analyzer ASoC Scan の開始
  • iOS Analyzer ASoC Scan の起動
  • ASoC の存在の停止

このシナリオでは、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 を知る

2020/8/12 - 読み終える時間: 3 分

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 Launch: エージェントリレーキャッシングによるパフォーマンスの向上

2020/8/5 - 読み終える時間: ~1 分

英語版ブログ記事 Boost performance with agent relay caching in HCL Launch の翻訳版です。


HCL Launch: エージェントリレーキャッシングによるパフォーマンスの向上

2020年8月4日

著者: Hayden Schmackpfeffer / Senior Developer, HCL

画像の説明

エンタープライズ規模では、パフォーマンスが制限要因となります。 HCL Launch はもちろんエンタープライズ向けに設計されており、パフォーマンスを維持しながら成長を支援する機能を提供しています。

インストールを拡張するために使用できる機能のひとつはエージェントリレーです。リレーはファイアウォールの外にあるエージェントを管理します。リレーは、サーバとの通信を一箇所で行うことができるため、この機能は拡張がしやすくなっています。「任意の数」というのは大げさかもしれませんが、各リレーは 1,000 エージェントを確実にサポートできます。

ファイアウォールの設定をナビゲートするだけでなく、リレーはエージェント通信の負担をサーバから軽減することでパフォーマンスを向上させます。すべてのエージェントに成果物を送信する代わりに、サーバは成果物をリレーに送信するだけで、リレーからエージェントに成果物が送信されます。多くの顧客がこのトポロジーを使用しています。

ネイティブの HCL Deploy アーティファクト・リポジトリ CodeStation を使用している場合、パフォーマンスを向上させるもう一つの機能は、エージェント・リレー・キャッシングです。この機能は、アーティファクトのコピーをリレーに格納することで、ダウンロード時間を短縮します。サーバーは、すべてのアーティファクト要求に応答する必要がなく、複数のエージェントが同時にキャッシュされたアーティファクトをダウンロードすることができます。

リレーを構成して、「ステージング」などの特定のステータスに基づいてアイテムを自動的にダウンロードするように設定することで、アーティファクトをプリロードすることができます。または、HCL デプロイ・アプリケーションを使用して、リレー・キャッシュにアーティファクトをロードすることもできます。

この機能によって提供されるパフォーマンスの恩恵は、劇的なものになる可能性があります。

リレーキャッシュの最近の強化は、この機能をさらに魅力的なものにしています。今では、アプリケーションが大きなファイルやアーティファクトの一部だけを必要とする場合、最初にファイル全体をダウンロードすることなく、直接それを取得することができます。特に、必要なアーティファクトが10GBなどの大容量ファイルの最後にある場合には、パフォーマンスは大きく向上します。

最後に、リレーは、ユーザーの期待に沿ったキャッシュサイズを維持するために、より積極的になっています。以前は、クリーンアップ間隔の関係で、リレーキャッシュが一時的にサイズ制限を超えることがありました。今では、適切に設定されていれば、実際にはサイズ制限を超えることはありません。

このオンデマンドビデオデモで HCL Launch の動作をご覧ください。


HCL Accelerate: Value Stream Manager とは?

2020/8/4 - 読み終える時間: ~1 分

DevOps の実際においては、全体の流れとその価値創出や問題点の把握・解決を行う「バリュー・ストリーム・マネージャー」が重要な役割を担います。この「バリュー・ストリーム・マネージャー」についての解説記事 What is a Value Stream Manager? の翻訳版です。


HCL Accelerate: Value Stream Manager とは?

2020年8月3日

著者: Nick Mathison / Value Stream Manager

画像の説明

HCL Value Stream Manager としての私の役割は、通常の開発プロセスの中で発生する可能性のあるドラッグや問題点を減らしながら、開発プラクティスを流れる作業のスループットを向上させることです。要するに、私の仕事は、改善すべき領域を特定し、それに対処することです。

もしあなたが新しいバリュー・ストリーム・マネージャーであれば、最初から設計、分析、開発、テスト、QA、開発、リリースに至るまでのバリュー・ストリームをマッピングすることからこのプロセスを始めるでしょう。その後、チームと協力してギャップや誤解を特定します。このバリュー・ストリーム・マップは、私がデリバリ・パイプラインを分析するために使用している主要なツールです。

このマップをダイアグラム化したら、バリューストリームを、すべてのツールと統合できるバリューストリーム管理製品に変換して、バリューストリームの項目をフォローしてください。そうすれば、バリュー・ストリームの問題を簡単に発見し、診断し、行動計画を立てることができます。バリュー・ストリーム管理ツールは、バリュー・ストリームを可視化できるだけでなく、リードタイム、サイクルタイム、平均回復までの時間などのメトリクスを追跡し、改善の測定をさらに容易にします。

バリュー・ストリーム・マネージャーになるために必要なことの詳細については、以下のビデオをご覧ください。


About

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。