diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..8a5c3f7 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,60 @@ +on: + - push + +jobs: + qa: + runs-on: ubuntu-latest + steps: + - uses: actions/setup-java@v1 + with: + java-version: 17 + - uses: actions/checkout@v2 + - run: docker compose up -d mongo + working-directory: docker + - run: ./mvnw verify + deploy: + if: github.ref_name == 'main' + needs: qa + runs-on: self-hosted + steps: + - uses: actions/checkout@v2 + - run: ./mvnw package -DskipTests + - run: cp crypto-messenger-server/target/*.jar docker/ + - run: docker compose -p crypto-messenger up -d --build + working-directory: docker + build-for-debian: + runs-on: ubuntu-latest + steps: + - uses: actions/setup-java@v1 + with: + java-version: 17 + - uses: actions/checkout@v2 + - run: ./mvnw install -DskipTests + - uses: actions/upload-artifact@v3 + with: + name: debian-${{ github.run_id }} + path: crypto-messenger-desktop/target/*.deb + build-for-windows: + runs-on: windows-latest + steps: + - uses: actions/setup-java@v1 + with: + java-version: 17 + - uses: actions/checkout@v2 + - run: ./mvnw install -DiconType=ico -DskipTests + - uses: actions/upload-artifact@v3 + with: + name: windows-${{ github.run_id }} + path: crypto-messenger-desktop/target/*.exe + build-for-macos: + runs-on: macos-latest + steps: + - uses: actions/setup-java@v1 + with: + java-version: 17 + - uses: actions/checkout@v2 + - run: ./mvnw install -DskipTests + - uses: actions/upload-artifact@v3 + with: + name: macos-${{ github.run_id }} + path: crypto-messenger-desktop/target/*.dmg diff --git a/crypto-messenger-coder/pom.xml b/crypto-messenger-coder/pom.xml index 9b06d17..b99af34 100644 --- a/crypto-messenger-coder/pom.xml +++ b/crypto-messenger-coder/pom.xml @@ -7,7 +7,7 @@ org.example crypto-messenger - 1.0-SNAPSHOT + 0.1.0 crypto-messenger-coder diff --git a/crypto-messenger-desktop/pom.xml b/crypto-messenger-desktop/pom.xml index 22ee46e..77e4d85 100644 --- a/crypto-messenger-desktop/pom.xml +++ b/crypto-messenger-desktop/pom.xml @@ -7,11 +7,15 @@ org.example crypto-messenger - 1.0-SNAPSHOT + 0.1.0 crypto-messenger-desktop + + png + + org.springframework.data @@ -47,6 +51,41 @@ org.springframework.boot spring-boot-maven-plugin + + ${project.build.directory}/app + + + + + org.panteleyev + jpackage-maven-plugin + 1.6.0 + + + install + + jpackage + + + + + + ${project.build.directory}/app + ${project.build.finalName}.jar + ${project.build.directory} + + + CryptoMessenger + src/main/resources/graphics/lock.${iconType} + Kirill + + + true + true + true + true + Kirill + diff --git a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java index 8d720a0..ddb709b 100644 --- a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java +++ b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java @@ -23,7 +23,7 @@ public JavaFxApplication() { @Override public void start(Stage primaryStage) { primaryStage.setTitle("CryptoMessenger"); - primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.jpg"))); + primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.png"))); primaryStage.setScene(sceneLoader.load("MainScene")); primaryStage.show(); } diff --git a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java index b39488e..8b1bfc0 100644 --- a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java +++ b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java @@ -19,7 +19,7 @@ public class SendMessageDialog { public void show(Runnable onSuccess) { var stage = new Stage(); stage.setTitle("Send Message"); - stage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.jpg"))); + stage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.png"))); stage.initModality(Modality.APPLICATION_MODAL); var sceneProperties = SceneProperties.of( entry("onSent", (Runnable) () -> { diff --git a/crypto-messenger-desktop/src/main/resources/application.yml b/crypto-messenger-desktop/src/main/resources/application.yml index 5f81ba1..3f1eb53 100644 --- a/crypto-messenger-desktop/src/main/resources/application.yml +++ b/crypto-messenger-desktop/src/main/resources/application.yml @@ -1,5 +1,5 @@ app: - server-base-url: http://localhost:8080 + server-base-url: http://164.90.184.120 spring: main: web-application-type: none diff --git a/crypto-messenger-desktop/src/main/resources/graphics/lock.ico b/crypto-messenger-desktop/src/main/resources/graphics/lock.ico new file mode 100644 index 0000000..6d6f332 Binary files /dev/null and b/crypto-messenger-desktop/src/main/resources/graphics/lock.ico differ diff --git a/crypto-messenger-desktop/src/main/resources/graphics/lock.jpg b/crypto-messenger-desktop/src/main/resources/graphics/lock.jpg deleted file mode 100644 index 395340a..0000000 Binary files a/crypto-messenger-desktop/src/main/resources/graphics/lock.jpg and /dev/null differ diff --git a/crypto-messenger-desktop/src/main/resources/graphics/lock.png b/crypto-messenger-desktop/src/main/resources/graphics/lock.png new file mode 100644 index 0000000..9266567 Binary files /dev/null and b/crypto-messenger-desktop/src/main/resources/graphics/lock.png differ diff --git a/crypto-messenger-server/pom.xml b/crypto-messenger-server/pom.xml index d73686f..709bbda 100644 --- a/crypto-messenger-server/pom.xml +++ b/crypto-messenger-server/pom.xml @@ -7,7 +7,7 @@ org.example crypto-messenger - 1.0-SNAPSHOT + 0.1.0 crypto-messenger-server diff --git a/crypto-messenger-server/src/main/resources/application.yml b/crypto-messenger-server/src/main/resources/application.yml index 67b66ed..43ef74f 100644 --- a/crypto-messenger-server/src/main/resources/application.yml +++ b/crypto-messenger-server/src/main/resources/application.yml @@ -1,5 +1,6 @@ spring: data: mongodb: + host: mongo database: main auto-index-creation: true diff --git a/crypto-messenger-server/src/test/resources/application.yml b/crypto-messenger-server/src/test/resources/application.yml new file mode 100644 index 0000000..e69de29 diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..3d3845c --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,4 @@ +FROM eclipse-temurin:17-jre-alpine +WORKDIR /opt +COPY *.jar . +ENTRYPOINT exec java -Xmx200M -jar *.jar diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..27c486e --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + app: + build: . + restart: always + ports: + - 0.0.0.0:80:8080 + mongo: + image: mongo + restart: always + ports: + - 127.0.0.1:27017:27017 + volumes: + - mongo:/data/db +volumes: + mongo: diff --git a/pom.xml b/pom.xml index 21a3f33..15bdb58 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.example crypto-messenger - 1.0-SNAPSHOT + 0.1.0 pom