JHipsterのインストール
インストールの種類
JHipsterでは、4つの方法を用意しています。迷ったら、2番目の「NPMによるローカルインストール」を選んでください。
- JHipster Onlineは、JHipsterをインストールせずにアプリケーションを生成するための方法です。
- 「NPMによるローカルインストール」は、JHipsterで作業する本格的な方法です。すべてはあなたのマシンにインストールされ、セットアップが少し複雑になりますが、ほとんどの人は通常この方法で作業します。
- 「Docker」コンテナは、JHipsterがインストールされた軽量コンテナを提供する方法です。
JHipster Online (JHipsterを簡単に実行したいユーザー向け)
JHipster Onlineは、JHipsterをインストールすることなく、JHipsterアプリケーションを生成できます。
初めてJHipsterを試す方や、JHipsterがどのようなものかを見てみたい方を対象としています。
アプリケーションを生成した後も、Java(アプリケーションの実行)とNPM(フロントエンドのコードの管理)が必要です。したがって、次のセクション(「NPMによるローカルインストール」)の手順のほとんどを実行する必要があります。
今後は、JHipster Onlineがより多くの機能を提供することを期待しています。
NPMによるローカルインストール(一般ユーザー向け推奨)
クイックセットアップ
- Java 17または21 LTSをインストールします。オープンソースで無償のため、Eclipse Temurin buildsを使用することをお勧めします。
- Node.jsのウェブサイトからNode.jsをインストールします(LTSの64ビット版を使用してください、LTS以外のバージョンはサポートされていません)。
npm install -g generator-jhipster
でJHipsterをインストールします。- (オプション)モジュールやブループリントを使用したい場合(例えばJHipster Marketplaceから取得)
npm install -g yo
でYeoman をインストールします。
JHipsterがインストールされました。次のステップはアプリケーションの作成です。
オプションのインストール
- Javaビルドツールをインストールします。
- Maven、Gradleのどちらを使うにしても、通常は何もインストールする必要はありません。JHipsterは自動的にMaven Wrapper や Gradle Wrapper をインストールしてくれます。
- もし、これらのラッパーを使用したくない場合は、公式の Maven ウェブサイト または Gradle ウェブサイト にアクセスして、自分でインストールを行ってください。
- git-scm.comからGitをインストールします。Gitを始める場合は、SourceTreeのようなツールも使用することをお勧めします。
- JHipsterは、Gitがインストールされている場合、プロジェクトをGitにコミットしようとします。
- JHipster upgrade sub-generator は、Gitをインストールしておく必要があります。
追加情報
JHipsterは、コード生成にYeomanを使用しています。 より多くの情報、ヒント、ヘルプを見つけるには、バグを報告する前にYeoman "getting starting" guide を参照してください。
設定は生成された .yo-rc.json
ファイルに保存します。そのため、HOMEディレクトリにJHipsterプロジェクトを生成しないことを 強く 推奨します。もしそうしてしまうと、サブディレクトリに別のプロジェクトを生成できなくなります。これを解決するには、.yo-rc.json
ファイルを削除してください。
Dockerのインストール(上級者向けのみ)
このDockerイメージは、JHipsterジェネレータをコンテナ内で動作させるためのものであることに注意してください。JHipsterが生成するDockerとDocker Composeの設定 とは全く異なります。これは生成したアプリケーションをコンテナ内で実行することが目的です。
情報
JHipsterは固有のDockerfileを持っており、Dockerイメージを生成できます。
またJHipsteはhttps://hub.docker.com/r/jhipster/jhipster/上で"Automated build"を提供しています。
このイメージにより、Docker内でJHipsterを動作させることができます。
前提条件
- Docker Desktop(推奨): Docker化されたアプリを構築、実行、テストするための最も簡単な方法です。Docker Desktopには、コンテナ/イメージ/ボリュームを管理するためのグラフィカルインタフェース、Docker開発者ツール、Kubernetesサポート、その他多くの機能が付属しています。
- Docker Engine: コマンドラインインタフェース(CLI)を持つクライアント/サーバーアプリケーションです。Docker Engineのインストール手順に従ってください。
生成されたファイルは共有フォルダにあるため、Dockerコンテナを停止しても削除されることはありません。ただし、コンテナを起動するたびにDockerにMavenとNPMの依存関係をすべてダウンロードさせ続けたくない場合は、その状態をコミットするかボリュームをマウントする必要があります。
お使いのOSによってDOCKER_HOST
は異なります。Linuxの場合はlocalhostとなります。
Mac/Windowsの場合は、docker-machine ip default
のコマンドでIPを取得する必要があります。
Linuxでは、自分のユーザがdockerグループに属していない場合、rootユーザとしてdocker
コマンドを実行することになります。そこで、自分のユーザーをdockerグループに追加し、非rootユーザーとしてdockerコマンドを実行できるようにするとよいでしょう。そのためには、http://askubuntu.com/a/477554の手順に従ってください。
Linux/Mac Windowsでの使用方法(Dockerを使用した場合)
イメージのPull
最新のJHipsterのDockerイメージをPullします。
docker image pull jhipster/jhipster
開発用JHipsterのDockerイメージをPullします。
docker image pull jhipster/jhipster:master
すべてのタグはこちらです。
イメージを実行する
MacまたはWindowsでDocker Machineを使用している場合、DockerデーモンはOS XまたはWindowsのファイルシステムに対して限られたアクセスしかできません。Docker Machineは/Users (OS X)やC:\Users<username> (Windows)ディレクトリを自動で共有しようとします。そのため、ボリュームマウントの問題を避けるために、これらのディレクトリの下にプロジェクトフォルダを作成する必要があります。
ホームディレクトリに「jhipster」フォルダを作成します。
mkdir ~/jhipster
以下のオプションを指定して、Dockerイメージを実行します。
- Dockerの"/home/jhipster/app"フォルダをローカルの"~/jhipster"フォルダに共有します。
- Dockerが公開する全てのポート(Javaアプリケーションは8080、BrowserSyncは9000、BrowserSync UIは3001)をフォワードします。
docker container run --name jhipster -v ~/jhipster:/home/jhipster/app -v ~/.m2:/home/jhipster/.m2 -p 8080:8080 -p 9000:9000 -p 3001:3001 -d -t jhipster/jhipster
過去に一度でもコンテナを起動している場合は、上記コマンドを実行する必要はなく、既存のコンテナを起動/停止できます。
コンテナが起動しているかどうかを確認する
コンテナが起動していることを確認するには、docker container ps
コマンドを使用します。
docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ae16c0539a3 jhipster/jhipster "tail -f /home/jhipst" 4 seconds ago Up 3 seconds 0.0.0.0:9000-3001->9000-3001/tcp, 0.0.0.0:8080->8080/tcp jhipster
共通的な操作
- コンテナ実行を停止する場合
docker container stop jhipster
を実行します。 - そのあと起動するには
docker container start jhipster
を実行します。
Dockerイメージを更新する場合(リビルドまたはDocker hubからのPull)、既存のコンテナを削除し、コンテナを一から実行する方がよいでしょう。そのためには、まずコンテナを停止し、それを削除してから再度実行します。
docker container stop jhipster
docker container rm jhipster
docker image pull jhipster/jhipster
docker container run --name jhipster -v ~/jhipster:/home/jhipster/app -v ~/.m2:/home/jhipster/.m2 -p 8080:8080 -p 9000:9000 -p 3001:3001 -d -t jhipster/jhipster
コンテナにアクセスする
Windowsでは、Docker Quick TerminalをAdministratorで実行しないと、npm install
のステップでシンボリックリンクを作成できません。
実行中のコンテナにログインする最も簡単な方法は、以下のコマンドを実行します。
docker container exec -it <コンテナ名> bash
上記のコマンドをコピーペーストしてコンテナを実行した場合、コンテナ名として jhipster
を指定する必要があることに注意してください。
docker container exec -it jhipster bash
"jhipster" ユーザーでログインします。
Ubuntu Xenialではsudo
コマンドが使えないので、"root"でログインしたい場合は、以下のようにする必要があります。
docker container exec -it --user root jhipster bash
あなたの最初のプロジェクト
コンテナ内の/home/jhipster/appディレクトリに移動し、Docker内部でアプリの構築を開始できます。
cd /home/jhipster/app
jhipster
アプリケーションが作成されたら、以下のように、通常のgulp/bower/mavenのコマンドをすべて実行できます。
./mvnw
おめで とうございます。Docker内でJHipsterアプリを起動できました。
あなたのマシンにおいて以下が可能です。
http://DOCKER_HOST:8080
で実行中のアプリケーションにアクセスできます。- 生成されたすべてのファイルを共有フォルダ内で参照できます。
デフォルトでは、jhipster/jhipster
イメージ内にDockerはインストールされません。
したがって以下は実施できません。
- docker-composeのファイルを使用すること
- dockerデーモンでDockerイメージを構築すること(Mavenゴール:
jib:dockerBuild
またはGradleタスク:jibDockerBuild
)
ただし、jibのデーモンレスのモードを使えば、dockerデーモンにアクセスしなくてもdockerイメージを構築してレジストリにプッシュできます(Mavenゴール:jib:build
またはGradleタスク:jibBuild
)。 一方、アプリをビルドする前提条件としてdockerレジストリへ認証情報をセットアップする必要があります。詳しくはJib プラグイン設定ドキュメントを参照してください。