SlideShare uma empresa Scribd logo
1 de 29
OSS開発で.NETを活用してDevOps
自己紹介
• 名前:西村誠
• 職業:
ライター兼プログラマー
自己紹介
Microsoft MVP
Windows Platform Development
EC-CUBE公式エバンジェリスト
おしながき
•DevOps?
•コンテナー
•CI・CD
•プロジェクト管理
DevOps?
Wikiによると・・・
Wiki抜粋 その1
• 「開発者と運用者が連携して協力」・・・
• 考え方とか姿勢としてのDevOps
• 開発担当と運用担当が仲良く晩御飯食べるのもDevOpsなのか?
• そもそも両者はなぜ衝突するのか?
Wiki抜粋 その2
• 厳密な定義は存在しておらず・・・
• バズワードっぽい
• アジャイルとかDevOpsと言っておくとカッコイイ風潮
Wiki抜粋 その3
• ソフトウェアのビルド、テスト、そしてリリースの文化と環境
を以前よりも迅速に・・・
• 今日はこの話!
今日のDevOpsっぽい話
• 従来の開発手法+コンテナー+クラウド
• より自動化されたワークフロー
• その前に・・・みなさんどうやってリリースしてますか?
私の考えた最強のDevOps
• 本番環境のソースコードを直接書き換え=リリース
本番サーバー
少し進んだ環境
• ローカルで開発→本番にアップロードでリリース!
本番サーバーローカル環境
さらに進んだ!
• ステージング環境で検証後に本番リリース
本番環境
ローカル環境
ステージング環境
複雑な環境
• チーム別・用途別・外部協力会社用などなど
本番環境
ローカル環境 開発用チームサーバー 検証用チームサーバー ステージング
規模が大きくなれば複雑さも増すよね
• それぞれの環境をそろえる(開発環境だけ最新で不具合出ず)
• ソースコードの上げミス(巻き戻ってバグありバージョンに)
• 新しく追加したサーバーでバグ発生(ライブラリ漏れ)
コンテナ
• コンテナ=ホストOSのカーネルを共有
• ハイパーバイザ=OSからハードウェア諸々仮想
化
• コンテナ自体は昔からあったよね(権限の分離)
コンテナとは?(いまさら?)
• 早い(起動が)
• 安い(リソースの使用が)
• Immutable(不変というか壊してすぐ建てる)
• as Code(設定をコードで定義する)
何がいいの?
• Docker for Windows
• Linux ContainerとWindows Containerを切り替え
• Web Apps for Containerにデプロイ
• Azure PipelineでCI・CD
Docker(いまさら?)
• XAMPP?(・・・)
• Hyper-V?(重量)
• Windows Subsystem for Linux?(ファイルシステム
が・・・)
• Docker!
WindowsでOSS開発
• WindowsでOSSのEC-CUBEを動かす
DEMO
• OSSのECサイト構築フレームワーク
• 自由なカスタマイズ
• プラグインによる機能追加
• 2018年末に最新のバージョン4が登場
EC-CUBEとは?
CI・CD & プロジェクト管理
• Azure Repos = Git + α
• Azure Boards = Scrumベースのプロジェクト管理ツール
• Azure Pipelines = CI・CD
• Azure Test Plans = Boardsと連携した手動テストツール
• Azure Artifacts = パッケージ管理
Azure DevOps
• CI・CDツール
• ビルド・テスト・デプロイを自動化
• Docker対応
• .NETとの高い親和性
Azure Pipeline
• Dockerのビルド&Azure Container RegistoryにPush
• (断念)Web App for ContainerのDocker Composer
実行できるymlがなぜかエラーに・・・
DEMO1
• ASP.NETアプリケーションのCI・CD
DEMO2
• Azure Boards
• Azure Test Plans
• Azure Artifacts
時間があれば
ご静聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjpSphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Takeshi Komiya
 
プログラミングのきっかけ
プログラミングのきっかけプログラミングのきっかけ
プログラミングのきっかけ
一希 大田
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Takayuki Shimizukawa
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
Masahiko Sato
 

Mais procurados (20)

Sphinxで社内勉強会(Git)の
資料を作ってみた
Sphinxで社内勉強会(Git)の
資料を作ってみたSphinxで社内勉強会(Git)の
資料を作ってみた
Sphinxで社内勉強会(Git)の
資料を作ってみた
 
The current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printingThe current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printing
 
BITRISEを使っています
BITRISEを使っていますBITRISEを使っています
BITRISEを使っています
 
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjpSphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
 
