From 8562bb1dcd9243fcafd51d7f2127cdf8b9a11f58 Mon Sep 17 00:00:00 2001 From: Kyoji Katahira Date: Sun, 25 Feb 2024 17:09:38 +0900 Subject: [PATCH] Add production deployment workflow --- .github/workflows/deploy_mabiski.yml | 62 ++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/deploy_mabiski.yml diff --git a/.github/workflows/deploy_mabiski.yml b/.github/workflows/deploy_mabiski.yml new file mode 100644 index 000000000000..9c3dc4dacf78 --- /dev/null +++ b/.github/workflows/deploy_mabiski.yml @@ -0,0 +1,62 @@ +name: ProductionDeploy + +on: + push: + tags: + - 'deploy_mabiski*' + +jobs: + build-and-save-docker-images: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set default.yml + run: | + cp .config/docker_example.yml .config/default.yml + + - name: Replace secrets + run: | + sed -i "s/db: misskey/db: ${{ secrets.MABISKI_POSTGRES_DB }}/g" default.yml + sed -i "s/user: example-misskey-user/user: ${{ secrets.MABISKI_POSTGRES_USER }}/g" default.yml + sed -i "s/pass: example-misskey-pass/pass: ${{ secrets.MABISKI_POSTGRES_PASSWORD }}/g" default.yml + + - name: Set settings + run: | + echo "POSTGRES_DB=${{ secrets.MABISKI_POSTGRES_DB }}" >> .config/docker.env + echo "POSTGRES_PASSWORD=${{ secrets.MABISKI_POSTGRES_PASSWORD }}" >> .config/docker.env + echo "POSTGRES_USER=${{ secrets.MABISKI_POSTGRES_USER }}" >> .config/docker.env + echo "DATABASE_URL=\"postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}\"" >> .config/docker.env + + - name: Build Docker images + run: | + docker-compose build + - name: Save Docker images + run: | + docker save -o misskey.tar misskey/front:latest + chmod 644 misskey.tar + ls -l + # - name: Transfer Docker images and docker-compose.yml to VPS + # uses: appleboy/scp-action@master + # with: + # host: ${{ secrets.REMOTE_HOST }} + # username: ${{ secrets.REMOTE_USER }} + # key: ${{ secrets.SSH_PRIVATE_KEY }} + # source: "front.tar,api.tar,docker-compose.yml,front/*,api/*" + # target: "/var/www/sabakampa/" + + # deploy-on-vps: + # runs-on: ubuntu-latest + # needs: build-and-save-docker-images + # steps: + # - name: Deploy to VPS + # uses: appleboy/ssh-action@master + # with: + # host: ${{ secrets.REMOTE_HOST }} + # username: ${{ secrets.REMOTE_USER }} + # key: ${{ secrets.SSH_PRIVATE_KEY }} + # script: | + # docker load -i /var/www/sabakampa/front.tar + # docker load -i /var/www/sabakampa/api.tar + # docker-compose down + # docker-compose -f /var/www/sabakampa/docker-compose.yml up -d