JFrog ArtifactoryとNuGetでAzure DevOpsやTFSを高速化

Azure DevOps or TFS with JFrog Artifactory

Azure DevOpsはMicrosoft Visual Studio Team Services(VSTS)の進化版で継続的インテグレーションや継続的デプロイ(CI/CD)をサポートしています。

JFrog Artifactory Extension for Azure DevOpsおよびTeam Foundation Server TFSでは、MavenNPM、DockerやGenericによるビルドのサポートに加え、NuGetパッケージタイプをサポートするように改善しました。これにより拡張機能が強化され、NuGetパッケージを使用したビルドのトリガーやBuild InfoをArtifactoryにアップロードできるようになりました。この統合によりビルドジョブでアーティファクトをArtifactoryへデプロイし、そこから依存関係を分析することで問題を解決し、作成したビルドジョブに関連付けができるようになりました。

なぜJFrog Artifactoryなのか?

JFrog Artifactoryはユニバーサル・バイナリ・リポジトリマネージャとしてすべての主要なパッケージ形式、ビルドツール、CIサーバを一貫してサポートし、すべてのバイナリに対して信頼できるソリューションを提供しています。ArtifactoryはAzure DevOpsやTFSと統合することによりマイクロソフトベースのパイプラインを管理し、ビルドからBuild-Info をキャプチャすることでビルドを完全にトレースすることに成功しました。

Artifactoryを使ってAzure DevOpsの3つの簡単なステップでビルドパイプラインを作ってみましょう。

ステップ 1:Artifactoryインスタンスの設定

Artifactory Extensionをインストールした後はArtifactoryインスタンスにアクセスしてAzure DevOpsを設定する必要があります:

  1. Azure DevOpsでProject Settings > Pipelines > Service connectionsに進みます。
  2. New service connectionをクリックし、リストからArtifactoryを選択します。
  3. Artifactory service connectionダイアログでConnection name、Server URLと認証情報を入力し、verify connectionをクリックして新規コンフィギュレーションを保存します。

ステップ 2:NuGetパイプラインの作成

Artifactory接続を設定するとNuGetビルドパイプラインを追加することができます:

  1. NuGetのサンプルソースを取得し、Git sourcesを設定します。
    Configure Git sources task
  2. Add tasksのタスクリストからNuGetを検索します。
  3. Artifactory NuGetタスクを選択し、パイプラインに追加します。
    Add Artifactory NuGet task
  4. 新規タスクで実行するNuGetコマンドを選択します。この例ではrestore、pack、pushコマンドを使う設定になります。
    Select NuGet command

ステップ 3:PushタスクでbuildinfoをArtifactoryに設定

NuGetタスクを含むパイプラインが実行されると、タスクログには実行されたNuGetコマンドに関するすべての情報が表示されます:

Task log

タスクを追加するときにCollect build infoチェックボックスをオンにすることでNuGetタスクがbuildinfoを取得するように構成できます:

configure NuGet task to collect buildinfo 1

configure NuGet task to collect buildinfo 2

buildinfoが取得されるとメタデータとしてArtifactoryにプッシュされ、Build ResultsのArtifactoryタブからアクセスすることができます。

accessing buildinfo metadata from Artifactory

パイプラインを実行するとArtifactoryでNuGetタスクのビルド情報を確認できるようになります:

build information for NuGet task in Artifactory

Azure DevOpsおよびTFS用のJFrog Artifactory Extension はVisual Studio marketplaceで入手できます。ぜひお試しください。