10
10
- staging
11
11
12
12
jobs :
13
- deploy -client :
14
- name : Deploy Client
13
+ build -client :
14
+ name : Build Client
15
15
runs-on : ubuntu-latest
16
16
environment : staging
17
17
steps :
@@ -38,60 +38,85 @@ jobs:
38
38
run : trunk build --release
39
39
working-directory : client
40
40
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
47
47
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
50
50
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
55
55
56
- deploy -server :
57
- name : Deploy Server
56
+ build -server :
57
+ name : Build Server
58
58
runs-on : ubuntu-latest
59
59
environment : staging
60
60
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
75
75
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
82
82
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
85
115
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
91
116
92
117
restart-containers :
93
118
name : Restart Containers
94
- needs : [deploy-server, deploy-client ]
119
+ needs : [copy-files ]
95
120
runs-on : ubuntu-latest
96
121
environment : staging
97
122
steps :
0 commit comments