LoginSignup
9
9

Windows 11 の Linux でクラウド開発する

Last updated at Posted at 2023-03-18

Windows 11 の Linux でクラウド開発する

こんにちは、@studio_meowtoon です。この記事は Windows 11 の Linux でクラウド開発するためのまとめです。
ubuntu_on_windows_11.png

この記事の内容は継続的に改変される可能性があるため、予告なく内容が更新されることがあります。ご了承ください。

目的

Windows 11 の Linux でクラウド開発を行う環境を構築します。

実現すること

ゼロから Web アプリを開発し、クラウド環境にデプロイして運用します。

開発環境

  • Windows 11 Home 22H2 を使用しています。

WSL の Ubuntu を操作していきますので macOS の方も参考にして頂けます。

WSL (Microsoft Store アプリ版) ※ こちらの関連記事からインストール方法をご確認いただけます

> wsl --version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47

Ubuntu ※ こちらの関連記事からインストール方法をご確認いただけます

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04

Java JDK ※ こちらの関連記事からインストール方法をご確認いただけます

$ java -version
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

Maven ※ こちらの関連記事からインストール方法をご確認いただけます

$ mvn -version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.18, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64

.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 への一歩を踏み出しましょう!

linux_on_windows_11.png

No 記事リンク 概要
1 WSL と Ubuntu 22.04 LTS を Windows 11 にインストールする Ubuntu 22.04 を Windows 11 にインストールします。
2 Vim で Windows 上のテキストを Ubuntu にコピー&ペーストする Vim にコピペします。

Tips

開発で便利な小技を紹介します。

No 記事リンク 概要
1 開発環境をクリーンアップするシェルスクリプトを書く 開発環境をクリーンアップします。

開発ツール

VS Code は軽量なテキストエディタです。Ubuntu とリモート開発することが可能です。

vs-code_on_windows_11.png

No 記事リンク 概要
1 VS Code を Windows 11 にインストールして WSL Ubuntu とリモート開発する VS Code を Windows 11 にインストールします。

git_on_ubuntu.png

No 記事リンク 概要
1 Git をUbuntu にインストールしてリモートリポジトリにプッシュする Git を Ubuntu にインストールします。

Java SE

JDK とビルドツールが必要です。ここでは Maven を使用しています。

java_on_ubuntu.png

No 記事リンク 概要
1 Java JDK を Ubuntu にインストールして Hello World する JDK を Ubuntu にインストールします。
2 Maven を Ubuntu にインストールして Hello World する Maven を Ubuntu にインストールします。
3 Gradle を Ubuntu にインストールして Hello World する Gradle を Ubuntu にインストールします。

graalvm_on_ubuntu.png

No 記事リンク 概要
1 GraalVM で Java ネイティブイメージビルドで Hello World する ネイティブイメージで Hello World します。

Java Web

Java 標準仕様 を Spring と比較してみましょう!

java_on_jetty.png

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 の世界へ旅立ちましょう!

spring-boot_on_ubuntu.png

No 記事リンク 概要
1 Spring Boot Webサービスで Hello World する Spring Boot で Hello World します。
2 Spring Boot のログを出力する Spring Boot でログを出力します。

.NET

ついに .NETLinux でも動くようになりました!

dotnet_on_ubuntu.png

No 記事リンク 概要
1 .NET SDK を Ubuntu にインストールして Hello World する .NET SDK を Ubuntu にインストールします。

aspnet-core_on_ubuntu.png

No 記事リンク 概要
1 ASP.NET Core Webサービスで Hello World する ASP.NET Core で Hello World します。

blazor_on_ubuntu.png

No 記事リンク 概要
1 ASP.NET Core Blazor Webアプリで Hello World する Blazor で Hello World します。

フロントエンド

Web サイトアプリの見た目や操作を実装します。

npm_on_ubuntu.png

No 記事リンク 概要
1 npm を Ubuntu にインストールして Hello World する npm を Ubuntu にインストールします。

Vue.js

vuejs_on_ubuntu.png

No 記事リンク 概要
1 Vue.js Webアプリで Hello World する Vue.js で Hello World します。

React

react_on_ubuntu.png

No 記事リンク 概要
1 React Webアプリで Hello World する React で Hello World します。

DATABASE

