GitHub ActionsのCI と maven(Java with Maven)
すごい久しぶりに、mavenコマンドを触っている。 いつぶりだろうpomをいろいろ、プロファイルを切り替えたり、自前で作成したのは2014年くらいが最後だったかな? その後は誰かの後のメンテナンスでしか触っていない。
mavenリポジトリにない Oracleのjdbcドライバのjarをローカルにinstallする
run: mvn install:install-file -Dfile=./foo-project/lib/ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar
- 例)pom xmlにsystemPathで書いている場合
<dependency> ・・・ <scope>system</scope> <systemPath>${project.basedir}/lib/ojdbc14.jar</systemPath> </dependency>
pomファイルを指定してmvnを実行
リポジトリA .github /workflows /maven.yml foo-project /lib/ojdbc14-10.2.0.4.0.jar /pom.xml foo-war foo-batch .gitignore readme.md
みたいな場合に、 foo-project/pom.xml があって、それをもとにビルドをすると仮定 ローカルの開発環境でビルドしているときに、以下の場合は
cd ./foo-project/ mvn clean package -P production -f pom.xml
でビルドしているならば
maven.yml では 相対パス指定でビルドさせるように記述する
run mvn clean package -P production -f ./foo-project/pom.xml
ビルドまでできるようにした yml 、半角スペースは必要なので注意
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 1.7 uses: actions/setup-java@v1 with: java-version: 1.7 - name: Install ojdbc14-10.2.0.4.0.jar run: mvn install:install-file -Dfile=./foo-project/lib/ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar - name: Build with Maven run: mvn clean package -P dev -f ./foo-project/pom.xml
疑問と残
githubのyml修正してマージする前にローカルで同じことを試せる(mvn実行をできる)方法ないのかな?