Skip to content
This repository has been archived by the owner on Jul 17, 2024. It is now read-only.
name: Sandbox Build and Deploy
on:
push:
branches:
- "sandbox"
paths:
- "**"
env:
# DOMAIN: jellyroom.membrane.work
# BE_HOST: server.jellyroom.membrane.work
# PROJECT: staging
# COMPOSE_FILE_NAME: docker-compose-deploy.yaml
DOMAIN: jellyroom.membrane.ovh
# JF1_HOST: jellyfish.membrane.ovh
# JF2_HOST: jellyfish1.membrane.ovh
BE_HOST: server.jellyroom.membrane.ovh
PROJECT: sandbox
COMPOSE_FILE_NAME: docker-compose-deploy.yaml
jobs:
deploy1:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set versions
id: versions
run: |
cat << EOF >> $GITHUB_OUTPUT
jellyroom=${GITHUB_SHA:0:7}
jellyfish=$(cat .jellyfish-version)
EOF
- name: Prepare .env file for the deployment
id: variables_population
run: |
echo "DOMAIN=${{env.DOMAIN}}
JELLYROOM_VERSION=${{ steps.versions.outputs.jellyroom }}
JELLYFISH_VERSION=${{ steps.versions.outputs.jellyfish }}
JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN_CLOUD_SANDBOX}}
BE_HOST=${{env.BE_HOST}}
BE_JF_SECURE_CONNECTION=true
BE_JF_ADDRESSES=${{vars.JF_HOST_CLOUD_SANDBOX}}" > .env
- name: Remove old containers on first host
uses: JimCronqvist/action-ssh@master
with:
hosts: ${{ secrets.SANDBOX_IP }}
privateKey: ${{ secrets.SSH_PRIV_KEY }}
command: |
docker ps -aq | xargs -r docker stop | xargs -r docker rm
- name: Deploy docker compose to a pre-configured server on first host
uses: TapTap21/[email protected]
with:
remote_docker_host: ${{ secrets.SANDBOX_IP }}
ssh_private_key: ${{ secrets.SSH_PRIV_KEY }}
ssh_public_key: ${{ secrets.SSH_PUB_KEY }}
stack_file_name: ${{ env.COMPOSE_FILE_NAME }}
args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build frontend backend
# name: Sandbox Build and Deploy
# on:
# push:
# branches:
# - "sandbox"
# paths:
# - "**"
# env:
# DOMAIN: jellyroom.membrane.ovh
# JF1_HOST: jellyfish.membrane.ovh
# JF2_HOST: jellyfish1.membrane.ovh
# BE_HOST: server.jellyroom.membrane.ovh
# PROJECT: sandbox
# COMPOSE_FILE_NAME: docker-compose-deploy.yaml
# jobs:
# deploy1:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Set versions
# id: versions
# run: |
# cat << EOF >> $GITHUB_OUTPUT
# jellyroom=${GITHUB_SHA:0:7}
# jellyfish=$(cat .jellyfish-version)
# EOF
# - name: Prepare .env file for the deployment
# id: variables_population
# run: |
# echo "DOMAIN=${{env.DOMAIN}}
# JELLYROOM_VERSION=${{ steps.versions.outputs.jellyroom }}
# JELLYFISH_VERSION=${{ steps.versions.outputs.jellyfish }}
# JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN}}
# JF_CHECK_ORIGIN=false
# JF_PORT=5002
# JF1_IP=${{secrets.SANDBOX_IP}}
# JF2_IP=${{secrets.SANDBOX2_IP}}
# JF1_HOST=${{env.JF1_HOST}}
# JF2_HOST=${{env.JF2_HOST}}
# BE_HOST=${{env.BE_HOST}}
# BE_JF_SECURE_CONNECTION=true
# BE_JF_ADDRESSES=${{env.JF1_HOST}} ${{env.JF2_HOST}}
# PROM_JELLYFISH_TARGETS=jellyfish1:9568,${{secrets.SANDBOX2_IP}}:9568
# PROM_NODE_TARGETS=172.17.0.1:9100,${{secrets.SANDBOX2_IP}}:9100
# LOKI_ADDRESS=loki
# GF_SECURITY_ADMIN_PASSWORD=${{secrets.GF_SECURITY_ADMIN_PASSWORD}}
# GF_SECURITY_ADMIN_USER=${{secrets.GF_SECURITY_ADMIN_USER}}" > .env
# - name: Remove old containers on first host
# uses: JimCronqvist/action-ssh@master
# with:
# hosts: ${{ secrets.SANDBOX_IP }}
# privateKey: ${{ secrets.SSH_PRIV_KEY }}
# command: |
# docker ps -aq | xargs -r docker stop | xargs -r docker rm
# - name: Deploy docker compose to a pre-configured server on first host
# uses: TapTap21/[email protected]
# with:
# remote_docker_host: ${{ secrets.SANDBOX_IP }}
# ssh_private_key: ${{ secrets.SSH_PRIV_KEY }}
# ssh_public_key: ${{ secrets.SSH_PUB_KEY }}
# stack_file_name: ${{ env.COMPOSE_FILE_NAME }}
# args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build jellyfish1 node-exporter1 frontend backend prometheus grafana promtail loki
# deploy2:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Set versions
# id: versions
# run: echo "jellyfish=$(cat .jellyfish-version)" >> $GITHUB_OUTPUT
# - name: Prepare .env file for the deployment
# id: variables_population
# run: |
# echo "JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN}}
# JELLYFISH_VERSION=${{ steps.versions.outputs.jellyfish }}
# JF_CHECK_ORIGIN=false
# JF_PORT=5002
# JF1_IP=${{secrets.SANDBOX_IP}}
# JF2_IP=${{secrets.SANDBOX2_IP}}
# LOKI_ADDRESS=${{secrets.SANDBOX_IP}}
# JF2_HOST=${{env.JF2_HOST}}" > .env
# - name: Remove old containers on second host
# uses: JimCronqvist/action-ssh@master
# with:
# hosts: ${{ secrets.SANDBOX2_IP }}
# privateKey: ${{ secrets.SSH_PRIV_KEY }}
# command: |
# docker ps -aq | xargs -r docker stop | xargs -r docker rm
# - name: Deploy docker compose to a pre-configured server on second host
# uses: TapTap21/[email protected]
# with:
# remote_docker_host: ${{ secrets.SANDBOX2_IP }}
# ssh_private_key: ${{ secrets.SSH_PRIV_KEY }}
# ssh_public_key: ${{ secrets.SSH_PUB_KEY }}
# stack_file_name: ${{ env.COMPOSE_FILE_NAME }}
# args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build jellyfish2 node-exporter2 promtail