Azure Pipelines で npm パッケージを発行する (YAML/クラシック)

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Azure Pipelines を使用すると、組織内および他の組織の Azure Artifacts フィードに npm パッケージを発行できます。 この記事では、YAML パイプラインとクラシック パイプラインを使用して npm パッケージを内部フィードと外部フィードに発行する方法について説明します。

前提条件

同じ組織内のフィードにパッケージを発行する

注

Azure Pipelines を使ってパッケージをフィードに発行するには、プロジェクト コレクション ビルド サービスとプロジェクトのビルド サービス ID の両方がフィード発行者 (共同作成者) として構成されていることを確認してください。 詳しくは、新しいユーザー/グループの追加に関する記事をご覧ください。

steps:
- task: NodeTool@0
  inputs:
    checkLatest: true

- task: npmAuthenticate@0
  displayName: 'Authenticate to Azure Artifacts feed'
  inputs:
    workingFile: .npmrc

- script: |
   npm publish
  displayName: Publish

別の組織内のフィードにパッケージを発行する

パッケージを別の Azure DevOps 組織のフィードに発行するには、まずターゲット組織で個人用アクセス トークンを作成する必要があります。

ターゲット フィードをホストしている組織に移動し、[パッケージ化]> スコープで 個人用アクセス トークンを作成します。 次のセクションで、必要に応じて個人用アクセス トークンをコピーします。

サービス接続を作成する

  1. パイプラインを実行する Azure DevOps 組織にサインインし、プロジェクトに移動します。

  2. [プロジェクト設定]>[サービス接続] に移動します。

  3. [新しいサービス接続]、[npm]、[次へ] の順に選択します。

  4. [認証方法] として [ユーザー名とパスワード] を選択し、[レジストリ URL] を入力します。 [ユーザー名] を入力します (Azure Pipelines は認証に .npmrc 構成ファイルと先ほど作成した個人用アクセス トークンを使用するため、プレースホルダーになっています)。 [パスワード] に、個人用アクセス トークンを貼り付けます。 サービス接続の名前を指定し、[すべてのパイプラインへのアクセス許可を与える] チェック ボックスをオンにします。

  5. 完了したら、 [保存] を選択します。

パッケージの公開

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [パイプライン] を選択し、使用するパイプライン定義を選択します。

  3. [編集] を選択し、次のスニペットを YAML パイプラインに追加します。

    - task: NodeTool@0
      inputs:
        checkLatest: true
    
    - task: npmAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        workingFile: .npmrc
        customEndpoint: <SERVICE_CONNECTION_NAME>
    
    - script: |
       npm publish  
      displayName: Publish