Skip to content

Commit ad34e43

Browse files
Add ci cd with docker
1 parent f411dd6 commit ad34e43

File tree

5 files changed

+148
-0
lines changed

5 files changed

+148
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Back end CI CD
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
release:
9+
types: [created]
10+
11+
jobs:
12+
13+
build:
14+
name: Build
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Git checkout
18+
uses: actions/checkout@v2
19+
- name: Setup .NET
20+
uses: actions/setup-dotnet@v1
21+
with:
22+
dotnet-version: 5.0.101
23+
- name: Build
24+
run: dotnet build 'FrontEndBackEndDemo.Api/FrontEndBackEndDemo.Api.csproj' --configuration Release
25+
26+
github-docker-push:
27+
if: ${{ github.event_name == 'push' }}
28+
name: GitHub docker push
29+
runs-on: ubuntu-latest
30+
needs: build
31+
steps:
32+
- name: Checkout code
33+
uses: actions/checkout@v2
34+
- name: Setup .NET
35+
uses: actions/setup-dotnet@v1
36+
with:
37+
dotnet-version: 5.0.101
38+
- name: Publish
39+
run: dotnet publish 'FrontEndBackEndDemo.Api/FrontEndBackEndDemo.Api.csproj' --configuration Release -o 'publish/app'
40+
- name: Docker build
41+
run: docker build -f 'FrontEndBackEndDemo.Api/Dockerfile' -t docker.pkg.github.com/arnab-developer/frontendbackenddemo/backend:1.0.0 .
42+
- name: Docker push
43+
run: |
44+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login https://docker.pkg.github.com -u Arnab-Developer --password-stdin
45+
docker push docker.pkg.github.com/arnab-developer/frontendbackenddemo/backend:1.0.0
46+
47+
dockerhub-push:
48+
if: ${{ github.event_name == 'release' }}
49+
name: Dockerhub push
50+
runs-on: ubuntu-latest
51+
needs: build
52+
environment:
53+
name: Dockerhub
54+
url: https://hub.docker.com/r/45862391/frontendbackenddemo-backend
55+
steps:
56+
- name: Checkout code
57+
uses: actions/checkout@v2
58+
- name: Setup .NET
59+
uses: actions/setup-dotnet@v1
60+
with:
61+
dotnet-version: 5.0.101
62+
- name: Publish
63+
run: dotnet publish 'FrontEndBackEndDemo.Api/FrontEndBackEndDemo.Api.csproj' --configuration Release -o 'publish/app'
64+
- name: Docker build
65+
run: docker build -f 'FrontEndBackEndDemo.Api/Dockerfile' -t 45862391/frontendbackenddemo-backend:1.0.0 .
66+
- name: Docker push
67+
run: |
68+
echo "${{ secrets.DOCKERHUB_PWD }}" | docker login -u 45862391 --password-stdin
69+
docker push 45862391/frontendbackenddemo-backend:1.0.0
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Front end CI CD
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
release:
9+
types: [created]
10+
11+
jobs:
12+
13+
build:
14+
name: Build
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Git checkout
18+
uses: actions/checkout@v2
19+
- name: Setup .NET
20+
uses: actions/setup-dotnet@v1
21+
with:
22+
dotnet-version: 5.0.101
23+
- name: Build
24+
run: dotnet build 'FrontEndBackEndDemo.Web/FrontEndBackEndDemo.Web.csproj' --configuration Release
25+
26+
github-docker-push:
27+
if: ${{ github.event_name == 'push' }}
28+
name: GitHub docker push
29+
runs-on: ubuntu-latest
30+
needs: build
31+
steps:
32+
- name: Checkout code
33+
uses: actions/checkout@v2
34+
- name: Setup .NET
35+
uses: actions/setup-dotnet@v1
36+
with:
37+
dotnet-version: 5.0.101
38+
- name: Publish
39+
run: dotnet publish 'FrontEndBackEndDemo.Web/FrontEndBackEndDemo.Web.csproj' --configuration Release -o 'publish/app'
40+
- name: Docker build
41+
run: docker build -f 'FrontEndBackEndDemo.Web/Dockerfile' -t docker.pkg.github.com/arnab-developer/frontendbackenddemo/frontend:1.0.0 .
42+
- name: Docker push
43+
run: |
44+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login https://docker.pkg.github.com -u Arnab-Developer --password-stdin
45+
docker push docker.pkg.github.com/arnab-developer/frontendbackenddemo/frontend:1.0.0
46+
47+
dockerhub-push:
48+
if: ${{ github.event_name == 'release' }}
49+
name: Dockerhub push
50+
runs-on: ubuntu-latest
51+
needs: build
52+
environment:
53+
name: Dockerhub
54+
url: https://hub.docker.com/r/45862391/frontendbackenddemo-frontend
55+
steps:
56+
- name: Checkout code
57+
uses: actions/checkout@v2
58+
- name: Setup .NET
59+
uses: actions/setup-dotnet@v1
60+
with:
61+
dotnet-version: 5.0.101
62+
- name: Publish
63+
run: dotnet publish 'FrontEndBackEndDemo.Web/FrontEndBackEndDemo.Web.csproj' --configuration Release -o 'publish/app'
64+
- name: Docker build
65+
run: docker build -f 'FrontEndBackEndDemo.Web/Dockerfile' -t 45862391/frontendbackenddemo-frontend:1.0.0 .
66+
- name: Docker push
67+
run: |
68+
echo "${{ secrets.DOCKERHUB_PWD }}" | docker login -u 45862391 --password-stdin
69+
docker push 45862391/frontendbackenddemo-frontend:1.0.0

FrontEndBackEndDemo.Api/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM mcr.microsoft.com/dotnet/aspnet:5.0
2+
COPY publish/app/ ./app
3+
WORKDIR /app
4+
ENTRYPOINT ["dotnet", "FrontEndBackEnd.Api.dll"]

FrontEndBackEndDemo.Web/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM mcr.microsoft.com/dotnet/aspnet:5.0
2+
COPY publish/app/ ./app
3+
WORKDIR /app
4+
ENTRYPOINT ["dotnet", "FrontEndBackEnd.Web.dll"]

FrontEndBackEndDemo.sln

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FrontEndBackEndDemo.Web", "
99
EndProject
1010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{40DD53EF-C3A3-4AB6-886B-E3586578D4A3}"
1111
ProjectSection(SolutionItems) = preProject
12+
.github\workflows\back-end-ci-cd.yml = .github\workflows\back-end-ci-cd.yml
13+
.github\workflows\front-end-ci-cd.yml = .github\workflows\front-end-ci-cd.yml
1214
LICENSE = LICENSE
1315
README.md = README.md
1416
EndProjectSection

0 commit comments

Comments
 (0)