プログラミングのきっかけ
プログラミングのきっかけプログラミングのきっかけ
プログラミングのきっかけ
 
UXを損ねる静的コンテンツ配信アンチパターン7選
UXを損ねる静的コンテンツ配信アンチパターン7選UXを損ねる静的コンテンツ配信アンチパターン7選
UXを損ねる静的コンテンツ配信アンチパターン7選
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
C# で QnA Bot
C# で QnA BotC# で QnA Bot
C# で QnA Bot
 
Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~
 
マークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiマークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumi
 
Startup jenkins!
Startup jenkins!Startup jenkins!
Startup jenkins!
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 
Pycon jp2012
Pycon jp2012Pycon jp2012
Pycon jp2012
 
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
 
新卒2年目のchef guy
新卒2年目のchef guy新卒2年目のchef guy
新卒2年目のchef guy
 

Semelhante a OSS開発で.NETを活用してDevOps

TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
Hiro Yoshioka
 

Semelhante a OSS開発で.NETを活用してDevOps (20)

Dockerとdev ops
Dockerとdev opsDockerとdev ops
Dockerとdev ops
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
 
DevOps Conference #1
DevOps Conference #1DevOps Conference #1
DevOps Conference #1
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かす
 
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Microsoftテクノロジーの今をご紹介
Microsoftテクノロジーの今をご紹介Microsoftテクノロジーの今をご紹介
Microsoftテクノロジーの今をご紹介
 
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるか
 
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
Self-Introduction with DevOps
Self-Introduction with DevOpsSelf-Introduction with DevOps
Self-Introduction with DevOps
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
 
DevOps for Small Starter
DevOps for Small StarterDevOps for Small Starter
DevOps for Small Starter
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
サイボウズのオープンソースへの取り組み - OSC 2018 Osakaサイボウズのオープンソースへの取り組み - OSC 2018 Osaka
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 

Mais de Makoto Nishimura

Mais de Makoto Nishimura (20)

リモートで技術を伝える方法(発表版)
リモートで技術を伝える方法(発表版)リモートで技術を伝える方法(発表版)
リモートで技術を伝える方法(発表版)
 
リモートで技術を伝える方法(フル)
リモートで技術を伝える方法(フル)リモートで技術を伝える方法(フル)
リモートで技術を伝える方法(フル)
 
windows terminal入門
windows terminal入門windows terminal入門
windows terminal入門
 
Minecraftでプログラミングを学べるって本当?
Minecraftでプログラミングを学べるって本当?Minecraftでプログラミングを学べるって本当?
Minecraftでプログラミングを学べるって本当?
 
Power Automateを使ってみた
Power Automateを使ってみたPower Automateを使ってみた
Power Automateを使ってみた
 
Power Automate Desktop入門
Power Automate Desktop入門Power Automate Desktop入門
Power Automate Desktop入門
 
Microsoft Teams Custom
Microsoft Teams CustomMicrosoft Teams Custom
Microsoft Teams Custom
 
AzureDevOpsの機能解説
AzureDevOpsの機能解説AzureDevOpsの機能解説
AzureDevOpsの機能解説
 
EC-CUBE 4 入門
EC-CUBE 4 入門EC-CUBE 4 入門
EC-CUBE 4 入門
 
.NETの最近
.NETの最近.NETの最近
.NETの最近
 
Amazon echoがやってきた
Amazon echoがやってきたAmazon echoがやってきた
Amazon echoがやってきた
 
2017年度注目の.netテクノロジー
2017年度注目の.netテクノロジー2017年度注目の.netテクノロジー
2017年度注目の.netテクノロジー
 
Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイントAzure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイント
 
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
2016年11月.NETラボLT:超余談ゲームプラットフォームの話2016年11月.NETラボLT:超余談ゲームプラットフォームの話
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
 
Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)
 
独自Ecサイト立ち上げワンストップセミナー 0907
独自Ecサイト立ち上げワンストップセミナー 0907独自Ecサイト立ち上げワンストップセミナー 0907
独自Ecサイト立ち上げワンストップセミナー 0907
 
Uwpでみるxaml入門第二回
Uwpでみるxaml入門第二回Uwpでみるxaml入門第二回
Uwpでみるxaml入門第二回
 
Uwpでみるxaml入門
Uwpでみるxaml入門Uwpでみるxaml入門
Uwpでみるxaml入門
 
初心者目線でIo t
初心者目線でIo t初心者目線でIo t
初心者目線でIo t
 
Universal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえようUniversal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえよう
 

Último

Último (12)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

OSS開発で.NETを活用してDevOps