dotfiles/.woodpecker/release-app.yml
2023-09-04 12:04:17 +03:00

38 lines
1.3 KiB
YAML

labels:
platform: linux/arm64
when:
- event: push
branch: main
steps:
make-release:
image: git.nikos.gg/prymn/images/elixir:61de1c5f
environment:
- MIX_ENV=prod
commands:
- cd app && mkdir -p _build
### TODO: REMOVE WHEN TAILWIND FROM PHOENIX IS FIXED
- curl -sfL https://github.com/tailwindlabs/tailwindcss/releases/download/v3.3.3/tailwindcss-linux-arm64 -o _build/tailwind-linux-arm64
- curl -sfL https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.11.tgz -o /tmp/esbuild.tgz
- tar zxf /tmp/esbuild.tgz -C /tmp
- cp /tmp/package/bin/esbuild _build/esbuild-linux-arm64
- chmod +x _build/esbuild-linux-arm64
- chmod +x _build/tailwind-linux-arm64
###
- mix deps.get --only prod
- mix compile
- mix assets.deploy
- mix phx.gen.release
- mix release
deploy:
image: alpine:latest
secrets: [ DEPLOY_KEY, APP_SERVER_ADDRESS ]
commands:
- apk add --no-cache openssh-client rsync
- eval $(ssh-agent -s)
- echo "$${DEPLOY_KEY}" | ssh-add -
- mkdir -p ~/.ssh && chmod 700 /root/.ssh
- ssh-keyscan -t rsa "$${APP_SERVER_ADDRESS}" > /root/.ssh/known_hosts
- cd app && rsync -avz --delete _build/prod/rel/prymn/ "prymnci@$${APP_SERVER_ADDRESS}:/srv/app"