java data mover using jdbc
Go to file
Paul Trowbridge a9bd96b377 simplify deploy script with atomic deployment
Completely rewrote deploy script to be simpler and safer:
- Requires directory to exist (no automatic creation)
- Builds and extracts to /tmp/ FIRST
- Only clears target directory after build/extract succeeds
- If build fails, existing deployment stays untouched

Usage:
  sudo mkdir -p /opt/jr_test
  ./deploy.sh /opt/jr_test

This atomic approach prevents broken deployments from failed builds.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-06 22:32:28 -05:00
gradle/wrapper upgrade gradle wrapper to 8.5 for java 20 compatibility 2026-01-06 21:42:36 -05:00
jrunner rename app module to jrunner for consistency 2026-01-06 21:53:08 -05:00
.gitattributes initial 2022-10-20 11:12:19 -04:00
.gitignore gitignore accidentally extracted distribution files 2026-01-06 22:20:22 -05:00
CLAUDE.md rename app module to jrunner for consistency 2026-01-06 21:53:08 -05:00
deploy.sh simplify deploy script with atomic deployment 2026-01-06 22:32:28 -05:00
gradlew initial 2022-10-20 11:12:19 -04:00
gradlew.bat initial 2022-10-20 11:12:19 -04:00
readme.md document deploy script usage in readme 2026-01-06 22:03:14 -05:00
settings.gradle rename app module to jrunner for consistency 2026-01-06 21:53:08 -05:00

install java jdk.

find downloads page and get latest tarball. https://www.oracle.com/java/technologies/downloads/

wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.tar.gz
tar -xvf downloaded_file

move the extracted folder to /opt put the extracted location in your path variable

export JAVA_HOME=/opt/jdk-19.0.1
export PATH=$PATH:$JAVA_HOME/bin

java --version to test

install gradle (optional)

Gradle wrapper (gradlew) is included in the repo, so manual Gradle installation is not required. If you prefer to install Gradle system-wide:

wget https://services.gradle.org/distributions/gradle-8.5-bin.zip
unzip -d /opt/gradle gradle-8.5-bin.zip
export PATH=$PATH:/opt/gradle/gradle-8.5/bin
gradle -v

clone this repo

git clone https://gitea.hptrow.me/pt/jrunner.git
cd jrunner

build

./gradlew build

deploy

# Deploy to /opt/jrunner (default, creates system-wide symlink)
./deploy.sh

# Deploy to custom location (for testing, no symlink)
./deploy.sh /opt/jrunner-test

The script builds and deploys in one step. When deploying to the default location (/opt/jrunner), it creates a symlink at /usr/local/bin/jrunner so you can run jrunner from anywhere.

manual deployment

./gradlew build
sudo unzip jrunner/build/distributions/jrunner.zip -d /opt/
sudo ln -sf /opt/jrunner/bin/jrunner /usr/local/bin/jrunner

usage

After deployment to default location:

jrunner -scu jdbc:postgresql://... -scn user -scp pass ...

After deployment to custom location:

/opt/jrunner-test/bin/jrunner -scu jdbc:postgresql://... -scn user -scp pass ...