コンテナのチェーン
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[CI/CD]]
--[[.NETアプリをコンテナにデプロイ]]
* 目次 [#f16ba387]
#contents
*概要 [#w1691739]
**内容 [#va9b3dfc]
「[[コンテナのチェーン]]」が意味するところは、
[[CI/CD パイプライン]](DevOpsワークフロー)に、
コンテナの
-ビルド・システム
--プロジェクト・ファイル
--Dockerfile
--ビルド・スクリプト
-コンテナ・レジストリへの登録スクリプト
-IaCによるコンテナのデプロイ自動化
--compose
--manifest
を含め、
開発 → UT → CT → IT → ST環境のチェーンを構築する。
**背景 [#n4ed5269]
-[[コンテナ技術]]も進歩してきて、比較的、容易に、~
「[[コンテナのチェーン]]」を構築できるようになってきた。
-これによって、SIでは、なかなかリーチしなかった、
--[[CI/CD パイプライン>#r23924cf]]
--DevOpsワークフロー
>辺りにリーチするようになってきた。
*詳細 [#ke75103a]
**SIが(で)、[[CI/CD]]・[[CI/CD パイプライン>#r23924cf]]...
***そもそも、 [#eaaa1999]
サービスのプラクティス
-究極的にはスクリプト言語向け。
-SIだと頻繁に更新されることがない。
-テストやリリースのシナリオが再利用率が低い。
で、[[CI/CD]]から得られる効果が薄い。
***どちらかと言うと [#w63d0a5c]
分離環境の構築比重が高い。
-SIでは、
--UT / CT / TT / STなど環境が多段になっている。
--このため、これらの環境構築が優先される。
--逆に、多段化されているので、[[CI/CD]]がハマらない。~
(≒ [[CI/CD パイプライン>#r23924cf]]が長すぎて構築できな...
-Webでは、~
Webサービス保守体制は、恐らく、SIのように多段になっていな...
-実際に、~
[[AKSをセキュアに利用するためのテクニカルリファレンス]]の...
[[> 詳細 > 構成のポイント > 開発~デプロイ>AKSをセキュア...
--「環境分離(セキュリティ境界)」の話が中心になっている。
--実際にやってみて、「こりゃ無理だわ。」と思ったりする所...
--更なる[[コンテナ技術]]の進歩による「コンテナのチェーン...
**昨今、Docker → Docker Compose → K8sの敷居が下がってきた...
...と、チェーン&リフトして行く開発方式のサポートにより、
-SIでも[[CI/CD]]的な事の有効が高まってきたと言える。
-ただ、[[コチラ>AKSをセキュアに利用するためのテクニカルリ...
バカジャネーノ?と思う所はある(難し過ぎの意)
-以下の ①~⑤ ようなチェーンがサクッと繋がる~
ようになってくると実践的になって行くと思う。
***① 全ローカル環境、 [#o109d206]
≒ 従来型の開発。
***② ①のプログラムだけ、Docker化、 [#je86be84]
-[[①>#o109d206]]のプログラムだけDocker化。
-ローカルのサービス群に対しては、~
[[10.0.75.1でブリッジ(最新の環境では変更されている)。>D...
-参考
--Docker→Docker Compose→K8sと、~
チェーン&リフトして行く開発のサポート方式 - OSSコンソー...
https://www.osscons.jp/joerypz9u-537/
***③ ②のサービス類だけ、Docker Compose化、 [#be404871]
-[[①>#o109d206]]のサービス類だけ、Docker ComposeでDocker...
-開発の対象というより、ローカル開発環境をDocker対応させる...
-Docker Composeで、ローカルと同一のポート番号でブリッジさ...
(portsの指定は、ホスト:コンテナなので、xxxx:xxxxにする)~
このUXは、[[①>#o109d206]]の開発のUXと、あまり大きく変わら...
-参考
--サービス類だけ、Docker Compose化する~
プロジェクトが出来上がった。 - OSSコンソーシアム~
https://www.osscons.jp/jor9mt8li-537/
***④ ③にプログラムも加える。 [#m3cf0ee0]
-[[③>#be404871]]で作成した、システム一式を全てDockerにリ...
-プログラムをコンテナ化する。
-コンテナ化したプログラムの接続文字列類を、~
ローカル・ブリッジ経由から、コンテナ直に変更する。
***⑤ ④をKomposeなどでK8sに食わす。 [#v31fa550]
-最後に、[[④>#m3cf0ee0]]のシステムをK8sにリフトする。
-この際、[[Kompose や Compose on Kubernetes>Docker Deskto...
**XKE/XKSは高価なので、IaaSのLinuxVM(コンテナ・サーバ)...
XKE/XKSは、CaaS、PaaSに相当。
***ユースケース [#ze9f7b84]
ユースケースとしては、
-[[Windows]]の開発環境から、~
[[コンテナ・イメージ>#za9a429d]]を[[コンテナ・レジストリ>...
-IaaSベースの[[Linux]]コンテナ・サーバで~
[[コンテナ・レジストリ>#yf65409d]]から[[コンテナ・イメー...
[[コンテナ・イメージ>#za9a429d]]を起動するみたいなイメー...
***役割分担 [#dbc725d2]
これは、[[Docker Desktop for Windows]]でもできるんですが、~
Nested VirtualizationをサポートするハイスペックなVMが必要...
-一般開発者は、
--[[Windows]]開発環境で開発・テスト。
--必要なら、[[WSL(1)>Windows Subsystem for Linux]]を使用...
-SI担当者が、
--[[Docker Desktop for Windows]]でビルドとテスト。
--結果を[[コンテナ・レジストリ>#yf65409d]]に登録する。
-各種テスト環境(IaaSベースの[[Linux]]コンテナ・サーバ)...
--[[コンテナ・レジストリ>#yf65409d]]からコンテナ・イメー...
--コンテナ・イメージを起動する。
*その他 [#ib906d49]
**コンテナ [#w3f63b06]
***コンテナ・イメージ [#za9a429d]
≒ [[Dockerイメージ>https://dotnetdevelopmentinfrastructur...
***コンテナ・レジストリ [#yf65409d]
≒ [[Dockerレジストリ>https://dotnetdevelopmentinfrastruct...
**[[Windows]]で開発する理由(境界分離の1要素) [#qfc1ca45]
***主な理由 [#s64a1ba9]
結局、[[この辺>WSL → WSL2#ka2f76e9]]なのかなと。
-OA環境からエディタまで、クライアントOSに、~
[[Windows]]が必要なケースは、まだ多そう。
-ビルド以降を、全て[[Linux]]化することも可能と思うケド、~
まだ、ビルド~単体テスト迄は、[[Windows]]でやるケースが多...
***境界の設定 [#s5f932f5]
-なので、
--[[Windows]]で開発して、
--[[Linux]]で実行・テスト
>みたいな境界が何処かに~
必要になるのではないか?と。
-以下の様なパターンが考えられる。
--エディタだけ[[Windows]]、ビルド以降全て[[Linux]]
--単体テストだけ[[Windows]]、結合テスト以降が[[Linux]]
***参考 [#a046fca6]
-[[MosP>https://ja.wikipedia.org/wiki/MosP]]も
--[[Windows]]で開発してるらしい(Java)。
--サポートのある実行環境はCentOSとのこと。
-twitter.com
--https://twitter.com/pontaro_419/status/1248457239427342...
--https://twitter.com/sakayline/status/1258227509193093121
※ とは言え、[[Linux開発環境の整備>#n49c427f]]も進めていま...
*参考 [#h00c9273]
**テスト系 [#r8292a8a]
***[[テスト自動化]] [#l2d9444e]
***[[CI/CD パイプライン]] [#r23924cf]
**OSSコンソーシアム [#m58c7b19]
***本 Wiki [#tca91fdc]
-[[コンテナ技術]]
-[[Docker for Windows]]
-[[Visual Studio Tools for Docker]]
-[[.NET CoreのDockerfile]]
***Open棟梁 Wiki [#qb444a32]
-[[Docker対応>https://opentouryo.osscons.jp/index.php?Doc...
***開発基盤部会 Wiki [#n49c427f]
-[[Dockerファイル>https://dotnetdevelopmentinfrastructure...
-[[コンテナ化する際の設定ポリシー>https://dotnetdevelopme...
-[[Github - CI / CD関連>https://dotnetdevelopmentinfrastr...
--[[GitHub Actions>https://dotnetdevelopmentinfrastructur...
--[[Docker Hub>https://dotnetdevelopmentinfrastructure.os...
-[[VM起動後の開発環境のセットアップ>https://dotnetdevelop...
--[[Windows>https://dotnetdevelopmentinfrastructure.ossco...
--[[Linux>https://dotnetdevelopmentinfrastructure.osscons...
***開発基盤部会 Blog [#v6aa5053]
-[[Docker対応>#qb444a32]]
-Docker for Windows上で Docker Compose~
でテストし、Open PaaSにデプロイできる
--(1)~
https://www.osscons.jp/joweexgq6-537/
--(2)~
https://www.osscons.jp/jo6610sfd-537/
-Docker→Docker Compose→K8sと、~
チェーン&リフトして行く開発のサポート方式~
https://www.osscons.jp/jo7mpxy19-537/
--第7回 部会 新Organization&Repository~
のコンセプト等の説明をしてみる。~
https://www.osscons.jp/joh22kyyf-537/
--第9回 部会 言うなれば、~
Open棟梁 for Dockerと言った感じの物件のご紹介。~
https://www.osscons.jp/jofvzdsx9-537/
--第11回 部会 .NET開発をLinux上で行う~
(Open棟梁 for OAuth2 / OIDC をLinux上で~
https://www.osscons.jp/joazwac6h-537/
----
Tags: [[:コンテナ]], [[:テスト]], [[:デバッグ]], [[.NET開...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[CI/CD]]
--[[.NETアプリをコンテナにデプロイ]]
* 目次 [#f16ba387]
#contents
*概要 [#w1691739]
**内容 [#va9b3dfc]
「[[コンテナのチェーン]]」が意味するところは、
[[CI/CD パイプライン]](DevOpsワークフロー)に、
コンテナの
-ビルド・システム
--プロジェクト・ファイル
--Dockerfile
--ビルド・スクリプト
-コンテナ・レジストリへの登録スクリプト
-IaCによるコンテナのデプロイ自動化
--compose
--manifest
を含め、
開発 → UT → CT → IT → ST環境のチェーンを構築する。
**背景 [#n4ed5269]
-[[コンテナ技術]]も進歩してきて、比較的、容易に、~
「[[コンテナのチェーン]]」を構築できるようになってきた。
-これによって、SIでは、なかなかリーチしなかった、
--[[CI/CD パイプライン>#r23924cf]]
--DevOpsワークフロー
>辺りにリーチするようになってきた。
*詳細 [#ke75103a]
**SIが(で)、[[CI/CD]]・[[CI/CD パイプライン>#r23924cf]]...
***そもそも、 [#eaaa1999]
サービスのプラクティス
-究極的にはスクリプト言語向け。
-SIだと頻繁に更新されることがない。
-テストやリリースのシナリオが再利用率が低い。
で、[[CI/CD]]から得られる効果が薄い。
***どちらかと言うと [#w63d0a5c]
分離環境の構築比重が高い。
-SIでは、
--UT / CT / TT / STなど環境が多段になっている。
--このため、これらの環境構築が優先される。
--逆に、多段化されているので、[[CI/CD]]がハマらない。~
(≒ [[CI/CD パイプライン>#r23924cf]]が長すぎて構築できな...
-Webでは、~
Webサービス保守体制は、恐らく、SIのように多段になっていな...
-実際に、~
[[AKSをセキュアに利用するためのテクニカルリファレンス]]の...
[[> 詳細 > 構成のポイント > 開発~デプロイ>AKSをセキュア...
--「環境分離(セキュリティ境界)」の話が中心になっている。
--実際にやってみて、「こりゃ無理だわ。」と思ったりする所...
--更なる[[コンテナ技術]]の進歩による「コンテナのチェーン...
**昨今、Docker → Docker Compose → K8sの敷居が下がってきた...
...と、チェーン&リフトして行く開発方式のサポートにより、
-SIでも[[CI/CD]]的な事の有効が高まってきたと言える。
-ただ、[[コチラ>AKSをセキュアに利用するためのテクニカルリ...
バカジャネーノ?と思う所はある(難し過ぎの意)
-以下の ①~⑤ ようなチェーンがサクッと繋がる~
ようになってくると実践的になって行くと思う。
***① 全ローカル環境、 [#o109d206]
≒ 従来型の開発。
***② ①のプログラムだけ、Docker化、 [#je86be84]
-[[①>#o109d206]]のプログラムだけDocker化。
-ローカルのサービス群に対しては、~
[[10.0.75.1でブリッジ(最新の環境では変更されている)。>D...
-参考
--Docker→Docker Compose→K8sと、~
チェーン&リフトして行く開発のサポート方式 - OSSコンソー...
https://www.osscons.jp/joerypz9u-537/
***③ ②のサービス類だけ、Docker Compose化、 [#be404871]
-[[①>#o109d206]]のサービス類だけ、Docker ComposeでDocker...
-開発の対象というより、ローカル開発環境をDocker対応させる...
-Docker Composeで、ローカルと同一のポート番号でブリッジさ...
(portsの指定は、ホスト:コンテナなので、xxxx:xxxxにする)~
このUXは、[[①>#o109d206]]の開発のUXと、あまり大きく変わら...
-参考
--サービス類だけ、Docker Compose化する~
プロジェクトが出来上がった。 - OSSコンソーシアム~
https://www.osscons.jp/jor9mt8li-537/
***④ ③にプログラムも加える。 [#m3cf0ee0]
-[[③>#be404871]]で作成した、システム一式を全てDockerにリ...
-プログラムをコンテナ化する。
-コンテナ化したプログラムの接続文字列類を、~
ローカル・ブリッジ経由から、コンテナ直に変更する。
***⑤ ④をKomposeなどでK8sに食わす。 [#v31fa550]
-最後に、[[④>#m3cf0ee0]]のシステムをK8sにリフトする。
-この際、[[Kompose や Compose on Kubernetes>Docker Deskto...
**XKE/XKSは高価なので、IaaSのLinuxVM(コンテナ・サーバ)...
XKE/XKSは、CaaS、PaaSに相当。
***ユースケース [#ze9f7b84]
ユースケースとしては、
-[[Windows]]の開発環境から、~
[[コンテナ・イメージ>#za9a429d]]を[[コンテナ・レジストリ>...
-IaaSベースの[[Linux]]コンテナ・サーバで~
[[コンテナ・レジストリ>#yf65409d]]から[[コンテナ・イメー...
[[コンテナ・イメージ>#za9a429d]]を起動するみたいなイメー...
***役割分担 [#dbc725d2]
これは、[[Docker Desktop for Windows]]でもできるんですが、~
Nested VirtualizationをサポートするハイスペックなVMが必要...
-一般開発者は、
--[[Windows]]開発環境で開発・テスト。
--必要なら、[[WSL(1)>Windows Subsystem for Linux]]を使用...
-SI担当者が、
--[[Docker Desktop for Windows]]でビルドとテスト。
--結果を[[コンテナ・レジストリ>#yf65409d]]に登録する。
-各種テスト環境(IaaSベースの[[Linux]]コンテナ・サーバ)...
--[[コンテナ・レジストリ>#yf65409d]]からコンテナ・イメー...
--コンテナ・イメージを起動する。
*その他 [#ib906d49]
**コンテナ [#w3f63b06]
***コンテナ・イメージ [#za9a429d]
≒ [[Dockerイメージ>https://dotnetdevelopmentinfrastructur...
***コンテナ・レジストリ [#yf65409d]
≒ [[Dockerレジストリ>https://dotnetdevelopmentinfrastruct...
**[[Windows]]で開発する理由(境界分離の1要素) [#qfc1ca45]
***主な理由 [#s64a1ba9]
結局、[[この辺>WSL → WSL2#ka2f76e9]]なのかなと。
-OA環境からエディタまで、クライアントOSに、~
[[Windows]]が必要なケースは、まだ多そう。
-ビルド以降を、全て[[Linux]]化することも可能と思うケド、~
まだ、ビルド~単体テスト迄は、[[Windows]]でやるケースが多...
***境界の設定 [#s5f932f5]
-なので、
--[[Windows]]で開発して、
--[[Linux]]で実行・テスト
>みたいな境界が何処かに~
必要になるのではないか?と。
-以下の様なパターンが考えられる。
--エディタだけ[[Windows]]、ビルド以降全て[[Linux]]
--単体テストだけ[[Windows]]、結合テスト以降が[[Linux]]
***参考 [#a046fca6]
-[[MosP>https://ja.wikipedia.org/wiki/MosP]]も
--[[Windows]]で開発してるらしい(Java)。
--サポートのある実行環境はCentOSとのこと。
-twitter.com
--https://twitter.com/pontaro_419/status/1248457239427342...
--https://twitter.com/sakayline/status/1258227509193093121
※ とは言え、[[Linux開発環境の整備>#n49c427f]]も進めていま...
*参考 [#h00c9273]
**テスト系 [#r8292a8a]
***[[テスト自動化]] [#l2d9444e]
***[[CI/CD パイプライン]] [#r23924cf]
**OSSコンソーシアム [#m58c7b19]
***本 Wiki [#tca91fdc]
-[[コンテナ技術]]
-[[Docker for Windows]]
-[[Visual Studio Tools for Docker]]
-[[.NET CoreのDockerfile]]
***Open棟梁 Wiki [#qb444a32]
-[[Docker対応>https://opentouryo.osscons.jp/index.php?Doc...
***開発基盤部会 Wiki [#n49c427f]
-[[Dockerファイル>https://dotnetdevelopmentinfrastructure...
-[[コンテナ化する際の設定ポリシー>https://dotnetdevelopme...
-[[Github - CI / CD関連>https://dotnetdevelopmentinfrastr...
--[[GitHub Actions>https://dotnetdevelopmentinfrastructur...
--[[Docker Hub>https://dotnetdevelopmentinfrastructure.os...
-[[VM起動後の開発環境のセットアップ>https://dotnetdevelop...
--[[Windows>https://dotnetdevelopmentinfrastructure.ossco...
--[[Linux>https://dotnetdevelopmentinfrastructure.osscons...
***開発基盤部会 Blog [#v6aa5053]
-[[Docker対応>#qb444a32]]
-Docker for Windows上で Docker Compose~
でテストし、Open PaaSにデプロイできる
--(1)~
https://www.osscons.jp/joweexgq6-537/
--(2)~
https://www.osscons.jp/jo6610sfd-537/
-Docker→Docker Compose→K8sと、~
チェーン&リフトして行く開発のサポート方式~
https://www.osscons.jp/jo7mpxy19-537/
--第7回 部会 新Organization&Repository~
のコンセプト等の説明をしてみる。~
https://www.osscons.jp/joh22kyyf-537/
--第9回 部会 言うなれば、~
Open棟梁 for Dockerと言った感じの物件のご紹介。~
https://www.osscons.jp/jofvzdsx9-537/
--第11回 部会 .NET開発をLinux上で行う~
(Open棟梁 for OAuth2 / OIDC をLinux上で~
https://www.osscons.jp/joazwac6h-537/
----
Tags: [[:コンテナ]], [[:テスト]], [[:デバッグ]], [[.NET開...
ページ名: