From b4e4421378643d8cf57d45466c8097d760858204 Mon Sep 17 00:00:00 2001 From: Alemiz Date: Sat, 25 Mar 2023 13:46:08 +0100 Subject: [PATCH] Build docker image --- .github/workflows/deploy.yml | 35 ++++++++++++++++++- Dockerfile | 11 ++++++ .../service/repository/TermsRepository.java | 2 -- service/src/main/resources/service.properties | 4 +-- 4 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 Dockerfile diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index e16265f..c49a28d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,24 +1,57 @@ name: Gradle Build on: + workflow_dispatch: push: branches: ["master"] +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + jobs: publish: runs-on: ubuntu-latest + permissions: + packages: write + contents: read steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: java-version: '17' distribution: 'adopt-hotspot' + - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - name: Build uses: gradle/gradle-build-action@v2 with: gradle-version: wrapper - arguments: "publish" + arguments: "service:shadowJar publish" env: DEPLOY_USERNAME: ${{ secrets.DEPLOY_USERNAME }} DEPLOY_PASSWORD: ${{ secrets.DEPLOY_PASSWORD }} + + - name: Log in + uses: docker/login-action@v1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'master') }} + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v4 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bd855c5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM openjdk:17-alpine +# Create workspace +WORKDIR /usr/app +# Add build application jar +COPY service/build/libs/service-1.0-SNAPSHOT-all.jar ./service.jar + +# Default to 8080 +ENV APP_PORT 8080 +EXPOSE 8080 +# Start application +CMD ["java", "-jar", "service.jar"] \ No newline at end of file diff --git a/service/src/main/java/eu/mizerak/alemiz/translationlib/service/repository/TermsRepository.java b/service/src/main/java/eu/mizerak/alemiz/translationlib/service/repository/TermsRepository.java index 8440e29..2571a53 100644 --- a/service/src/main/java/eu/mizerak/alemiz/translationlib/service/repository/TermsRepository.java +++ b/service/src/main/java/eu/mizerak/alemiz/translationlib/service/repository/TermsRepository.java @@ -18,8 +18,6 @@ @Slf4j @Singleton public class TermsRepository { - public static final String COLLECTION = "terms"; - @Inject Configuration config; diff --git a/service/src/main/resources/service.properties b/service/src/main/resources/service.properties index 7f8a306..a93bc2b 100644 --- a/service/src/main/resources/service.properties +++ b/service/src/main/resources/service.properties @@ -3,13 +3,13 @@ # Http server settings http.host=0.0.0.0 -http.port=8080 +http.port=${APP_PORT:8080} # Translations db path translations-file=${TRANSLATIONS_FILE:translations.db} # Access tokens divided by semicon -service.access-tokens=my_secret_token,my_secret_token2 +service.access-tokens=${ACCESS_TOKEN:my_secret_token,my_secret_token2} # Translations scrapper name # Supported values: traduora