2019Talendは、CI/CDの実装を進化させ、簡素化し続けています。Azureを利用することで、どのように継続的統合(CI)およびデリバリーのパイプラインの完全な自動化、ゼロインストール、およびエンドツーエンドデリバリーを実現して、すべてのDevOpsの目標を達成できるか説明します。AzureでのエンドツーエンドのCI/CDパイプラインの構築について詳しく説明する前に、当社のCI/CDの歴史について説明します。Talendは、2016年夏に最初の継続的インテグレーション機能を展開しました。このとき、統合プロジェクトのデリバリーまでの時間を短縮する進化が始まったのでした。Studioに組み合わせることで、Jenkinsなどの使い慣れたCIオーケストレーションツールを利用して、自動的なビルド、単体テスト、および成果物リポジトリへのTalendジョブのパッケージングを行えるようになりました。これは大きな第一歩ですが、継続的デリバリーの要素をすべて満足させるものではありませんでした。Jenkins内で大幅な構成が必要であるとともに、追加のソフトウェアを手動でインストールする必要がありました。現在では、データ駆動型企業は、より多くのデータに関する知見を絶えず得ようとし、短時間での信頼性の高いデータプロセスを開発チームに求めています。このような需要の増大に対応するため、IT組織は、ダウンタイムゼロの完全なエンドツーエンドCI/CDパイプラインを含むDevOps手法を活用しています。進化した点TalendをCI/CDプロセスに統合することは、決して目新しいことではありません。DevOpsとTalendを活用してCI/CDパイプラインを構築した例について記事を書いています。Builderサービスをホストするために、Azureプラットフォームでホステッドエージェントを構築して構成するには大変な労力が必要でした(「記事」を参照)。ほんの数か月後、TalendはゼロインストールCI機能を提供しました。この機能によって、その労力は不要になり、これまでにないほど容易にクラウドで継続的インテグレーション(CI)を実現できるようになりました。例について見ていきましょう。Microsoftホステッドエージェントを使用するために、ゼロインストールCI機能を活用して、AzureパイプラインにCIパイプラインを作成します。DevOpsを使用したCI/CDパイプラインの構築」で説明したステップと基本的に同じです。この記事では、エージェントを設定する必要はありません。DevOpsプラットフォームによって提供されるエージェントを使用します。Cloudにパブリッシュすることです。以前の記事で詳しく説明しているため、ここでは最初のステップについて詳しく扱いません。ここでは、ゼロインストールCIの使用に関する詳細についてのみ説明します。ファイルはGitHubのこちらにあります。次の2つの前提条件があります。StudioおよびNexusからのサードパーティライブラリを同期してCIが機能するように、Nexusを設定する必要があります。libraries(サードパーティライブラリ向けのNexusの設定)」を参照してください。第2の要件は、P2リポジトリと呼ばれるものをホストする必要があることです。その内容とその目的についてはこの記事で既に説明しました。Storageでホストする必要があります。Storageでホストする場合は、次の手順を確認してください。それ以外の場合は、この部分はスキップしてください。Storageアカウントを作成して、静的ファイルホスティングを有効にします。プライマリエンドポイントをコピーして、貼り付けます。これは、P2リポジトリを指すURLになります。$webコンテナが作成されます。Storageフォルダーにアップロードします。数秒以内に、P2リポジトリがホストされ、使用可能になります。変数グループ):以下を設定する必要があります。->ホステッドP2リポジトリのURL(外部からアクセス可能である必要があります)注釈:ユーザー名/パスワードの代わりに個人用アクセストークンを使用することもできます。以下のパイプラインでパラメーター、-Pcloud.tokenを使用して、CLOUD_TOKEN変数のみを設定します。次に、セキュリティで保護された2つのファイル(7.2.1以上のプラットフォームライセンスファイルとMavenのsettings.xml構成ファイル)を追加します。Pipelinesで設定した変数のパラメーターを使用します。セキュリティで保護されたファイルは、パイプラインで使用できるように必ず認証してください。PipelinesでCIパイプラインを作成します。これは、パイプラインを正常に動作させるために構成する一意のファイルです。このファイルは、GitHubリポジトリ内のこちらから入手できます。詳しい手順を説明します。noneトリガー属性によって、パイプライン処理が必要なタイミングを定義できます。この例では、すべてのトリガーを無効にします。リポジトリへのコミットごとに完全に有効にできます。'ubuntu-latest'パイプラインが実行される場所にプールが記述されました。ここでは、‘ubuntu-latest’仮想マシンイメージを使用します。これは、ビルドを実行するためにAzureによって提供されるホステッドエージェントです。多くの場合、Java、Maven、Dockerがインストールされています。'0.1'これらはパイプラインに対して設定した変数です。最初の変数はgroupで、上記で作成した変数groupに対応しています。残りの特定の変数は、ビルドおよびデプロイするジョブに応じて異なります。'deploy'ここから実際の処理について説明します。パイプラインは、以前にアップロードした2つのファイル(Maven構成のsettings.xmlファイルとライセンスファイル)のダウンロードから開始します。最後のタスクはMavenコマンドです。URLが指定されています。Cloudにパブリッシュされます。これを複雑化しないために、環境またはワークスペースにパブリッシュするためのオプションは特に追加していません。デフォルトでは、成果物はアカウントに対して定義されたデフォルトにパブリッシュされます。PipelinesのCIパイプラインは実行の準備ができています。Cloudアカウントで自分の成果物を確認できます。現在のパイプラインでは、ビルドごとにCommandLineをダウンロードしています。ビルドを実行する頻度が頻繁でない場合は、これでもかまいません。多くのビルドを実行する場合は、これを避けて、プロセスを高速化したくなるかもしれません。DevOpsワークスペースでCommandLineをキャッシュすることです。DevOpsチームがパイプラインキャッシング(ベータ版)を公開しました。これは、同じ種類のジョブを定期的に作成する場合、CommandLineおよびMavenローカルリポジトリ(.m2)に使用できます。前まで、CI/CDパイプラインを実装することは、ソフトウェアのインストールと複雑な構成という多くの作業を伴う根気のいる大変な作業でした。最近になって、TalendがゼロインストールCI機能を提供することで、この労力が大幅に軽減されました。Cloud統合アプリケーションを提供します。両方のソリューションの利点を十分に活用して、完全に自動化されたエンドツーエンドのCI/CDパイプラインを提供できるようになりました。ソリューション」ページを参照してください最も利用されているリソースどこから始めてよいかわからないという方へ。