AWS EC 2を使用したデプロイメント(4)-デプロイメントのプロジェクトの設定
前回の記事でMySQLを実行し、Springbootプロジェクトを開始する準備をしました.
プロファイル設定
プロジェクトを実行する前に、ローカル開発環境と導入環境を区別する必要があります.これは、開発環境で実際の本番データベースをテストできないためです.springfootが提供するprofileと環境変数を使用して分離します.
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:tcp://localhost/~/todo
username: sa
password:
h2:
console:
path: /h2-console
enabled: true
sql:
init:
data-locations: classpath:sql/schema.sql
mode: always
以上が既存のアプリケーションです.ymlです.現在、h 2データベースでテスト中ですが、直接修復すると、開発環境と導入環境が変化し、管理が困難になります.また、データベース情報などの機密情報を環境に含める必要があります.私もずっとこのように管理していましたが、コメントでprofileという機能を紹介し、応用してみると悪くないと思ったので書きました.まず、アプリケーション開発と導入環境のデータソース部分を分離します.ymlを作成します.
# application-develop.yml
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:test
username: sa
password:
h2:
console:
path: /h2-console
enabled: true
および既存のアプリケーション.ymlにprofileと明記してください.spring:
profiles:
active: ${profile}
この場合、プロファイル値は環境変数に設定され、プロファイルは各環境で設定された環境変数によって決定されます.このプロファイル値がローカル開発環境でdevelopとして指定されている場合は、IntelJで設定する必要があります.
「実行」ウィンドウをクリックすると、環境変数を設定する「編集構成」が表示されます.
環境変数で
profile=develop
を宣言します.インテリジェント環境で実行すると、profile=developは開発環境で実行するプロファイルに設定されます.
操作環境で使用する設定を含む
application-prod.yml
を作成します.spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: ${MYSQL_DATABASE_URL}
username: ${MYSQL_DATABASE_USERNAME}
password: ${MYSQL_DATABASE_PASSWORD}
sql:
init:
schema-locations: classpath:schema.sql
ここでもdb設定情報を環境変数として記録する.これらの情報はGithubにアップロードすべきではないため、Gitignore処理を行うことができますが、環境変数として隠し、サーバ内の環境変数の処理を受け入れることができます.サーバ上の環境変数の設定
ec 2に必要な環境変数を設定できるようになりました.
次のコマンドは、環境変数を設定するために使用します.
$ export profile=prod
しかしながら、この方法の欠点は、サーバが再起動されると、すべての環境変数が初期化されることである.だから.メソッドを使用してbashrcファイルに必要な環境変数を宣言し、shellを起動するたびに実行します.
まずファイルを開きます.
$ vi ~/.bashrc
次に、ファイルの下部に必要な環境変数を宣言します.export profile=prod
export MYSQL_DATABASE_URL={db 주소}
export MYSQL_DATABASE_USERNAME={username}
export MYSQL_DATABASE_PASSWORD={password}
次に、次のコマンドを実行して環境変数を適用します.$ source ~/.bashrc
$ echo $profile
echoプロファイル値が正しく登録されているかどうかを確認します.この状態でプロジェクトを実行すると、ymlには先ほど記録した環境変数が含まれます.
これで、springfootを導入環境で実行する準備ができました.配備用のコードを構築しSpringbootを実行するだけで済みます.しかしec 2の低規格の問題で困難に直面したので、この過程を書きます.
この文書は、導入時にのみ参照できます.間違いや補足が必要な場合は、いつでもメッセージを残してください:)
Reference
この問題について(AWS EC 2を使用したデプロイメント(4)-デプロイメントのプロジェクトの設定), 我々は、より多くの情報をここで見つけました https://velog.io/@seyoung755/AWS-EC2를-이용해-배포해보자-4-MySQL-서버-실행テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol