1- name : Update DataSpace Prod
1+ name : Deploy DataSpace
22
33on :
44 push :
5- branches : ['main']
6- env :
7- KEYCLOAK_CLIENT_ID : ${{secrets.KEYCLOAK_CLIENT_ID}}
8- KEYCLOAK_CLIENT_SECRET : ${{secrets.KEYCLOAK_CLIENT_SECRET}}
9- AUTH_ISSUER : ${{secrets.AUTH_ISSUER}}
10- NEXTAUTH_URL : ${{secrets.NEXTAUTH_URL_DS}}
11- NEXT_PUBLIC_NEXTAUTH_URL : ${{secrets.NEXT_PUBLIC_NEXTAUTH_URL_DS}}
12- NEXTAUTH_SECRET : ${{secrets.NEXTAUTH_SECRET}}
13- END_SESSION_URL : ${{secrets.END_SESSION_URL}}
14- REFRESH_TOKEN_URL : ${{secrets.REFRESH_TOKEN_URL}}
15- NEXT_PUBLIC_BACKEND_URL : ${{secrets.NEXT_PUBLIC_BACKEND_URL_DS}}
16- BACKEND_GRAPHQL_URL : ${{secrets.BACKEND_GRAPHQL_URL_DS}}
17- NEXT_PUBLIC_ENABLE_ACCESSMODEL : ${{secrets.NEXT_PUBLIC_ENABLE_ACCESSMODEL_DS}}
18- NEXT_PUBLIC_BACKEND_GRAPHQL_URL : ${{secrets.NEXT_PUBLIC_BACKEND_GRAPHQL_URL_DS}}
19- BACKEND_URL : ${{secrets.BACKEND_URL}}
20- NEXT_PUBLIC_PLATFORM_URL : ${{secrets.NEXT_PUBLIC_PLATFORM_URL}}
21- NEXT_PUBLIC_ANALYTICS_URL : ${{secrets.NEXT_PUBLIC_ANALYTICS_URL}}
5+ branches :
6+ - dev
7+ - main
228
239jobs :
2410 deploy :
2511 runs-on : ubuntu-latest
12+ environment : ${{ github.ref_name == 'main' && 'production' || 'development' }}
13+ env :
14+ KEYCLOAK_CLIENT_ID : ${{ secrets.KEYCLOAK_CLIENT_ID }}
15+ KEYCLOAK_CLIENT_SECRET : ${{ secrets.KEYCLOAK_CLIENT_SECRET }}
16+ AUTH_ISSUER : ${{ secrets.AUTH_ISSUER }}
17+ NEXTAUTH_URL : ${{ vars.NEXTAUTH_URL }}
18+ NEXTAUTH_SECRET : ${{ secrets.NEXTAUTH_SECRET }}
19+ NEXT_PUBLIC_NEXTAUTH_URL : ${{ vars.NEXT_PUBLIC_NEXTAUTH_URL }}
20+ END_SESSION_URL : ${{ secrets.END_SESSION_URL }}
21+ REFRESH_TOKEN_URL : ${{ secrets.REFRESH_TOKEN_URL }}
22+ NEXT_PUBLIC_BACKEND_URL : ${{ vars.NEXT_PUBLIC_BACKEND_URL }}
23+ BACKEND_URL : ${{ vars.BACKEND_URL }}
24+ NEXT_PUBLIC_BACKEND_GRAPHQL_URL : ${{ vars.NEXT_PUBLIC_BACKEND_GRAPHQL_URL }}
25+ BACKEND_GRAPHQL_URL : ${{ vars.BACKEND_GRAPHQL_URL }}
26+ NEXT_PUBLIC_ENABLE_ACCESSMODEL : ${{ vars.NEXT_PUBLIC_ENABLE_ACCESSMODEL }}
27+ NEXT_PUBLIC_ANALYTICS_URL : ${{ vars.NEXT_PUBLIC_ANALYTICS_URL }}
28+ NEXT_PUBLIC_PLATFORM_URL : ${{ vars.NEXT_PUBLIC_PLATFORM_URL }}
2629
2730 steps :
2831 - name : Checkout code
2932 uses : actions/checkout@v4
3033
34+ - name : Setup Node.js
35+ uses : actions/setup-node@v4
36+ with :
37+ node-version : ' 20'
38+ cache : ' npm'
39+
3140 - name : Install dependencies
32- run : npm install
41+ run : npm install --legacy-peer-deps
3342
3443 - name : Generate
35- run : npm run generate
44+ run : npm run generate:ci
45+ env :
46+ BACKEND_GRAPHQL_URL : ${{ vars.BACKEND_GRAPHQL_URL }}
47+ NODE_ENV : production
3648
3749 - name : Build
3850 run : npm run build
@@ -41,30 +53,31 @@ jobs:
4153 run : mv .next .next2
4254
4355 - name : Rename public to public2
44- run : mv public public2
56+ run : mv public public2
4557
4658 - name : Send .next2 to EC2
47- uses : appleboy/scp-action@master
59+ uses : appleboy/scp-action@v0.1.7
4860 with :
49- host : ${{ secrets.EC2_HOST_DS }}
50- username : ${{ secrets.EC2_USERNAME_DS }}
61+ host : ${{ vars.EC2_HOST }}
62+ username : ${{ secrets.EC2_USERNAME }}
5163 key : ${{ secrets.EC2_PRIVATE_KEY }}
5264 source : .next2
5365 target : DataExchange/DataExFrontend
5466
5567 - name : Send public2 to EC2
56- uses : appleboy/scp-action@master
68+ uses : appleboy/scp-action@v0.1.7
5769 with :
58- host : ${{ secrets.EC2_HOST_DS }}
59- username : ${{ secrets.EC2_USERNAME_DS }}
70+ host : ${{ vars.EC2_HOST }}
71+ username : ${{ secrets.EC2_USERNAME }}
6072 key : ${{ secrets.EC2_PRIVATE_KEY }}
6173 source : public2
62- target : DataExchange/DataExFrontend
63-
74+ target : DataExchange/DataExFrontend
75+
6476 - name : Update with new Build
6577 uses : appleboy/ssh-action@v1.0.3
78+ continue-on-error : false
6679 with :
67- host : ${{ secrets.EC2_HOST_DS }}
68- username : ${{ secrets.EC2_USERNAME_DS }}
80+ host : ${{ vars.EC2_HOST }}
81+ username : ${{ secrets.EC2_USERNAME }}
6982 key : ${{ secrets.EC2_PRIVATE_KEY }}
7083 script : rm -rf DataExchange/DataExFrontend/.next; rm -rf DataExchange/DataExFrontend/public; mv DataExchange/DataExFrontend/.next2 DataExchange/DataExFrontend/.next; mv DataExchange/DataExFrontend/public2 DataExchange/DataExFrontend/public; /home/ubuntu/.nvm/versions/node/v20.11.1/bin/pm2 restart dataspace
0 commit comments