Windows 11 の Linux でクラウド開発する
こんにちは、@studio_meowtoon です。この記事は Windows 11 の Linux でクラウド開発するためのまとめです。
この記事の内容は継続的に改変される可能性があるため、予告なく内容が更新されます。ご了承ください。
目的
Windows 11 の Linux でクラウド開発を行う環境を構築します。
実現すること
ゼロから Web アプリを開発し、クラウド環境にデプロイして運用します。
開発環境
- Windows 11 Home 23H2 を使用しています。
WSL の Ubuntu を操作しますので macOS の方も参考にして頂けます。
WSL (Microsoft Store アプリ版) ※ こちらの関連記事からインストール方法をご確認いただけます
> wsl --version
WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
Ubuntu ※ こちらの関連記事からインストール方法をご確認いただけます
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Java JDK ※ こちらの関連記事からインストール方法をご確認いただけます
$ java -version
openjdk version "11.0.23" 2024-04-16
OpenJDK Runtime Environment (build 11.0.23+9-post-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.23+9-post-Ubuntu-1ubuntu1, mixed mode, sharing)
Maven ※ こちらの関連記事からインストール方法をご確認いただけます
$ mvn -version
Apache Maven 3.8.7
Maven home: /usr/share/maven
Java version: 11.0.23, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "5.15.153.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"
.NET SDK ※ こちらの関連記事からインストール方法をご確認いただけます
$ dotnet --list-sdks
7.0.202 [/usr/share/dotnet/sdk]
$ dotnet --version
7.0.202
Docker ※ こちらの関連記事からインストール方法をご確認いただけます
$ docker --version
Docker version 23.0.1, build a5ee5b1
kubectl ※ こちらの関連記事からインストール方法をご確認いただけます
$ kubectl version --short
Client Version: v1.26.1
Kustomize Version: v4.5.7
Server Version: v1.26.1
Azure CLI ※ こちらの関連記事からインストール方法をご確認いただけます
$ az --version
azure-cli 2.45.0
core 2.45.0
telemetry 1.0.8
記事リスト
WSL Linux
誰でも始めは初心者です。さあ Linux への一歩を踏み出しましょう!
No | 記事リンク | 概要 |
---|---|---|
1 | WSL と Ubuntu 24.04 LTS を Windows 11 にインストールする | Ubuntu 24.04 を Windows 11 にインストールします。 |
2 | Vim で Windows 上のテキストを Ubuntu にコピー&ペーストする | Vim にコピペします。 |
Tips
開発で便利な小技を紹介します。
No | 記事リンク | 概要 |
---|---|---|
1 | 開発環境をクリーンアップするシェルスクリプトを書く | 開発環境をクリーンアップします。 |
開発ツール
VS Code は軽量なテキストエディターです。Ubuntu とリモート開発することが可能です。
No | 記事リンク | 概要 |
---|---|---|
1 | VS Code を Windows 11 にインストールして WSL Ubuntu とリモート開発する | VS Code を Windows 11 にインストールします。 |
No | 記事リンク | 概要 |
---|---|---|
1 | Git をUbuntu にインストールしてリモートリポジトリにプッシュする | Git を Ubuntu にインストールします。 |
Java SE
JDK とビルドツールが必要です。ここでは Maven を使用しています。
No | 記事リンク | 概要 |
---|---|---|
1 | Java JDK を Ubuntu にインストールして Hello World する | JDK を Ubuntu にインストールします。 |
2 | Maven を Ubuntu にインストールして Hello World する | Maven を Ubuntu にインストールします。 |
3 | Gradle を Ubuntu にインストールして Hello World する | Gradle を Ubuntu にインストールします。 |
No | 記事リンク | 概要 |
---|---|---|
1 | GraalVM で Java ネイティブイメージビルドで Hello World する | ネイティブイメージで Hello World します。 |
Java Web
Java 標準仕様 を Spring と比較してみましょう!
No | 記事リンク | 概要 |
---|---|---|
1 | Java Servlet Webアプリで Hello World する | Servlet で Hello World します。 |
2 | Java JAX-RS Webサービスで Hello World する | JAX-RS で Hello World します。 |
Spring
Spring Boot から始めて Spring の世界へ旅立ちましょう!
No | 記事リンク | 概要 |
---|---|---|
1 | Spring Boot Webサービスで Hello World する | Spring Boot で Hello World します。 |
2 | Spring Boot のログを出力する | Spring Boot でログを出力します。 |
.NET
ついに .NET が Linux でも動くようになりました!
No | 記事リンク | 概要 |
---|---|---|
1 | .NET SDK を Ubuntu にインストールして Hello World する | .NET SDK を Ubuntu にインストールします。 |
No | 記事リンク | 概要 |
---|---|---|
1 | ASP.NET Core Webサービスで Hello World する | ASP.NET Core で Hello World します。 |
No | 記事リンク | 概要 |
---|---|---|
1 | ASP.NET Core Blazor Webアプリで Hello World する | Blazor で Hello World します。 |
フロントエンド
Web サイトやアプリの見た目や操作を実装します。
No | 記事リンク | 概要 |
---|---|---|
1 | npm を Ubuntu にインストールして Hello World する | npm を Ubuntu にインストールします。 |
Vue.js
No | 記事リンク | 概要 |
---|---|---|
1 | Vue.js Webアプリで Hello World する | Vue.js で Hello World します。 |
React
No | 記事リンク | 概要 |
---|---|---|
1 | React Webアプリで Hello World する | React で Hello World します。 |
DATABASE
データを保存します。
MySQL
No | 記事リンク | 概要 |
---|---|---|
1 | MySQL 5.7 を Ubuntu 22.04 にインストールする | MySQL 5.7 を Ubuntu にインストールします。 |
2 | MySQL 8.0 を Ubuntu 22.04 にインストールする | MySQL 8.0 を Ubuntu にインストールします。 |
コンテナー (Docker、Kubernetes)
クラウド開発ではコンテナーが多く使用されます。
JVM
No | 記事リンク | 概要 |
---|---|---|
1 | Docker Engine を Ubuntu にインストールする | Docker を Ubuntu にインストールします。 |
2 | Docker 環境で Spring Boot Webサービスを起動する | カスタムコンテナーで Hello World します。 |
No | 記事リンク | 概要 |
---|---|---|
1 | Docker 環境で Spring Boot Webサービスを起動する:GraalVM ネイティブイメージ | Spring Boot ネイティブイメージコンテナーで Hello World します。 |
No | 記事リンク | 概要 |
---|---|---|
1 | Kubernetes 環境で Spring Boot Webサービスを起動する | クラスターで Hello World します。 |
2 | Kubernetes でブルーグリーンデプロイする | Kubernetes でブルーグリーンデプロイします。 |
.NET
No | 記事リンク | 概要 |
---|---|---|
1 | Docker 環境で ASP.NET Core Webサービスを起動する (Dockerfile 使用) | Web API カスタムコンテナーで Hello World します。 |
No | 記事リンク | 概要 |
---|---|---|
1 | Docker 環境で ASP.NET Core Blazor Webアプリを起動する (WebAssembly) | Blazor カスタムコンテナーで Hello World します。 |
OpenAI
OpenAI の技術トピックを紹介します。
OpenAI API
No | 記事リンク | 概要 |
---|---|---|
1 | OpenAI API で C# でコマンドラインで会話する | OpenAI と会話します。 |
ChatGPT API
No | 記事リンク | 概要 |
---|---|---|
1 | ChatGPT API で C# でコマンドラインで会話する | ChatGPT と会話します。 |
2 | ChatGPT API で C# でコマンドラインで会話する (人格を設定) | ChatGPT に性格を設定します。 |
3 | ChatGPT API で C# でコマンドラインで会話する (機能切り出し) | 作成した機能をライブラリに機能切り出します。 |
4 | ChatGPT API で C# でコマンドラインで会話する (複数とおしゃべり) | 複数の ChatGPT とおしゃべりします。 |
5 | ChatGPT API で C# でコマンドラインで会話する (AI の二人が会話) | ChatGPT AI の二人が会話します。 |
Microsoft Azure
Azure の技術トピックを紹介します。
Azure 開発の準備をする
No | 記事リンク | 概要 |
---|---|---|
1 | Microsoft Azure CLI を Ubuntu にインストールする | Azure CLI を Ubuntu にインストールします。 |
JVM
App Service
No | 記事リンク | 概要 |
---|---|---|
1 | Azure App Service に Spring Boot Webサービスをデプロイする (JAR ファイル形式) | JAR ファイルを App Service にデプロイします。 |
2 | Azure App Service に Spring Boot Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) | コンテナイメージを App Service にデプロイします。 |
3 | Azure App Service にデプロイした Spring Boot コンテナに SSH 接続する | App Service に SSH 接続します。 |
4 | Azure App Service でブルーグリーンデプロイする | App Service でブルーグリーンデプロイします。 |
5 | 最速で Azure App Service を立ち上げる | シェルスクリプトで App Service にデプロイします。 |
6 | Azure Monitor Application Insights を App Service Web アプリに設定する | Application Insights を App Service に適用します。 |
Spring Apps
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Spring Apps (ASA) に Spring Boot Webサービスをデプロイする (JAR ファイル形式) | JAR ファイルを Spring Apps にデプロイします。 |
2 | Azure Spring Apps (ASA) でブルーグリーンデプロイする | Spring Apps でブルーグリーンデプロイします。 |
3 | 最速で Azure Spring Apps (ASA) を立ち上げる | シェルスクリプトで Spring Apps にデプロイします。 |
Container Apps (ACA)
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Container Apps (ACA) に Spring Boot Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) | コンテナイメージを Container Apps にデプロイします。 |
2 | Azure Container Apps (ACA) でブルーグリーンデプロイする | Container Apps でブルーグリーンデプロイします。 |
3 | 最速で Azure Container Apps (ACA) を立ち上げる | シェルスクリプトで Container Apps にデプロイします。 |
4 | Azure Monitor Application Insights を Container Apps コンテナ アプリに設定する | Application Insights をContainer Apps に適用します。 |
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Container Apps (ACA) に Spring Boot カスタムコンテナイメージをデプロイする:GraalVM ネイティブイメージ | ネイティブイメージ コンテナイメージを Container Apps にデプロイします。 |
Kubernetes Service (AKS)
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Kubernetes Service (AKS) に Spring Boot Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) | コンテナイメージを AKS にデプロイします。 |
2 | Azure Kubernetes Service (AKS) でブルーグリーンデプロイする | AKS でブルーグリーンデプロイします。 |
Functions
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Functions に Spring Cloud Function で関数アプリをデプロイする | JAR ファイルを Functions にデプロイします。 |
2 | Azure Functions に Spring Cloud Function で関数アプリをデプロイする (Docker Hub カスタムコンテナイメージ) | コンテナイメージを Functions にデプロイします。 |
.NET
Container Apps (ACA)
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Container Apps (ACA) に ASP.NET Core Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) | Web API コンテナイメージを Container Apps にデプロイします。 |
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Container Apps (ACA) に ASP.NET Core Blazor Webアプリをデプロイする (Docker Hub カスタムコンテナイメージ) | Blazor コンテナイメージを Container Apps にデプロイします。 |
Kubernetes Service (AKS)
No | 記事リンク | 概要 |
---|---|---|
1 | Azure Kubernetes Service (AKS) に ASP.NET Core Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) | Web API コンテナイメージを AKS にデプロイします。 |
まとめ
どうでしたか? Windows 11 の Linux で、クラウド開発環境を手軽に構築できます。ぜひお試しください。
Ubuntu を使うと Linux の知識も身に付きます。最初は難しく感じるかもしれませんが、徐々に進めていけば自信を持って書けるようになります。
今後も Ubuntu、Java、Spring、.NET、Docker、Kubernetes、Azure 開発環境の情報などを紹介しますので、ぜひお楽しみにしてください。