From 8f2c98026b95fa57f45d8c2bdb5e1cbb1a9b049d Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 5 Oct 2023 20:40:01 +0600 Subject: [PATCH] add deployment to docker --- .github/workflows/docker-publish.yml | 23 +++++++++++++++++++++++ gradle.properties | 2 ++ nonsudo_deploy.sh | 24 ++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 .github/workflows/docker-publish.yml create mode 100755 nonsudo_deploy.sh diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml new file mode 100644 index 0000000..98dc6ec --- /dev/null +++ b/.github/workflows/docker-publish.yml @@ -0,0 +1,23 @@ +name: Docker + +on: + push: + branches: + - master + +jobs: + publishing: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Log into registry + uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c + with: + username: ${{ secrets.DOCKER_LOGIN }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Deploy + run: ./gradlew build && ./nonsudo_deploy diff --git a/gradle.properties b/gradle.properties index dc6e13d..cfbf04b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,3 +3,5 @@ kotlin.code.style=official org.gradle.parallel=true kotlin.js.generate.externals=true kotlin.incremental=true + +version=0.0.3 diff --git a/nonsudo_deploy.sh b/nonsudo_deploy.sh new file mode 100755 index 0000000..6bdc572 --- /dev/null +++ b/nonsudo_deploy.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +function send_notification() { + echo "$1" +} + +function assert_success() { + "${@}" + local status=${?} + if [ ${status} -ne 0 ]; then + send_notification "### Error ${status} at: ${BASH_LINENO[*]} ###" + exit ${status} + fi +} + +app=booru_grabber_bot +version="`grep ./gradle.properties -e "^version=" | sed -e "s/version=\(.*\)/\1/"`" +server=insanusmokrassar + +assert_success docker build -t $app:"$version" . +assert_success docker tag $app:"$version" $server/$app:$version +assert_success docker tag $app:"$version" $server/$app:latest +assert_success docker push $server/$app:$version +assert_success docker push $server/$app:latest