LoginSignup
1
2

More than 5 years have passed since last update.

CircleCI上でwarファイルをTomcatへデプロイする

Posted at

概要

  • 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 として出力されるもの。

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2