概要
- CircleCIのビルドコンテナ上で、ビルドしたwarファイルをTomcatへデプロイする。
環境
- Circle CI (CI)
- Bitbaket (Git Repository)
- Tomcat 8.0
スクリプト
circle.yml
machine:
timezone: Asia/Tokyo
dependencies:
pre:
# tomcatをダウンロードしてセットアップする
- sudo useradd tomcat
- wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
- tar -xzvf ./apache-tomcat-8.5.15.tar.gz
- sudo mkdir /opt/apache-tomcat
- sudo mv ./apache-tomcat-8.5.15 /opt/apache-tomcat
- sudo chown -R tomcat:tomcat /opt/apache-tomcat
test:
post:
# 完成したwarファイルを配備
- sudo cp target/todo.war /opt/apache-tomcat/apache-tomcat-8.5.15/webapps/
# warファイルの所有者を変更
- sudo chown -R tomcat:tomcat /opt/apache-tomcat/apache-tomcat-8.5.15/webapps/todo.war
# tomcatを起動
# - backgroundオプションを指定しないとtomcat startedとなるが起動していない状態になってしまう
- sudo -u tomcat /opt/apache-tomcat/apache-tomcat-8.5.15/bin/startup.sh:
background: true
# 8080ポートでtomcatが起動しているか確認
- sudo lsof -i:8080
# tomcatのトップページを表示
- curl http://localhost:8080/
# デプロイしたアプリのトップページを表示
- curl http://localhost:8080/todo/
general:
artifacts:
# warファイルを成果物として保存
- "target/todo.war"
補足
- warのビルドは、CircleCIのデフォルト動作を使用している。
- 動作確認に使用したプロジェクトはMavenプロジェクトで、warファイルがtarget/todo.war として出力されるもの。