1
+ name : .NET CI
2
+
3
+ env :
4
+ registryName : b6dxcqbxqrzqwmpnpreg.azurecr.io
5
+ repositoryName : techexcel/dotnetcoreapp
6
+ dockerFolderPath : ./src/Application/src/RazorPagesTestSample
7
+ tag : ${{github.run_number}}
8
+
9
+ on :
10
+ push :
11
+ branches : [ main ]
12
+ paths : src/Application/**
13
+ pull_request :
14
+ branches : [ main ]
15
+ paths : src/Application/**
16
+ # Allows you to run this workflow manually from the Actions tab
17
+ workflow_dispatch :
18
+ jobs :
19
+ build :
20
+
21
+ runs-on : ubuntu-latest
22
+
23
+ steps :
24
+ - uses : actions/checkout@v3
25
+ - name : Setup .NET
26
+ uses : actions/setup-dotnet@v3
27
+ with :
28
+ dotnet-version : 8.0
29
+
30
+ - name : Restore dependencies
31
+ run : dotnet restore ./src/Application/src/RazorPagesTestSample/RazorPagesTestSample.csproj
32
+ - name : Build
33
+ run : dotnet build --no-restore ./src/Application/src/RazorPagesTestSample/RazorPagesTestSample.csproj
34
+ - name : Test
35
+ run : dotnet test --no-build --verbosity normal ./src/Application/tests/RazorPagesTestSample.Tests/RazorPagesTestSample.Tests.csproj
36
+
37
+ dockerBuildPush :
38
+ runs-on : ubuntu-latest
39
+ needs : build
40
+
41
+ steps :
42
+ - uses : actions/checkout@v3
43
+
44
+ - name : Docker Login
45
+ # You may pin to the exact commit or the version.
46
+ # uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
47
+
48
+ with :
49
+ # Server address of Docker registry. If not set then will default to Docker Hub
50
+ registry : ${{ secrets.ACR_LOGIN_SERVER }}
51
+ # Username used to log against the Docker registry
52
+ username : ${{ secrets.ACR_USERNAME }}
53
+ # Password or personal access token used to log against the Docker registry
54
+ password : ${{ secrets.ACR_PASSWORD }}
55
+ # Log out from the Docker registry at the end of a job
56
+ logout : true
57
+
58
+ - name : Docker Build
59
+ run : docker build -t $registryName/$repositoryName:$tag --build-arg build_version=$tag $dockerFolderPath
60
+
61
+ - name : Docker Push
62
+ run : docker push $registryName/$repositoryName:$tag
63
+
64
+ deploy-to-dev :
65
+
66
+ runs-on : ubuntu-latest
67
+ needs : dockerBuildPush
68
+ environment :
69
+ name : dev
70
+ url : https://b6dxcqbxqrzqw-dev.azurewebsites.net/
71
+
72
+ steps :
73
+ - name : ' Login via Azure CLI'
74
+
75
+ with :
76
+ creds : ${{ secrets.AZURE_CREDENTIALS }}
77
+
78
+ - uses : azure/webapps-deploy@v2
79
+ with :
80
+ app-name : ' b6dxcqbxqrzqw-dev'
81
+ images : b6dxcqbxqrzqwmpnpreg.azurecr.io/techexcel/dotnetcoreapp:${{github.run_number}}
82
+
83
+ deploy-to-test :
84
+
85
+ runs-on : ubuntu-latest
86
+ needs : deploy-to-dev
87
+ environment :
88
+ name : test
89
+ url : https://b6dxcqbxqrzqw-test.azurewebsites.net/
90
+
91
+ steps :
92
+ - uses : actions/checkout@v3
93
+
94
+ - name : ' Login via Azure CLI'
95
+
96
+ with :
97
+ creds : ${{ secrets.AZURE_CREDENTIALS }}
98
+
99
+ - uses : azure/webapps-deploy@v2
100
+ with :
101
+ app-name : ' b6dxcqbxqrzqw-test'
102
+ images : b6dxcqbxqrzqwmpnpreg.azurecr.io/techexcel/dotnetcoreapp:${{github.run_number}}
103
+
104
+ deploy-to-prod :
105
+
106
+ runs-on : ubuntu-latest
107
+ needs : deploy-to-test
108
+ environment :
109
+ name : prod
110
+ url : https://b6dxcqbxqrzqw-prod.azurewebsites.net/
111
+
112
+ steps :
113
+ - uses : actions/checkout@v3
114
+
115
+ - name : ' Login via Azure CLI'
116
+
117
+ with :
118
+ creds : ${{ secrets.AZURE_CREDENTIALS }}
119
+
120
+ - uses : azure/webapps-deploy@v2
121
+ with :
122
+ app-name : ' b6dxcqbxqrzqw-prod'
123
+ images : b6dxcqbxqrzqwmpnpreg.azurecr.io/techexcel/dotnetcoreapp:${{github.run_number}}
0 commit comments