Skip to content
This repository was archived by the owner on Jul 17, 2024. It is now read-only.

Commit 8798ab0

Browse files
Deploy production environment to Membrane Cloud (#52)
1 parent 752a520 commit 8798ab0

File tree

1 file changed

+6
-58
lines changed

1 file changed

+6
-58
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
name: Production Build and Deploy
22
on:
33
push:
4-
tags:
4+
tags:
55
- 'v*.*.*'
66

7-
env:
7+
env:
88
DOMAIN: jellyroom.membrane.stream
9-
JF1_HOST: jellyfish.membrane.stream
10-
JF2_HOST: jellyfish1.membrane.stream
119
BE_HOST: server.jellyroom.membrane.stream
1210
PROJECT: production
1311
COMPOSE_FILE_NAME: docker-compose-deploy.yaml
@@ -32,26 +30,15 @@ jobs:
3230
echo "DOMAIN=${{env.DOMAIN}}
3331
JELLYROOM_VERSION=${{ steps.versions.outputs.jellyroom }}
3432
JELLYFISH_VERSION=${{ steps.versions.outputs.jellyfish }}
35-
JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN}}
36-
JF_CHECK_ORIGIN=false
37-
JF_PORT=5002
38-
JF1_IP=${{secrets.PRODUCTION_IP}}
39-
JF2_IP=${{secrets.PRODUCTION2_IP}}
40-
JF1_HOST=${{env.JF1_HOST}}
41-
JF2_HOST=${{env.JF2_HOST}}
33+
JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN_CLOUD_PRODUCTION}}
4234
BE_HOST=${{env.BE_HOST}}
4335
BE_JF_SECURE_CONNECTION=true
44-
BE_JF_ADDRESSES=${{env.JF1_HOST}} ${{env.JF2_HOST}}
45-
PROM_JELLYFISH_TARGETS=jellyfish1:9568,${{secrets.PRODUCTION2_IP}}:9568
46-
PROM_NODE_TARGETS=172.17.0.1:9100,${{secrets.PRODUCTION2_IP}}:9100
47-
LOKI_ADDRESS=loki
48-
GF_SECURITY_ADMIN_PASSWORD=${{secrets.GF_SECURITY_ADMIN_PASSWORD}}
49-
GF_SECURITY_ADMIN_USER=${{secrets.GF_SECURITY_ADMIN_USER}}" > .env
36+
BE_JF_ADDRESSES=${{vars.JF1_HOST_CLOUD_PRODUCTION}}" > .env
5037
5138
- name: Remove old containers on first host
5239
uses: JimCronqvist/action-ssh@master
5340
with:
54-
hosts: ${{ secrets.PRODUCTION_IP }}:${{ secrets.SSH_PROD_PORT }}
41+
hosts: ${{ secrets.PRODUCTION_IP }}
5542
privateKey: ${{ secrets.SSH_PRIV_KEY }}
5643
command: |
5744
docker ps -aq | xargs -r docker stop | xargs -r docker rm
@@ -62,44 +49,5 @@ jobs:
6249
remote_docker_host: ${{ secrets.PRODUCTION_IP }}
6350
ssh_private_key: ${{ secrets.SSH_PRIV_KEY }}
6451
ssh_public_key: ${{ secrets.SSH_PUB_KEY }}
65-
ssh_port: ${{ secrets.SSH_PROD_PORT }}
6652
stack_file_name: ${{ env.COMPOSE_FILE_NAME }}
67-
args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build jellyfish1 node-exporter1 frontend backend prometheus grafana promtail loki
68-
69-
deploy2:
70-
runs-on: ubuntu-latest
71-
steps:
72-
- uses: actions/checkout@v2
73-
74-
- name: Set versions
75-
id: versions
76-
run: echo "jellyfish=$(cat .jellyfish-version)" >> $GITHUB_OUTPUT
77-
78-
- name: Prepare .env file for the deployment
79-
id: variables_population
80-
run: |
81-
echo "JF_SERVER_API_TOKEN=${{secrets.SERVER_API_TOKEN}}
82-
JELLYFISH_VERSION=${{ steps.versions.outputs.jellyfish }}
83-
JF_CHECK_ORIGIN=false
84-
JF_PORT=5002
85-
JF1_IP=${{secrets.PRODUCTION_IP}}
86-
JF2_IP=${{secrets.PRODUCTION2_IP}}
87-
LOKI_ADDRESS=${{secrets.PRODUCTION_IP}}
88-
JF2_HOST=${{env.JF2_HOST}}" > .env
89-
- name: Remove old containers on second host
90-
uses: JimCronqvist/action-ssh@master
91-
with:
92-
hosts: ${{ secrets.PRODUCTION2_IP }}:${{ secrets.SSH_PROD_PORT }}
93-
privateKey: ${{ secrets.SSH_PRIV_KEY }}
94-
command: |
95-
docker ps -aq | xargs -r docker stop | xargs -r docker rm
96-
97-
- name: Deploy docker compose to a pre-configured server on second host
98-
uses: TapTap21/docker-remote-deployment-action@v1.1
99-
with:
100-
remote_docker_host: ${{ secrets.PRODUCTION2_IP }}
101-
ssh_private_key: ${{ secrets.SSH_PRIV_KEY }}
102-
ssh_public_key: ${{ secrets.SSH_PUB_KEY }}
103-
ssh_port: ${{ secrets.SSH_PROD_PORT }}
104-
stack_file_name: ${{ env.COMPOSE_FILE_NAME }}
105-
args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build jellyfish2 node-exporter2 promtail
53+
args: -p ${{ env.PROJECT }} --env-file .env up -d --remove-orphans --build frontend backend

0 commit comments

Comments
 (0)