-
Notifications
You must be signed in to change notification settings - Fork 2
54 lines (45 loc) · 1.76 KB
/
dev-migrator.yaml
File metadata and controls
54 lines (45 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: DEV-Migrator
on:
workflow_dispatch:
push:
branches:
- migrator
paths-ignore:
- ".github/workflows/**"
jobs:
build:
runs-on: ubuntu-22.04
env:
name: "migrator-dev"
ssh-key: "${{ secrets.DEV_SSH_KEY }}"
tag: latest #or ${{ github.sha }}
host: ${{ vars.DEV_NAME }}@${{ vars.DEV_IP }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Generate .env
run: |
echo "NEXT_PUBLIC_HOST_TYPE=${{ vars.NEXT_PUBLIC_HOST_TYPE }}" >> .env.local
echo "NEXT_PUBLIC_INFURA_KEY=${{ vars.NEXT_PUBLIC_INFURA_KEY }}" >> .env.local
echo "NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=${{ vars.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID }}" >> .env.local
echo "NEXT_PUBLIC_TEST_MODE=${{ vars.NEXT_PUBLIC_TEST_MODE }}" >> .env.local
echo "NEXT_PUBLIC_API_IPFS_URL=${{ vars.NEXT_PUBLIC_API_IPFS_URL }}" >> .env.local
- name: Build docker image
run: |
docker build . -t ${{ env.name }}:${{ env.tag }}
- name: Save docker image
run: |
docker save -o ${{ env.name }}.tar ${{ env.name }}:${{ env.tag }}
- name: Copy image to EC2
run: |
echo "${{ env.ssh-key }}" > ssh-key.pem
sudo chmod 400 ssh-key.pem
- name: Copy image to EC2
run: |
scp -i ssh-key.pem -o StrictHostKeyChecking=no ${{ env.name }}.tar ${{ env.host }}:${{ env.name }}.tar
- name: Start image
run: |
ssh -i ssh-key.pem -o StrictHostKeyChecking=no ${{ env.host }} ' \
sudo docker load -i '${{ env.name }}'.tar && \
sudo docker compose -f migrator/compose.yaml up -d && \
sudo docker image prune -af'