際際滷

際際滷Share a Scribd company logo
.NET アプリを個鋲してg樹する CI
Encourage Your Cloud Native Architecture
Copyright ? Alterbooth Inc. All Rights Reserved.
Copyright ? Alterbooth Inc. All Rights Reserved.
防翫 寄 (Yuta Matsumura)
Chief Technical Architect (C#, PHP, Cloud)
KOSMISCH _kリ`ダ`
Microsoft MVP (Development Technologies)
Currently working for
これからすこと
アプリケ`ション_kサイクルで佩う
協侏恬Iの紳併をgFする CI/CD について
DevOps をg樹するための及匯iとして、協侏恬Iの徭啝に
ついて C# アプリでの圭隈をB初します。
☆麿の冱Zでも CLI があればそこまで笋錣蕕覆い呂困任
Copyright ? Alterbooth Inc. All Rights Reserved.
匯違議なアプリケ`ション_k垢殻
勣周協x O _k テスト リリ`ス
Copyright ? Alterbooth Inc. All Rights Reserved.
CI/CD でカバ`できる
勣周協x O _k テスト リリ`ス
@A議インテグレ`ション
(Continuous Integration)
@A議デリバリ`
(Continuous Delivery)
Copyright ? Alterbooth Inc. All Rights Reserved.
CI/CD がなぜ駅勣か
アプリケ`ションの瞳|を隠ちAけるため
?アプリケ`ション_kとそのライフサイクルを紗堀する
?徭啝されたビルドおよびリリ`スプロセスで瞳|と匯來を_隠する
?アプリケ`ションの芦協來と借Prgをやす
?音宗畠な彜Bのアプリケ`ションの巷_を契ぐ
?貧の恬Iをツ`ルに販せることができる
繁による恬Iを豫むこともできる
Copyright ? Alterbooth Inc. All Rights Reserved.
CI/CD ツ`ルはチ`ムにmしたものをxぶ
Azure DevOps
Copyright ? Alterbooth Inc. All Rights Reserved.
.NET における CI/CD
Copyright ? Alterbooth Inc. All Rights Reserved.
.NET Framework は卞佩r豚です
プラットフォ`ム Windows Windows, macOS, Linux
バ`ジョン 4.8
(書瘁はメジャ`アップデ`トなし)
.NET Core 3.1, .NET 5
( .NET 6 Preview)
コマンドライン MSBuild.exe, MSDeploy.exe .NET Core CLI
Copyright ? Alterbooth Inc. All Rights Reserved.
.NET Framework は卞佩r豚です
プラットフォ`ム Windows Windows, macOS, Linux
バ`ジョン 4.8
(書瘁はメジャ`アップデ`トなし)
.NET Core 3.1, .NET 5
( .NET 6 Preview)
コマンドライン MSBuild.exe, MSDeploy.exe .NET Core CLI
Copyright ? Alterbooth Inc. All Rights Reserved.
.NET Core CLI
コマンド C嬬
dotnet new プロジェクトの仟ラ撹
dotnet restore パッケ`ジの痌
dotnet build プロジェクトのビルド
dotnet run プロジェクトのg佩
dotnet test g悶テストのg佩
dotnet pack プロジェクトのパッケ`ジ晒
dotnet publish
プロジェクトの婢_
(g佩侘塀ファイルの伏撹)
Copyright ? Alterbooth Inc. All Rights Reserved.
仟しい dotnet コマンド
dotnet watch + command
いわゆるホットリロ`ド。
ファイルの筝を返して
コマンドを@Ag佩できる。
Copyright ? Alterbooth Inc. All Rights Reserved.
_kできるアプリ侘塀も笋錣
Copyright ? Alterbooth Inc. All Rights Reserved.
Console
WinForms / WPF
WCF
ASP.NET Web Forms
ASP.NET MVC
ASP.NET Web API
Console / Generic Host
WinForms / WPF
gRPC
ASP.NET Core Blazor
ASP.NET Core MVC
ASP.NET Core Web API
これからは 2定ごとに LTS リリ`ス
Copyright ? Alterbooth Inc. All Rights Reserved.
https://dotnet.microsoft.com/platform/support/policy/dotnet-core
App Modernization Strategy
Copyright ? Alterbooth Inc. All Rights Reserved.
.NET Core 2.1
Aug 2021 EOL
.NET Framework 4.8
.NET Framework 4.6.1
.NET Framework 2.0 .NET Framework 4.5
.NET Standard 1.0 .NET Standard 2.0 .NET Standard 2.1
NuGet Package ?
App Modernization Strategy
Copyright ? Alterbooth Inc. All Rights Reserved.
.NET Framework / .NET Core どちらもサポ`ト
フレ`ムワ`クのアップグレ`ド
.NET Standard 1.0+ (One .NET)
フレ`ムワ`クのアップデ`ト
.NET Core 2.1
Aug 2021 EOL
.NET Framework 4.8
.NET Framework 4.6.1
.NET Framework 2.0 .NET Framework 4.5
.NET Standard 1.0 .NET Standard 2.0 .NET Standard 2.1
NuGet Package ?
Azure DevOps を聞った CI/CD
Copyright ? Alterbooth Inc. All Rights Reserved.
パイプラインも YAML でバ`ジョン砿尖
steps:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '3.1.x'
- task: DotNetCoreCLI@2
displayName: build
inputs:
command: 'build'
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: test
inputs:
command: 'test'
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: publish
inputs:
command: 'publish'
publishWebProjects: true
arguments: '--configuration $(buildConfiguration) --
output $(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Copyright ? Alterbooth Inc. All Rights Reserved.
ビ
ル
ド
テ
ス
ト
k
佩
CI/CD をBした

アプリの瞳|が隠てる ではない
Copyright ? Alterbooth Inc. All Rights Reserved.
勣周協x O _k テスト リリ`ス
レビュ`も寄並
Copyright ? Alterbooth Inc. All Rights Reserved.
レビュ` レビュ` レビュ` レビュ`
レビュ`
レビュ`ア`にもスキルが駅勣
クラウドでg佩するアプリケ`ションを_kする栽、
レビュ`ア`にも駅勣なスキルは謹くなる。
? スケ`ラビリティが深]されているO/コ`ドか
? 掲C嬬勣周をカバ`したア`キテクチャ`か
? SDK や API をm俳に聞喘できているか
? シ`クレット、琉家來が深]されているか
? 駅勣なテストコ`ドがかれているか etc...
Copyright ? Alterbooth Inc. All Rights Reserved.
Copyright ? Alterbooth Inc. All Rights Reserved.
Copyright ? Alterbooth Inc. All Rights Reserved.
C# の屡贋アプリケ`ションをあらゆるQ
泣から盾裂し、クラウドネイティブ晒へ
の祇庶を幣すアセスメントツ`ルです。
KOSMISCH はア`キテクチャ`やソ`ス
コ`ドに捻むクラウドネイティブ晒の嬾
謁を苧_にし、お人が宇える町隼とし
たクラウドネイティブ晒への音芦や徭佚
のoさを盾します。
https://kosmisch.jp/
フェ`ズ
タッチポイント
佩
n}の壓晒 盾Q戻宛 n}の針捲 仟しいh廠 @A議個鋲
システム\喘
嬾墾
個俐
クラウド晒篇 @A_k
}渇竃 クラウドネイティブ晒
O
テスト
徭啝
STRONG!
KOSMISCH はプログラムソ`スコ`ドを盾裂し、クラウドネ
イティブ晒にするためのレポ`トを徭嘛撹します。
Copyright ? Alterbooth Inc. All Rights Reserved.
KOSMISCH が盾Qするもの
Copyright ? Alterbooth Inc. All Rights Reserved.
クラウドネイティブ晒へのプロ
グラムコ`ド個鋲
クラウドネイティブなインフラ
@A議に個鋲できる碧Mみ
KOSMISCH Monolith
お人が隠嗤するアプリケ`ションYbのソ`スコ`ドを盾裂し、
クラウドネイティブh廠への婢_に駅勣な筝を戻幣します。
Copyright ? Alterbooth Inc. All Rights Reserved.
アセスメントのQ泣
クラウドで咾す Web アプリケ`ション
? スケ`ラビリティを笋┐襪海箸李ましい
Copyright ? Alterbooth Inc. All Rights Reserved.
スケ`ルアウト
塞
アセスメントのQ泣
Web アプリケ`ションで聞喘するステ`ト (彜B) を
Web サ`バ`坪に隠隔する撹になっていないかどうか
Copyright ? Alterbooth Inc. All Rights Reserved.
デ`タ
キャッシュ
ログ
ステ`トフル
翌何のデ`タストア
(ex. Azure SQL Database)
翌何のログストア
(ex. Azure Application Insights)
翌何のキャッシュストア
(ex. Azure Cache for Redis)
ステ`トレス
Copyright ? Alterbooth Inc. All Rights Reserved.
ソ`スコ`ド
盾裂
アセスメント
レポ`ト
コ`ド個鋲
クラウドネイティブにmしたg廾か
KOSMISCH の旋喘シ`ン
1. クラウドネイティブ晒の兜豚コストeもり
2. 個俐嶄のアドバイザ`
3. 個俐したアプリケ`ションの鞭秘Yの匯h
4. @A個鋲のアシスタント
5. クラウドプロバイダ`の恷仟秤鵑縫ャッチ
アップし、徭芙u瞳へのm喘を篇するHの
a廁ツ`ル
Copyright ? Alterbooth Inc. All Rights Reserved.
Photo by Annie Spratt on Unsplash
Copyright ? Alterbooth Inc. All Rights Reserved.
m俳なクラウドサ`ビスの戻宛
Copyright ? Alterbooth Inc. All Rights Reserved.
翌何ライブラリ卞佩パスの戻幣
Encourage Your Cloud Native Architecture
クラウドネイティブア`キテクチャ`の ^音芦 ̄ からの盾慧
Copyright ? Alterbooth Inc. All Rights Reserved.

More Related Content

.NET アプリを個鋲してg樹する@A議インテグレ`ション