SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Azureのクラウド環境でDevOpsを実現する「Azure DevOps」入門

Azure DevOpsのCI/CDツール「Azure Pipelines」を使いこなそう

Azureのクラウド環境でDevOpsを実現する「Azure DevOps」入門 第4回

  • X ポスト
  • このエントリーをはてなブックマークに追加

Azure Pipelinesによるビルドパイプラインの作成と実行(2)

Service Connectionの作成

 次の手順に進む前に、Service Connectionを作成します。Service Connectionとは、Azure PipelinesからApp ServiceなどのAzureリソースや外部リソースへの更新操作をするためのオブジェクトです。

 Service Connectionを作成するには、プロジェクトダッシュボードから「Project settings」メニューの「Service connections」を選択し、「Create service connection」ボタンをクリックします。

図9:Service Connectionの作成
図9:Service Connectionの作成

 Service connectionの種類を選択する画面が表示されるので、「Azure Resource Manager」を選び「Next」ボタンを選択します。

図10:Service Connectionの種類の選択
図10:Service Connectionの種類の選択

 次にService Connectionの作成に必要な内容を設定していきます。

図11:Service Connectionの詳細情報の入力
図11:Service Connectionの詳細情報の入力

 「Identity type」と「Credential」の欄は「Recommended(推奨)」となっているものを選択します。

 「Scope level」は「Subscription」を、「Subscription」と「Resource group」は任意のサブスクリプションとリソースグループを選択します。

 「Service Connection Name」にはこのService Connectionの名称を設定します。この名前は、後述のデプロイパイプラインの追加時に使用します。

 最後に「Save」ボタンをクリックし、Service Connectionの作成は完了です。

App Serviceの作成

 Service Connectionと同様に、デプロイ先であるApp Serviceも事前に作成をしておきます。AzureポータルのApp Serviceの新規作成画面から作成を行います。

図12:App Serviceの新規作成
図12:App Serviceの新規作成

 作成したアプリに合わせた内容を入力します。「公開」は「コード」、「ランタイム スタック」は「.NET 8」を選択します。その他の項目については任意のものを選択・入力してください。

 今回はサンプルアプリのため「価格プラン」は無料プランである「Free F1」を選択しています。「確認および作成」ボタンを選択し内容を確認し、「作成」ボタンを選択するとApp Serviceが作成されます。

デプロイパイプラインの追加(CD)

 先ほど作成したビルドパイプラインに、CDの手順にあたるデプロイパイプラインの手順を追加していきます。ビルドパイプラインでビルドした成果物をAzure Web AppにデプロイするステップをYAMLに追加していきます。

 プロジェクトダッシュボードの「Pipelines」を選択し、先程作成したパイプラインを選択すると画面右上に「Edit」ボタンが表示されているので、それを選択します。YAMLのエディタ画面が表示されるので、YAMLの末尾に以下の内容を追記します。

[リスト2]ビルドパイプライン用のYAMLにデプロイ用のタスクを追加する
- task: AzureWebApp@1
  inputs:
    azureSubscription: 'wings-sc'  # 事前に作成したService Connectionの名前を入力
    appType: 'webApp'
    appName: 'devops-practice-web'  # AzureのApp Service名
    package: '$(Build.ArtifactStagingDirectory)/**/*.zip'

 inputsセクションの設定内容に注目してください。

 azureSubscriptionには、先程作成したサービス接続の名前を指定します。appTypeはデプロイ先のアプリケーションの種類を指定し、ここではWebアプリケーションを選択します。appNameには、デプロイ先のAzure App Serviceの名前を表します。

 packageは、ビルド成果物のパスです。ビルドパイプラインで作成されたビルド成果物はZIP形式で保存されているので、$(Build.ArtifactStagingDirectory)からの相対パスでZIPファイルを指定しています。

 YAMLファイルの編集ができたら、画面右上の「Validate and save」ボタンを選択し、YAMLファイルの構文にエラーがないかを確認してからファイルを保存します。「Pipeline is valid」と、エラーのない旨のメッセージが表示されていたら「Save」ボタンを選択してファイルを保存します。

図13:YAMLファイル編集後の構文チェック
図13:YAMLファイル編集後の構文チェック

 ファイルを保存すると右上のボタンが「Run」に変わるので、これを選択してパイプラインを実行します。

 なお、Service Connectionを作成した初回のパイプラインの実行時は、リソースへアクセスするための許可が求められます。実行中のパイプラインの詳細画面を表示すると「This pipeline needs permission to access a resource before this run can continue」という警告が表示されているので、右端の「View」ボタンを選択します。

図14:実行中のパイプライン上の警告
図14:実行中のパイプライン上の警告

 Service Connectionが許可を必要としている旨のメッセージが表示されているので、「Permit」ボタンを選択します。

図15:Service Connectionからリソースへのアクセスを許可する
図15:Service Connectionからリソースへのアクセスを許可する

 この操作を行うとパイプラインが実行されるようになります。パイプラインの実行が成功したことを確認したら、Azureのポータル画面に移りApp Service上にWebアプリケーションがデプロイされていることを確認します。

図16:App Serviceの確認
図16:App Serviceの確認

 App Serviceの概要画面の「既定のドメイン」に表示されているURLにアクセスし、Web画面が表示されればデプロイパイプラインでのデプロイは成功となります。

図17:デプロイされたWebアプリの画面
図17:デプロイされたWebアプリの画面

まとめ

 今回はAzure DevOpsサービスのひとつである、CI/CDサービスのAzure Pipelinesについて概要とパイプラインの作成方法について紹介しました。次回はパイプラインで作成したパッケージを保存・管理するためのAzure Artifactsについて説明する予定です。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Azureのクラウド環境でDevOpsを実現する「Azure DevOps」入門連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 秋葉 龍一(アキバ リュウイチ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21897 2025/07/17 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング