diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..1c52086 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,51 @@ +name: Build and Deploy Docker + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v4 + + - name: Log in to GHCR + uses: docker/login-action@v3 + with: + registry: git.rhost.ovh + username: ${{ github.actor }} + password: ${{ secrets.TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: ./service/Dockerfile + push: true + tags: git.rhost.ovh/${{ github.repository }}:latest + deploy: + needs: build + runs-on: ubuntu-latest + + steps: + - name: Deploy via SSH + uses: appleboy/ssh-action@v1.2.0 + with: + host: ${{ secrets.SERVER_HOST }} + port: ${{ secrets.SERVER_PORT }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SERVER_SSH_KEY }} + script: | + cd /home/ryjek/docker/taxes + docker compose pull + docker compose up -d + docker compose exec --workdir /var/www/html www APP_RUNTIME_ENV=prod php bin/console secrets:decrypt-to-local --force + docker compose exec --workdir /var/www/html www php ./bin/console doctrine:migration:migrate --dry-run + docker compose exec --workdir /var/www/html www php ./bin/console cache:clear \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 4c1ddc0..71dcc48 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,7 @@ services: networks: - internal www: + image: git.rhost.ovh/ryjek/taxes:latest restart: on-failure build: context: . diff --git a/project/.env.prod b/project/.env.prod new file mode 100644 index 0000000..0df26d4 --- /dev/null +++ b/project/.env.prod @@ -0,0 +1,4 @@ +APP_ENV=prod +APP_SECRET=%env(APP_SECRET)% +MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0 +DATABASE_URL="postgresql://%env(DATABASE_USER)%:%env(DATABASE_PASSWORD)%@database:5432/taxes?serverVersion=13&charset=utf8" \ No newline at end of file diff --git a/project/config/secrets/prod/prod.APP_SECRET.1cf811.php b/project/config/secrets/prod/prod.APP_SECRET.1cf811.php new file mode 100644 index 0000000..ae7bc92 --- /dev/null +++ b/project/config/secrets/prod/prod.APP_SECRET.1cf811.php @@ -0,0 +1,3 @@ + null, + 'DATABASE_PASSWORD' => null, + 'DATABASE_USER' => null, +]; diff --git a/project/src/Helper/ClearTypes.php b/project/src/Helper/ClearTypes.php index 5ac9d7c..97228f0 100644 --- a/project/src/Helper/ClearTypes.php +++ b/project/src/Helper/ClearTypes.php @@ -1,14 +1,15 @@