データ保存します。

MySQL

mysql_on_ubuntu.png

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

spring-boot_on_docker.png

No 記事リンク 概要
1 Docker Engine を Ubuntu にインストールする Docker を Ubuntu にインストールします。
2 Docker 環境で Spring Boot Webサービスを起動する (Dockerfile 使用) カスタムコンテナで Hello World します。

spring-boot_graalvm_on_docker.png

No 記事リンク 概要
1 Docker 環境で Spring Boot Webサービスを起動する:GraalVM ネイティブイメージ Spring Boot ネイティブイメージコンテナで Hello World します。

spring-boot_on_kubernetes.png

No 記事リンク 概要
1 Kubernetes 環境で Spring Boot Webサービスを起動する クラスターで Hello World します。
2 Kubernetes でブルーグリーンデプロイする Kubernetes でブルーグリーンデプロイします。

.NET

aspnet-core_on_docker.png

No 記事リンク 概要
1 Docker 環境で ASP.NET Core Webサービスを起動する (Dockerfile 使用) Web API カスタムコンテナで Hello World します。

blazor_on_docker.png

No 記事リンク 概要
1 Docker 環境で ASP.NET Core Blazor Webアプリを起動する (WebAssembly) Blazor カスタムコンテナで Hello World します。

OpenAI

OpenAI の技術トピックを紹介します。

OpenAI API

open-ai_with_csharp.png

No 記事リンク 概要
1 OpenAI API で C# でコマンドラインで会話する OpenAI と会話します。

ChatGPT API

chat-gpt_with_csharp.png

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 開発の準備をする

azure_on_ubuntu.png

No 記事リンク 概要
1 Microsoft Azure CLI を Ubuntu にインストールする Azure CLI を Ubuntu にインストールします。

JVM

App Service

spring-boot_on_azure-app-service.png

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

spring-boot_on_azure-spring-apps.png

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)

spring-boot_on_azure-container-apps.png

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 に適用します。

spring-boot_graalvm_on_azure-container-apps.png

No 記事リンク 概要
1 Azure Container Apps (ACA) に Spring Boot カスタムコンテナイメージをデプロイする:GraalVM ネイティブイメージ ネイティブイメージ コンテナイメージを Container Apps にデプロイします。

Kubernetes Service (AKS)

spring-boot_on_azure-kubernetes-service.png

No 記事リンク 概要
1 Azure Kubernetes Service (AKS) に Spring Boot Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) コンテナイメージを AKS にデプロイします。
2 Azure Kubernetes Service (AKS) でブルーグリーンデプロイする AKS でブルーグリーンデプロイします。

Functions

spring-boot_on_azure-functions.png

No 記事リンク 概要
1 Azure Functions に Spring Cloud Function で関数アプリをデプロイする JAR ファイルを Functions にデプロイします。
2 Azure Functions に Spring Cloud Function で関数アプリをデプロイする (Docker Hub カスタムコンテナイメージ) コンテナイメージを Functions にデプロイします。

.NET

Container Apps (ACA)

aspnet-core_on_azure-container-apps.png

No 記事リンク 概要
1 Azure Container Apps (ACA) に ASP.NET Core Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) Web API コンテナイメージを Container Apps にデプロイします。

blazor_on_azure-container-apps.png

No 記事リンク 概要
1 Azure Container Apps (ACA) に ASP.NET Core Blazor Webアプリをデプロイする (Docker Hub カスタムコンテナイメージ) Blazor コンテナイメージを Container Apps にデプロイします。

Kubernetes Service (AKS)

aspnet-core_on_azure-kubernetes-service.png

No 記事リンク 概要
1 Azure Kubernetes Service (AKS) に ASP.NET Core Webサービスをデプロイする (Docker Hub カスタムコンテナイメージ) Web API コンテナイメージを AKS にデプロイします。

まとめ

どうでしたか? Windows 11Linux で、クラウド開発環境を手軽に構築することができます。ぜひお試しください。

Ubuntu を使うと Linux の知識も身に付きます。最初は難しく感じるかもしれませんが、徐々に進めていけば自信を持って書けるようになります。

今後も UbuntuJavaSpring.NETDockerKubernetesAzure 開発環境の情報などを紹介していきますので、ぜひお楽しみにしてください。

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9