この記事は
Azure DevOps Advent Calendar 2019 の 1日目です。
Azure DevOpsとはなんですか?
Microsoftが提供するDevOpsを強力に押し進められるようにした
ツール群 です。
これといった特定のツールではなく、
素晴らしいテクノロジが搭載されたツール群です これらを組み合わせて
DevOpsを押し進める協力な武器になります。
DevOpsは アプリケーションの「計画」「開発」「配信」「運用」
のライフサイクルに影響を与えますが、テクノロジの利用によって
ある程度シームレスにつながっています。
公式ページから文章を一部拝借して説明
https://azure.microsoft.com/ja-jp/services/devops/
でもお高いんでしょう?
AzureDevOpsは導入しやすいシステムです。
「5名以下のチーム開発ならおそらく無料の範囲内で利用できてしまう」ので使ってしまうのもてだと思います。
↓で料金を確認してみましょう。
https://azure.microsoft.com/ja-jp/pricing/details/devops/azure-devops-services/
導入前の説明
「開発」「配信」部分に重点を当てたビギナー導入を説明します。
AzureDevOpsは進化が早く、随時アップデートが行われています。
特に 親和性の高いAzureとの連携は 1年前より格段に早くなっており
チュートリアルレベルなら あっとういうまに導入が終わります。
具体的な手順
ここでは一般的なAppServeiceを立ち上げることにしましょう。
今回は例として .NET core Webapp を選びます
用意するのは ローカルで動くソースコードです。
できれば、git形式で、クラウドサービスのどこかに保存しておきましょう。
アウトプット先の Azure App Serivceを指定する
Azure にログインして Webアプリを選びます
項目を選んで .net core のWebアプリ
を選んで、一度ビルドが終わったら
デプロイセンターを選んでみましょう
デプロイセンターからCICD環境を構築してみよう
すると、実はAzureDevopsを意識していなくても、実はここから開発のDevOpsを押し進める機能が
作れてしまいます。
2018年にはありませんでした!(多分)
ソース管理はGitを選んでいればどこでも構いませんが、多くの人はGitHubを選ぶのではないでしょうか
AzureDevOps内には AzureReposという Gitホスティングサービスがあります。
ビルドする方法を選ぼう
ここではAzurePipeleを選びます
3の構成でソースを選ぶとあっという間に完成します。
ここでは私のGitHubにある Blazorというアプリを選んでいます
これはAsp.NETCoreなので、それを選んでいます。 デフォルトでは Node.js python PHPも選べます。
ここで初めてAzureDevOpsを意識します。ここではAzureDevOps内のツール AzurePipelineを使うために利用します。
新規の人は新規でつくりましょう。
するとAzureDevOps内の Pipelineの buildと Releaseに キューが設置されます。
ビルドパイプラインでは、gitから入手したソースコードを テスト&ビルドできます。
具体的にBuildで何が起きているかみることができます Editボタンを選んでみましょう
リストア⇨ビルド⇨テスト⇨パブリッシュまで行ってくれます。
GUI以外にも 全てコードレベルのYamlも対応してます。
デフォルト構成で作っただけでは CIが失敗することがあるので、その時には↓のリファレンスが役に立ちます。
https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema
これが成功すると、
Azure でHPがappが公開されます。
お伝えしたいこと
以上の用に簡単にCI開発環境が作れるようになりました。
設定してしまえば、GITのブランチが更新されるたびに自動でデプロイが実行されます。
後最近、Microsoft は ドキュメントと教育に非常に力を入れているように見えます。
(誤字脱字が多いのは目を瞑ってください!)
この記事を流し読みしたら
できれば!詳細な公式ページを読んで、実行してみてください↓(日本語対応しました)
https://docs.microsoft.com/ja-jp/aspnet/core/azure/devops/?view=aspnetcore-3.0
もっとできることなら公式の教育ページMSlearnをやってみましょう。
https://docs.microsoft.com/ja-jp/learn/browse/?products=azure&roles=devops-engineer