この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
普段の業務で開発を全く行わない非開発者(私のような)にとってCI/CDは少々ハードルが高く感じるのではないでしょうか。
知識としては必要ななるため様々なドキュメントを読んだものの、いまだにピンとこない・・・そんな方に向けて実際にCI/CD環境を構成し、身体でCI/CDを覚えるための記事をまとめました。
今回以下のようなシンプルな構成を作成していきます。
![](/wp-content/uploads/2022/03/image-66.png)
Visual StudioにてWebアプリを作成し、それをAzureのApp Serviceに公開します。そのWebアプリに対しての変更が自動的に行われるようにAzure DevOpsを利用しています。
なお超初心者向けの内容になっていますのでその点ご了承ください。
本記事は次の構成となっております。
- Visual Studioからアプリを作成
- アプリの公開
- リポジトリにソースコードをアップロード
- CI/CDの構成
- CI/CDを試す
Visual StudioからWebアプリを作成
新しく ASP.NET Core Web アプリケーション を作成していきます。
![](/wp-content/uploads/2022/03/image-67.png)
「場所」にはソースコードの保存場所を指定しています。
![](/wp-content/uploads/2022/03/image-68.png)
![](/wp-content/uploads/2022/03/image-69.png)
ローカルにWebアプリが作成されました。
![](/wp-content/uploads/2022/03/image-70.png)
アプリの公開
ローカルのWebアプリをAzureのApp Serviceに公開します。
ソリューションエクスプローラーで右クリックメニューから「発行」を選択します。
![](/wp-content/uploads/2022/03/image-72.png)
公開>開始 をクリックします。
![](/wp-content/uploads/2022/03/image-73.png)
公開場所としてAzureを選択します。
![](/wp-content/uploads/2022/03/image-74-1024x689.png)
![](/wp-content/uploads/2022/03/image-75-1024x691.png)
既存のApp Serviceに公開することもできますが、今回は新規にApp Serviceを作成します。
![](/wp-content/uploads/2022/03/image-76-1024x692.png)
必要情報を入力しWebAppを作成します。
![](/wp-content/uploads/2022/03/image-78.png)
アプリが公開されました。
![](/wp-content/uploads/2022/03/image-79.png)
リポジトリにソースコードをアップロード
CI/CDを構成していきますが、まずローカルのソースコードをリポジトリにプッシュする必要があります。継続的デリバリー>設定 をクリックします。
![](/wp-content/uploads/2022/03/image-82.png)
ソースコードがリモートリポジトリに保存さするように表示されるので追加していきます。「今すぐソース管理に・・・」をクリックします。
![](/wp-content/uploads/2022/03/image-84.png)
Gitサービスを選択します。今回はAzure DevOpsのReposを利用します。Azure DevOps環境が無い場合には事前に用意が必要となります。
![](/wp-content/uploads/2022/03/image-87.png)
リポジトリ名を入力し「リポジトリの公開」をクリックするとソースコードがReposにプッシュされます。組織にはリポジトリを作成するプロジェクト名が示されています。ここで指定したリポジトリ名で新規にプロジェクトが作成されます。
![](/wp-content/uploads/2022/03/image-89.png)
リポジトリにソースコードがアップロードされていることを確認できました。
![](/wp-content/uploads/2022/03/image-90.png)
CI/CDの構成
CI/CDのためのAzure Piplinesを作成していきます。
再度 継続的デリバリー>設定 をクリックします。
何もしていないのでブランチはmasterしかありません。Azureに作成したApp Serviceを指定します。
![](/wp-content/uploads/2022/03/image-91.png)
しばらくするとビルドパイプラインとリリースパイプラインが作成されていました。
![](/wp-content/uploads/2022/03/image-92.png)
![](/wp-content/uploads/2022/03/image-93.png)
Webアプリにアクセスしてみます。画面が変わっていますがローカルにあったWebアプリと同じです。
![](/wp-content/uploads/2022/03/image-95.png)
CI/CDを試す
ローカルのソースコードを更新し、CI/CDが行われるかを試しておきます。
Welcome → Welcome Ver.2 と変更します。
![](/wp-content/uploads/2022/03/image-97.png)
保存すると変更したファイルが保留中となります。
![](/wp-content/uploads/2022/03/image-99.png)
チームエクスプローラーの「変更」で、ローカルの変更をReposにプッシュします。何かしらコメントを入力してメニューから「すべてをコミットしてプッシュ」を実行します。
![](/wp-content/uploads/2022/03/image-100.png)
![](/wp-content/uploads/2022/03/image-102.png)
![](/wp-content/uploads/2022/03/image-103.png)
ビルドパイプラインが実行されています。
![](/wp-content/uploads/2022/03/image-104.png)
新しくRelease-2が作成されデプロイが実行されています。
![](/wp-content/uploads/2022/03/image-105.png)
![](/wp-content/uploads/2022/03/image-106-1024x285.png)
Webアプリが更新されていました!
![](/wp-content/uploads/2022/03/image-108-1024x427.png)