Travis CIでMySQL 5.7

Travis CIのMySQLが5.7になって、Timestamp型の0は許容しなくなった。
そこで、.travis.ymlファイルのbefore_scriptの1行目に「set global sql_mode = ”」を追記した。

before_script:
 - mysql -e "set global sql_mode = ''"
 - mysql -uroot -e "create database crawler"
 - mysql -uroot crawler < src/config/schema.sql

Jenkinsで自動デプロイ

※2022/05/05追記:Mavenでデプロイするのではなく、Jenkinsのプラグインを使用してデプロイする方法はこちら

Jenkinsから自動的にTomcatへデプロイする。

  • Tomcat側の設定
    1. apache-tomcat-8.5.28/conf/tomcat-users.xmlを以下の通り編集する。
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0">
    <role rolename="manager-script">
        <user username="任意のユーザ名" password="パスワード" roles="manager-script">
        </user>
    </role>
</tomcat-users>
  • Jenkins側の設定
    1. 実行ユーザの/.m2/settings.xmlを以下の通り編集する。
    2. プロジェクトの設定を開き、Mavenのゴールの設定に「tomcat7:redeploy」を追記する。
<settings>
    <servers>
        <server>
            <id>tomcat-localhost</id>
            <username>任意のユーザ名</username>
            <password>パスワード</password>
        </server>
    </servers>
</settings>

ユーザ名、パスワードはTomcatの設定と合わせること。

  • Maven側の設定
    1. pom.xmlに以下を追記する。
<plugin>
    <groupid>org.apache.tomcat.maven</groupid>
    <artifactid>tomcat7-maven-plugin</artifactid>
    <version>2.2</version>
    <configuration>
        <path>/common</path>
        <server>tomcat-localhost</server>
        <url>http://localhost:8080/manager/text</url>
    </configuration>
</plugin>

serverはsettings.xmlのidと合わせること。

JenkinsとGithubの連携

※2022/05/05追記:jenkinsの設定方法も含めた、2022年現在の連携方向を参照したい場合はこちら

Githubにpushされたら、Jenkinsのビルドを起動したい。

  • Github側の設定
    1. SettingsのIntegrations & servicesを開き、
      Add ServiceからJenkins (Git plugin)を選択する。

    2. 表示された「Jenkins url」に「http://~ホスト名~/jenkins/github-webhook/」と入力する。

  • Jenkins側の設定
    1. GitHub pluginをインストールする。
      GitHub plugin

    2. ジョブの設定の「GitHub hook trigger for GITScm polling」にチェックを入れる。