次の方法で共有


Go プロジェクトのビルドとテスト

Azure DevOps Services

パイプラインを使用して、Go プロジェクトを自動的にビルドしてテストします。

最初のパイプラインの作成

Azure Pipelines を初めて使用する場合 その場合は、他のセクションに進む前に、このセクションを試してみることをお勧めします。

GitHub で次のリポジトリをフォークします。

https://github.com/MicrosoftDocs/pipelines-go

Azure Pipelines にサインインする

Azure Pipelines にサインインします。 サインインすると、ブラウザーが https://dev.azure.com/my-organization-name に移動し、Azure DevOps ダッシュボーが表示されます。

  1. ブラウザで dev.azure.com にアクセスし、サインインします。
  2. 自分の組織を選択します。
  3. [新しいプロジェクト] を選択して新しいプロジェクトを作成します。または、組織内で最初のプロジェクトを作成する場合は、 [プロジェクトの作成] を選択します。
  4. プロジェクト名を入力します。
  5. プロジェクトの [可視性] を選択します。
  6. を選択してを作成します。

パイプラインを作成する

  1. Azure DevOps プロジェクトで、左側のナビゲーション メニューから [パイプライン ] を選択します。

  2. このパイプラインがプロジェクトの最初のパイプラインである場合は、[ 新しい パイプライン] または [パイプラインの 作成 ] を選択します。

  3. [コードの場所] 画面で、GitHub を選択します。

  4. サインインするために GitHub にリダイレクトされる場合があります。 その場合は、GitHub の資格情報を入力します。

  5. [ リポジトリの選択 ] 画面で、.NET アプリが含まれているリポジトリを選択します。

  6. Azure Pipelines アプリをインストールするために、GitHub にリダイレクトされる場合があります。 その場合は、[承認してインストール] を選択します。

[構成] タブが表示されたら、[移動] を選択します。 新しいパイプラインが表示され、 azure-pipelines.yml YAML ファイルを構成する準備が整います。 パイプラインをカスタマイズする一般的な方法の一部については、次のセクションを参照してください。

ビルド環境

Azure Pipelines を使用すると、独自のインフラストラクチャを設定せずに Go プロジェクトをビルドできます。 Linux、macOS、または Windows エージェントを使用してビルドを実行できます。

azure-pipelines.yml ファイル内の次のスニペットを更新して、適切なイメージを選択します。

pool:
  vmImage: 'ubuntu-latest'

Go の最新バージョンは、 Microsoft がホストするエージェントにプレインストールされています。 プレインストールされている Go の正確なバージョンについては、 Azure Pipelines の Microsoft でホストされているエージェントを参照してください。

Go を設定する

Go 1.11 以降では、 $GOPATH 環境を定義したり、ワークスペース レイアウトを設定したり、 dep モジュールを使用したりする必要がなくなりました。 依存関係管理が組み込まれるようになりました。

この YAML は、Go パッケージとその依存関係をダウンロードする go get コマンドを実装します。 その後、 go build を使用して、 PublishBuildArtifacts@1 タスクで発行されたコンテンツを生成します。

trigger: 
 - main

pool:
   vmImage: 'ubuntu-latest'

steps: 
- task: GoTool@0
  inputs:
    version: '1.13.5'
- task: Go@0
  inputs:
    command: 'get'
    arguments: '-d'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: CopyFiles@2
  inputs:
    TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
  inputs:
     artifactName: drop

建築する

go buildを使用して Go プロジェクトをビルドします。 次のスニペットを azure-pipelines.yml ファイルに追加します。

- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

テスト

go testを使用して、Go モジュールとそのサブディレクトリ (./...) をテストします。 次のスニペットを azure-pipelines.yml ファイルに追加します。

- task: Go@0
  inputs:
    command: 'test'
    arguments: '-v'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

準備ができたら、新しい azure-pipelines.yml ファイルをリポジトリにコミットし、コミット メッセージを更新します。 [保存および実行] を選択します。

新しい YAML パイプラインの [保存および実行] ボタン

パイプラインの動作を監視する場合は、Azure Pipelines ダッシュボードの [ジョブ ] オプションでビルドを選択します。 [Azure Pipelines Jobs]\(Azure Pipelines ジョブ\) オプションが選択されている場合のパイプライン のビルドの動作。

コードが Go テンプレートに適しているように見えたため、パイプラインが自動的に作成されました。

これで、リポジトリで YAML パイプライン (azure-pipelines.yml) が稼働し、カスタマイズできるようになりました。

パイプラインを変更する準備ができたら、[パイプライン] ページでそのパイプラインを選び、 ファイルをazure-pipelines.ymlします。

ヒント

この記事の説明に従って YAML ファイルを変更するには、[ パイプライン ] ページでパイプラインを選択し、[ 編集] を選択して、 azure-pipelines.yml ファイルのエディターを開きます。 その他のオプションが選択され、[編集] が強調表示された状態でダッシュボードから Azure Pipeline を編集する方法を示すスクリーンショット。

イメージをビルドしてコンテナー レジストリにプッシュする

Go アプリでは、 イメージをビルド して コンテナー レジストリにプッシュすることもできます。

Visual Studio Code の Go 拡張機能