1010 - staging
1111
1212jobs :
13- deploy -client :
14- name : Deploy Client
13+ build -client :
14+ name : Build Client
1515 runs-on : ubuntu-latest
1616 environment : staging
1717 steps :
@@ -38,60 +38,85 @@ jobs:
3838 run : trunk build --release
3939 working-directory : client
4040
41- - name : Create SSH Key
42- run : |
43- mkdir -p ${{ secrets.SSH_PRIVATE_KEY_PATH }}
44- echo "${{ secrets.SSH_PRIVATE_KEY_CONTENT }}" > ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
45- sudo chmod 600 ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
46- shell : bash
41+ # - name: Create SSH Key
42+ # run: |
43+ # mkdir -p ${{ secrets.SSH_PRIVATE_KEY_PATH }}
44+ # echo "${{ secrets.SSH_PRIVATE_KEY_CONTENT }}" > ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
45+ # sudo chmod 600 ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
46+ # shell: bash
4747
48- - name : Add Host Key to known_hosts
49- run : ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ${{ secrets.SSH_PRIVATE_KEY_PATH }}/known_hosts
48+ # - name: Add Host Key to known_hosts
49+ # run: ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ${{ secrets.SSH_PRIVATE_KEY_PATH }}/known_hosts
5050
51- - name : Copy Files to Server
52- run : |
53- scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} -r client/dist ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/client
54- scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} client/Dockerfile ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/client
51+ # - name: Copy Files to Server
52+ # run: |
53+ # scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} -r client/dist ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/client
54+ # scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} client/Dockerfile ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/client
5555
56- deploy -server :
57- name : Deploy Server
56+ build -server :
57+ name : Build Server
5858 runs-on : ubuntu-latest
5959 environment : staging
6060 steps :
61- - uses : actions/checkout@v4
62- - name : Setup .NET
63- uses : actions/setup-dotnet@v4
64- with :
65- dotnet-version : 8.0.x
66-
67- - name : Restore dependencies
68- run : dotnet restore ./server/devblog.csproj
69-
70- - name : Build application
71- run : dotnet build ./server/devblog.csproj -c Release -o ./app/build
72-
73- - name : Publish application
74- run : dotnet publish ./server/devblog.csproj -c Release -o ./app/publish /p:UseAppHost=false
61+ - uses : actions/checkout@v4
62+ - name : Setup .NET
63+ uses : actions/setup-dotnet@v4
64+ with :
65+ dotnet-version : 8.0.x
66+
67+ - name : Restore dependencies
68+ run : dotnet restore ./server/devblog.csproj
69+
70+ - name : Build application
71+ run : dotnet build ./server/devblog.csproj -c Release -o ./app/build
72+
73+ - name : Publish application
74+ run : dotnet publish ./server/devblog.csproj -c Release -o ./app/publish /p:UseAppHost=false
7575
76- - name : Create SSH Key
77- run : |
78- mkdir -p ${{ secrets.SSH_PRIVATE_KEY_PATH }}
79- echo "${{ secrets.SSH_PRIVATE_KEY_CONTENT }}" > ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
80- sudo chmod 600 ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
81- shell : bash
76+ # - name: Create SSH Key
77+ # run: |
78+ # mkdir -p ${{ secrets.SSH_PRIVATE_KEY_PATH }}
79+ # echo "${{ secrets.SSH_PRIVATE_KEY_CONTENT }}" > ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
80+ # sudo chmod 600 ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
81+ # shell: bash
8282
83- - name : Add Host Key to known_hosts
84- run : ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ${{ secrets.SSH_PRIVATE_KEY_PATH }}/known_hosts
83+ # - name: Add Host Key to known_hosts
84+ # run: ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ${{ secrets.SSH_PRIVATE_KEY_PATH }}/known_hosts
85+
86+ # - name: Copy Files to Server
87+ # run: |
88+ # scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} docker-compose.yml ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}
89+ # scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} server/Dockerfile ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/server
90+ # scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} -r ./app/publish ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/server
91+
92+ copy-files :
93+ name : Copy Files
94+ needs : [build-server, build-client]
95+ runs-on : ubuntu-latest
96+ environment : staging
97+ steps :
98+ - name : Create SSH Key
99+ run : |
100+ mkdir -p ${{ secrets.SSH_PRIVATE_KEY_PATH }}
101+ echo "${{ secrets.SSH_PRIVATE_KEY_CONTENT }}" > ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
102+ sudo chmod 600 ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }}
103+ shell : bash
104+
105+ - name : Add Host Key to known_hosts
106+ run : ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ${{ secrets.SSH_PRIVATE_KEY_PATH }}/known_hosts
107+
108+ - name : Copy Files to Server
109+ run : |
110+ scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} docker-compose.yml ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}
111+ scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} -r client/dist ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/client
112+ scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} client/Dockerfile ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/client
113+ scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} server/Dockerfile ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/server
114+ scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} -r ./app/publish ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/server
85115
86- - name : Copy Files to Server
87- run : |
88- scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} docker-compose.yml ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}
89- scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} server/Dockerfile ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/server
90- scp -i ${{ secrets.SSH_PRIVATE_KEY_PATH }}/${{ secrets.SSH_PRIVATE_KEY_NAME }} -r ./app/publish ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEVBLOG_ROOT_PATH }}/server/publish
91116
92117 restart-containers :
93118 name : Restart Containers
94- needs : [deploy-server, deploy-client ]
119+ needs : [copy-files ]
95120 runs-on : ubuntu-latest
96121 environment : staging
97122 steps :
0 commit comments