AWS CodeBuildでSpring Bootプロジェクトのビルド時にビルド環境のタイムゾーンを指定する

2020年2月26日

やりたいこと: CodeBuildのビルド環境のタイムゾーンをAsia/Tokyoへ変更する

AWS CodeBuild上でSpring Bootプロジェクトをテスト、ビルドする際にビルド環境のタイムゾーンを変更したい。 CodeBuildのビルド環境を標準イメージで作成した場合、タイムゾーンはUTCとなっている。 イメージ:aws/codebuild/standard:2.0

対処法

タイムゾーンを変更するにはbuildspec.yml内で環境変数TZにタイムゾーンを指定すればよい。ちなみに、CodeBuildのコンソールで「環境を編集する」→「環境変数の追加」から環境変数名にJAVA_OPTSに値を-Duser.timezone=Asia/Tokyoとしても効かなかった。 buildspec.yml

version: 0.2
phases:
install:
runtime-versions:
docker: 18
pre_build:
commands:
- export TZ="Asia/Tokyo"  # タイムゾーンを指定
build:
....
タイムゾーン未指定時のSpring Bootが出力するログの一部。JSTの23時頃に実行しているが時刻がUTCとなっている。

> Task :test
2019-10-15 14:32:47.785  INFO 269 --- [      Thread-10] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2019-10-15 14:32:47.786  INFO 269 --- [      Thread-10] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown initiated...
2019-10-15 14:32:47.785  INFO 269 --- [       Thread-8] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2019-10-15 14:32:47.800  INFO 269 --- [       Thread-8] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-10-15 14:32:47.814  INFO 269 --- [      Thread-10] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown completed.
2019-10-15 14:32:47.815  INFO 269 --- [       Thread-8] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
...
タイムゾーン指定時のログ、時刻がJSTとなっている。

> Task :test
2019-10-15 23:15:47.293  INFO 275 --- [       Thread-8] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2019-10-15 23:15:47.296  INFO 275 --- [       Thread-8] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-10-15 23:15:47.302  INFO 275 --- [      Thread-10] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2019-10-15 23:15:47.302  INFO 275 --- [      Thread-10] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown initiated...
2019-10-15 23:15:47.308  INFO 275 --- [       Thread-8] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2019-10-15 23:15:47.310  INFO 275 --- [      Thread-10] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown completed.

AWS

Posted by fanfanta