@@ -3,7 +3,8 @@ name: Admin Sample CD
3
3
# Project templates come equipped with CI/CD for both Azure DevOps and GitHub, providing you with a hassle-free way to get started with your new project. It is important to note that you should not depend on the contents of this file. More info at https://bitplatform.dev/templates/dev-ops
4
4
5
5
env :
6
- API_SERVER_ADDRESS : ' https://adminpanel.bitplatform.dev/'
6
+ API_SERVER_ADDRESS : ' https://adminpanel-api.bitplatform.dev'
7
+ WEB_SERVER_ADDRESS : ' https://adminpanel.bitplatform.dev'
7
8
APP_SERVICE_NAME : ' bit-adminpanel'
8
9
9
10
on :
@@ -35,14 +36,14 @@ jobs:
35
36
cd src/Templates/Boilerplate && dotnet build -c Release
36
37
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
37
38
dotnet new install Bit.Boilerplate.0.0.0.nupkg
38
- cd ../../../ && dotnet new bit-bp --name AdminPanel --database SqlServer --sample Admin --appInsights --serverUrl adminpanel.bitplatform.dev
39
+ cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage --api Standalone
39
40
40
- - name : Update appsettings.json api server address
41
+ - name : Update core appsettings.json
41
42
uses :
devops-actions/[email protected]
42
43
with :
43
- files : ' AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json'
44
+ files : ' AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Shared/appsettings.json '
44
45
env :
45
- ApiServerAddress : ${{ env.API_SERVER_ADDRESS }}
46
+ ServerAddress : ${{ env.API_SERVER_ADDRESS }}
46
47
ApplicationInsights.ConnectionString : ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
47
48
48
49
- uses : actions/setup-node@v4
@@ -55,24 +56,30 @@ jobs:
55
56
- name : Configure app render mode
56
57
run : |
57
58
sed -i 's/Auto;/BlazorWebAssembly;/g' AdminPanel/src/Client/AdminPanel.Client.Core/Services/AppRenderMode.cs
58
-
59
- - name : Configure bswup
60
- run : |
61
- sed -i 's/self.noPrerenderQuery/\/\/ self.noPrerenderQuery/g' AdminPanel/src/Client/AdminPanel.Client.Web/wwwroot/service-worker.js
62
- sed -i 's/self.isPassive = self.disablePassiveFirstBoot = true;/self.isPassive = self.disablePassiveFirstBoot = false;/g' AdminPanel/src/Client/AdminPanel.Client.Web/wwwroot/service-worker.js
63
59
64
60
- name : Generate CSS/JS files
65
- run : dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:InstallNodejsDependencies, BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore
66
-
61
+ run : dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release
62
+
67
63
- name : Publish
68
- run : dotnet publish AdminPanel/src/AdminPanel.Server/AdminPanel.Server.csproj -c Release -p:PwaEnabled=true --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/server -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}"
64
+ run : dotnet publish AdminPanel/src/Server/ AdminPanel.Server.Api /AdminPanel.Server.Api. csproj -c Release -p:PwaEnabled=true -p:PublishTrimmed=true -p:TrimMode=partial -p:JsonSerializerIsReflectionEnabledByDefault =true --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/server -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}"
69
65
70
66
- name : Upload server artifact
71
67
uses : actions/upload-artifact@v4
72
68
with :
73
69
name : server-bundle
74
70
path : ${{env.DOTNET_ROOT}}/server
75
71
72
+ - name : Publish adminpanel blazor wasm standalone
73
+ run : |
74
+ sed -i 's/adminpanel.bitplatform.dev/adminpanel-api.bitplatform.dev/g' AdminPanel/src/Client/AdminPanel.Client.Web/wwwroot/index.html
75
+ dotnet publish AdminPanel/src/Client/AdminPanel.Client.Web/AdminPanel.Client.Web.csproj -c Release -p:BlazorWebAssemblyStandalone=true -o ${{env.DOTNET_ROOT}}/static
76
+
77
+ - name : Upload static artifact
78
+ uses : actions/upload-artifact@v4
79
+ with :
80
+ name : static-bundle
81
+ path : ${{env.DOTNET_ROOT}}/static
82
+
76
83
deploy_api_blazor :
77
84
name : deploy api + blazor
78
85
needs : build_api_blazor
@@ -88,16 +95,16 @@ jobs:
88
95
with :
89
96
name : server-bundle
90
97
91
- - name : Delete IdentityCertificate .pfx
98
+ - name : Delete DataProtectionCertificate .pfx
92
99
run : |
93
- rm IdentityCertificate .pfx
100
+ rm DataProtectionCertificate .pfx
94
101
95
102
- name : Extract identity certificate from env
96
103
97
104
with :
98
105
fileDir : ' ./'
99
- fileName : ' IdentityCertificate .pfx'
100
- encodedString : ${{ secrets.API_IDENTITY_CERTIFICATE_FILE_BASE64 }}
106
+ fileName : ' DataProtectionCertificate .pfx'
107
+ encodedString : ${{ secrets.API_DATA_PROTECTION_CERTIFICATE_FILE_BASE64 }}
101
108
102
109
- name : Deploy to Azure Web App
103
110
id : deploy-to-webapp
@@ -109,7 +116,7 @@ jobs:
109
116
package : .
110
117
111
118
- name : Purge cache
112
- uses : jakejarvis/cloudflare-purge-action@master
119
+ uses : jakejarvis/cloudflare-purge-action@v0.3.0
113
120
env :
114
121
CLOUDFLARE_ZONE : ${{ secrets.BITPLATFORM_DEV_CLOUDFLARE_ZONE }}
115
122
CLOUDFLARE_TOKEN : ${{ secrets.CLOUDFLARE_TOKEN }}
@@ -137,19 +144,19 @@ jobs:
137
144
cd src\Templates\Boilerplate && dotnet build -c Release
138
145
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
139
146
dotnet new install Bit.Boilerplate.0.0.0.nupkg
140
- cd ..\..\..\ && dotnet new bit-bp --name AdminPanel --database SqlServer --sample Admin --windows --appInsights --appCenter --serverUrl adminpanel.bitplatform.dev
147
+ cd ..\..\..\ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --windows --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage
141
148
142
- - name : Update appsettings.json api server address
149
+ - name : Update core appsettings.json
143
150
uses :
devops-actions/[email protected]
144
151
with :
145
- files : ' AdminPanel\src\Client\AdminPanel.Client.Core\appsettings.json'
152
+ files : ' AdminPanel\src\Client\AdminPanel.Client.Core\appsettings.json, AdminPanel\src\Shared\appsettings.json '
146
153
env :
147
- ApiServerAddress : ${{ env.API_SERVER_ADDRESS }}
154
+ ServerAddress : ${{ env.API_SERVER_ADDRESS }}
148
155
WindowsUpdateSettings.FilesUrl : https://windows-adminpanel.bitplatform.dev
149
156
ApplicationInsights.ConnectionString : ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
150
157
151
158
- name : Generate CSS/JS files
152
- run : dotnet build AdminPanel\src\Client\AdminPanel.Client.Core\AdminPanel.Client.Core.csproj -t:InstallNodejsDependencies, BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore
159
+ run : dotnet build AdminPanel\src\Client\AdminPanel.Client.Core\AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release
153
160
154
161
- name : Set app center secret
155
162
run : (Get-Content AdminPanel\src\Client\AdminPanel.Client.Windows\Program.cs) -Replace 'appCenterSecret = null;', 'appCenterSecret = "a9ed2257-fb82-496a-ba10-78c2d9ef33a6";' | Out-File -Encoding utf8 AdminPanel\src\Client\AdminPanel.Client.Windows\Program.cs
@@ -171,7 +178,7 @@ jobs:
171
178
echo A | xcopy .\bin\publish-x64 .\publish-result /s /e /h
172
179
echo A | xcopy .\bin\publish .\publish-result /s /e /h
173
180
dotnet tool restore
174
- dotnet vpk pack -u AdminPanel.Client.Windows -v "${{ vars.APPLICATION_DISPLAY_VERSION }}" -p .\publish-result -e AdminPanel.Client.Windows-x86.exe -r win-x86 --framework net8.0.6 -x86-desktop,net8.0.6-x86-aspnetcore ,webview2 --icon .\wwwroot\favicon.ico --packTitle 'AdminPanel'
181
+ dotnet vpk pack -u AdminPanel.Client.Windows -v "${{ vars.APPLICATION_DISPLAY_VERSION }}" -p .\publish-result -e AdminPanel.Client.Windows-x86.exe -r win-x86 --framework net8.0.7 -x86-desktop,webview2 --icon .\wwwroot\favicon.ico --packTitle 'AdminPanel'
175
182
176
183
- name : Upload artifact
177
184
uses : actions/upload-artifact@v4
@@ -198,7 +205,7 @@ jobs:
198
205
cd src/Templates/Boilerplate && dotnet build -c Release
199
206
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
200
207
dotnet new install Bit.Boilerplate.0.0.0.nupkg
201
- cd ../../../ && dotnet new bit-bp --name AdminPanel --database SqlServer --sample Admin --appInsights --appCenter --serverUrl adminpanel.bitplatform.dev
208
+ cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage
202
209
203
210
- uses : actions/setup-node@v4
204
211
with :
@@ -211,12 +218,12 @@ jobs:
211
218
fileName : ' AdminPanel.keystore'
212
219
encodedString : ${{ secrets.ANDROID_RELEASE_KEYSTORE_FILE_BASE64 }}
213
220
214
- - name : Update appsettings.json api server address
221
+ - name : Update core appsettings.json
215
222
uses :
devops-actions/[email protected]
216
223
with :
217
- files : ' AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json'
224
+ files : ' AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Shared/appsettings.json '
218
225
env :
219
- ApiServerAddress : ${{ env.API_SERVER_ADDRESS }}
226
+ ServerAddress : ${{ env.API_SERVER_ADDRESS }}
220
227
ApplicationInsights.ConnectionString : ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
221
228
222
229
- name : Set app center secret
@@ -231,8 +238,8 @@ jobs:
231
238
232
239
- name : Generate CSS/JS files
233
240
run : |
234
- dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:InstallNodejsDependencies, BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore
235
- dotnet build AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore
241
+ dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release
242
+ dotnet build AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release
236
243
237
244
- name : Build aab
238
245
run : dotnet build AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -c Release -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="AdminPanel.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" -p:ApplicationTitle="AdminPanel" -p:ApplicationId="com.bitplatform.AdminPanel.Template" -f net8.0-android
@@ -259,7 +266,7 @@ jobs:
259
266
260
267
-
uses :
maxim-lobanov/[email protected]
261
268
with :
262
- xcode-version : ' 15.3 '
269
+ xcode-version : ' 15.4 '
263
270
264
271
- uses : actions/setup-node@v4
265
272
with :
@@ -270,14 +277,14 @@ jobs:
270
277
cd src/Templates/Boilerplate && dotnet build -c Release
271
278
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0
272
279
dotnet new install Bit.Boilerplate.0.0.0.nupkg
273
- cd ../../../ && dotnet new bit-bp --name AdminPanel --database SqlServer --sample Admin --appInsights --appCenter --serverUrl adminpanel.bitplatform.dev
280
+ cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --appCenter --serverUrl ${{ env.WEB_SERVER_ADDRESS }} --filesStorage AzureBlobStorage
274
281
275
- - name : Update appsettings.json api server address
282
+ - name : Update core appsettings.json
276
283
uses :
devops-actions/[email protected]
277
284
with :
278
- files : ' AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json'
285
+ files : ' AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Shared/appsettings.json '
279
286
env :
280
- ApiServerAddress : ${{ env.API_SERVER_ADDRESS }}
287
+ ServerAddress : ${{ env.API_SERVER_ADDRESS }}
281
288
ApplicationInsights.ConnectionString : ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }}
282
289
283
290
- name : Set app center secret
@@ -303,8 +310,8 @@ jobs:
303
310
304
311
- name : Generate CSS/JS files
305
312
run : |
306
- dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:InstallNodejsDependencies, BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore
307
- dotnet build AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore
313
+ dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release
314
+ dotnet build AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release
308
315
309
316
- name : Build ipa
310
317
run : dotnet publish AdminPanel/src/Client/AdminPanel.Client.Maui/AdminPanel.Client.Maui.csproj -p:RuntimeIdentifier=ios-arm64 -c Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="AdminPanel" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" -p:ApplicationTitle="AdminPanel" -p:ApplicationId="com.bitplatform.AdminPanel.Template" -f net8.0-ios
0 commit comments