Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。Toolbeltのインストールを行い、Herokuを使用するための環境を整えました。今回はその環境を使用して、実際にHeroku上で動作するアプリケーションを作成し、動かしてみます。Servletアプリケーションです。Runner」を使用します。Runnerは内部的にTomcatを起動するだけのランチャーアプリケーションです。Heroku上で動作させることを前提として作成されており、SessionのMemcached(またはRedis)への置き換えが簡単に行えるようになっています。Runnerを使用することをお勧めします[1]。Session置き換えの具体的な方法と、それが必要な理由は今後の連載中で詳細に説明します。RunnerはMavenでビルドして実行するタイプのServletコンテナです。worldアプリケーションをコピーして、それをベースにカスタマイズしていくことにします。今回作成するWebアプリケーションのベースとなるコードを、筆者のGiHubリポジトリ(https://github.com/shunjikonishi/codezine-sample)に置きました。cloneコマンドを実行して、ローカルにリポジトリのクローンを作成してください。clipboard]ボタンをクリックすると、指定するURLをクリップボードにコピーできます。clipboard]ボタン実行に成功するとカレントディレクトリに「codezine-sample」というディレクトリが作成され、そこにリポジトリの内容がコピーされます。cloneは外部にあるリポジトリを複製するためのコマンドです。-oはリモートリポジトリの参照名を指定するオプションで、省略時には「origin」という参照名が使用されます。参照名はoriginのままでもよいのですが、gitでは慣習的に以下の名前が使用されることが多いので、ここではそれにならって「upstream」としています。origin以外で自分以外の誰かが管理するマスターリポジトリが存在する場合に使用する参照名ここではローカルに複製したリポジトリをGitHubなどの外部リポジトリで管理するという内容は扱いませんが、その場合にはoriginという参照名を使用するとよいでしょう。リポジトリの中身を確認するこの時点でHerokuに関連する操作はまだ何も行われていませんが、Herokuとgitの関係を理解するために、まずは以下のコマンドを実行してみてください。remoteはリモートリポジトリを管理するためのコマンドです。-vオプションを付けて実行することで、リモートリポジトリの詳細な一覧が表示されます。上記の実行結果からは、現時点ではcloneに使用したリポジトリ(upstream)のみが定義されていることがわかります。次にリポジトリ内のファイルを見ていきます。現時点でのファイル構成は以下のようになっているはずです。現時点でのファイル構成Mavenプロジェクトですのでpom.xmlがあり、Javaのソースファイルはsrc以下に次の3つがあらかじめ用意されています。ファイル読み書きなどのユーティリティクラスなお、TemplateEngineは今回使用しません。今後このアプリケーションを作り込んでいく際に使用します。.gitディレクトリと.gitignoreファイルはgit関連のファイルです。.gitがgitリポジトリ本体で、.gitignoreにはgitでのバージョン管理対象外のファイルを記述します。README.mdはプロジェクトの説明書き。run.sh/run.batはMac/Win用の実行ファイルです。Procfileとsystem.propertiesの2つはHerokuで使用するファイルですが、これらの説明は後で行います。ローカルで動かしてみるHerokuを使う前にまずはこのプロジェクトをローカルでコンパイルして動かしてみます。packageでコンパイルしてrun.sh(Windowsの場合はrun.bat)で実行してみてください。worldの文字列が表示されます。シュンジ)株式会社Giveryに所属するエンジニア。CODEプロジェクトというエンジニアの成長を促進するプラットフォーム開発のテックリード。Herokuも使った新しいプロダクトを今秋リリース予定。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。NEW新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。