1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

自分のSpringBootプロジェクト環境を仲間に渡そう

Last updated at Posted at 2019-02-11

STS環境とそれに紐づくMySQL環境を出来るだけ簡単かつ確実に渡せる方法はないかなと試行錯誤してみました。

というわけで、こんな感じに動かせるCRUDサンプルを仲間に渡したいと思います。

crud_demo.gif


前提条件

以下の環境で動作確認しています。

  • macOS Mojave 10.14.3
  • git version 2.20.1
  • openjdk 11.0.2 2019-01-15
  • Homebrew 2.0.1
  • Docker version 18.09.1, build 4c52b90
  • mysql Ver 14.14 Distrib 5.7.23
  • Spring Tool Suite Version: 4.1.1.RELEASE

TerminalでそれぞれVersion確認をしてみて、コマンド自体が見つからない場合はインストールをしてください。

# macos
sw_vers

# git
git --version

# openjdk
java --version

# homebrew
brew --version

# docker
docker --version

# mysql
mysql --version

# Spring Tool Suite
# GUIアプリです。 インストールした記憶がない場合は https://spring.io/tools からDLしてインストールしてください。

さっそく渡されてみましょう

# 作業フォルダを作成して移動します
mkdir -p ~/Documents/sample_sts_crud/
cd ~/Documents/sample_sts_crud

# STSプロジェクトを入手します
git clone https://gitlab.com/msrx9/sample_springboot_crud.git

# MySQL環境を入手します
git clone https://gitlab.com/msrx9/sample_docker_mysql.git

これで必要なものは揃いました。CRUDデモアプリを起動させてみましょう。

1. MySQLサーバを起動します

docker-composeコマンドを使ってMySQLサーバを起動します。

cd ~/Documents/sample_sts_crud/sample_docker_mysql
docker-compose up

MySQLサーバを停止するときは、CTRL + C を打ち込んでください。

2. STSプロジェクトをインポートして実行

sts_1.jpeg

File > Import を選択。

sts_2.jpeg

Maven > Existing Maven Projects を選択。

sts_3.jpeg

Root Directoryに先ほど git clone したパスを選択。
私の場合ですと /Users/msrx9/Documents/sample_sts_crud/sample_springboot_crud になります。

sts_4.jpeg

プロジェクトを右クリックして Run As > 9 Spring Boot App を選択。
アプリが起動します。

ブラウザでみてみましょう。

ブラウザで http://localhost:8080 にアクセスしてみましょう。

sts_5.jpeg

こんな感じの画面が表示できたら無事に移植完了です。


やってみてよかったなと思った点

  • STSプロジェクトのapplication.ymlの内容とDockerで起動させるMySQLが確実に対応が取れるので、よく陥りがちなDBコネクトエラーが起きない。

  • 全部Gitにコミットしてるので、渡された人もバージョン管理の恩恵を受けることが可能。初学者にありがちな「どこを変更したかわかりません」が減らせれるはず。

やってみて残った疑問

  • dockerの起動の部分をSTS側から制御できないものだろうか。CUIに慣れていない人に都度Terminalでコマンドを打たせるのも間違いの元になるため。

  • jdkやmysql-client等もDockerで仮想化してみたかったがよくやり方がわからなかった。

    • vagrantでひとまとめにするしかない?
    • STSの起動にも必要だし、流石にjdkとかはローカルにインストールした方がよい?
  • macOSならこの手順でいけるけど、Windowsの場合はVirutalBoxとDockerが競合するので、Vagrant+Dockerの形に手順を作り直すしかない? せめて、再起動なしでHyper-VのON/OFFを切り替えられたらなぁ。

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?