Library for running MapReduce on Google App Engine
- Add Worklytics org package repository:
<repository> <id>worklytics</id> <name>Apache Maven Packages Published by Worklytics</name> <url>https://maven.pkg.github.com/Worklytics</url> </repository>
- Find the latest package at Worklytics's package repository and add dependency to
your
pom.xml
:<dependency> <groupId>co.worklytics</groupId> <artifactId>appengine-mapreduce</artifactId> <version>0.10-SNAPSHOT</version> <!-- look this up --> </dependency>
Only Maven is currently supported.
First, set up an env variable APPENGINE_MAPREDUCE_CI_SERVICE_ACCOUNT_KEY
as base64-encoded copy of a GCP Service
Account key. The service account must have admin permissions for GCS in a project for which GCS APIs are enabled.
- in IntelliJ, can be set via your Run Configurations for JUnit
- in CI, we use a GitHub secret for this; see [.github/workflows/test-java.yml]
Then, too test the library:
mvn test
To build binary for distribution:
mvn package
without tests (which take a long time):
mvn package -Dmaven.test.skip=TRUE
To deploy it:
- create a GitHub personal access token and put it in your
/.m2/settings.xml
, as described in GitHub's docs - run the following (from the
java/
subdirectory of the repo):
mvn deploy