From c252b8420bdb0571d20223a4b1e13bee5e3e9b15 Mon Sep 17 00:00:00 2001 From: lubiana Date: Sat, 22 Jun 2024 21:47:23 +0200 Subject: [PATCH] prepare deploy --- .forgejo/workflows/release.yml | 20 ++++++++++++++++++++ .gitignore | 3 ++- deploy/etc/caddy/Caddyfile | 3 ++- deploy/install.sh | 27 ++++++++++++++++----------- deploy/prepare-deploy.sh | 12 ++++++++---- 5 files changed, 48 insertions(+), 17 deletions(-) create mode 100644 .forgejo/workflows/release.yml mode change 100644 => 100755 deploy/install.sh diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml new file mode 100644 index 0000000..9602add --- /dev/null +++ b/.forgejo/workflows/release.yml @@ -0,0 +1,20 @@ +on: + release +jobs: + ls: + runs-on: docker + container: + image: git.php.fail/lubiana/container/php:ci + steps: + - name: Manually checkout + env: + REPO: '${{ github.repository }}' + TOKEN: '${{ secrets.GITHUB_TOKEN }}' + BRANCH: '${{ env.GITHUB_REF_NAME }}' + GIT_SERVER: 'hannover.ccc.de/gitlab' + run: | + git clone --branch $GITHUB_REF_NAME https://${TOKEN}@${GIT_SERVER}/${REPO}.git . + git fetch + git checkout ${{ github.head_ref }} + - name: list + run: ls diff --git a/.gitignore b/.gitignore index 67d0ef4..62752be 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,5 @@ ###< phpunit/phpunit ### .idea/ -/deploy/temp-deploy/ +/deploy/futtern-app/ +/deploy/var/ diff --git a/deploy/etc/caddy/Caddyfile b/deploy/etc/caddy/Caddyfile index 0447d1d..a36f02d 100644 --- a/deploy/etc/caddy/Caddyfile +++ b/deploy/etc/caddy/Caddyfile @@ -1,6 +1,7 @@ :8087 { + log root * /var/www/html/public - php_fastcgi unix//var/run/php-fpm.sock + php_fastcgi localhost:9001 file_server encode zstd gzip } \ No newline at end of file diff --git a/deploy/install.sh b/deploy/install.sh old mode 100644 new mode 100755 index 6f09d2a..d4b64b7 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -1,5 +1,11 @@ #!/usr/bin/env sh +if [ ! -d "var" ]; then + mkdir var +fi +podman pod stop futtern +podman pod rm futtern + podman pod create \ --label "io.containers.autoupdate=registry" \ --name futtern \ @@ -7,20 +13,19 @@ podman pod create \ podman run -d \ --pod futtern \ - --name php \ + --name futtern-php \ + --volume $(pwd)/etc/php83/php-fpm.d/www.conf:/etc/php83/php-fpm.d/www.conf \ + --volume $(pwd)/futtern-app:/var/www/html \ + --volume $(pwd)/var:/var/www/html/var \ + --env 'APP_ENV=prod' \ git.php.fail/lubiana/container/php:8.3-fpm podman run -d \ --pod futtern \ - --name caddy \ - --volume + --name futtern-caddy \ + --volume $(pwd)/etc/caddy/Caddyfile:/etc/caddy/Caddyfile \ + --volume $(pwd)/futtern-app:/var/www/html \ + --volume caddy_data:/data \ docker.io/caddy/caddy:alpine -podman genereate systemd \ - --files \ - --name futtern \ - --restart-policy=always \ - -t 10 - -mkdir -p ${HOME}/.config/systemd/user - +echo 'yes' | podman exec -it futtern-php /var/www/html/bin/console doctrine:migrations:migrate diff --git a/deploy/prepare-deploy.sh b/deploy/prepare-deploy.sh index 558f081..c0ad1ed 100644 --- a/deploy/prepare-deploy.sh +++ b/deploy/prepare-deploy.sh @@ -1,10 +1,12 @@ #!/usr/bin/env sh -if [ -d "futter-app" ]; then - rm -rf futtern-app +TARGETDIR='futtern-app' + +if [ -d $TARGETDIR ]; then + rm -rf $TARGETDIR fi -mkdir futtern-app -cd futtern-app || return +mkdir $TARGETDIR +cd $TARGETDIR || return pathsToCopy="public bin config migrations src templates composer.json composer.lock symfony.lock .env etc" @@ -24,3 +26,5 @@ chmod 600 ~/.ssh/id_rsa ssh-keyscan -H $HOST >> ~/.ssh/known_hosts # SCP files to the remote host rsync -avz --delete public/ ${USERNAME}@${HOST}:${TARGETDIR} + +