Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/buildwindowsimage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Release

on:
release:
types: [published]

jobs:
build:
name: "Release"
env:
ASPNETCORE_ENVIRONMENT: "Production"

runs-on: windows-2019

steps:
- uses: actions/checkout@v2.3.4

- name: Get the version
id: get_version
uses: battila7/get-version-action@v2

- name: Publish Images to Docker Hub - Pre Release
if: ${{ github.event.release.prerelease == true }}
run: |
docker build . --file TransactionProcessor/Dockerfilewindows --tag stuartferguson/transactionprocessorwindows:dev
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/transactionprocessorwindows:dev

- name: Publish Images to Docker Hub - Formal Release
if: ${{ github.event.release.prerelease == false }}
run: |
docker build . --file TransactionProcessor/Dockerfilewindows --tag stuartferguson/transactionprocessorwindows:latest
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/transactionprocessorwindows:latest
16 changes: 16 additions & 0 deletions .github/workflows/pushtomaster.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,20 @@ jobs:
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/transactionprocessor:master

buildwidows:
name: "Publish Pre-Release Docker for Windows"
env:
ASPNETCORE_ENVIRONMENT: "Production"

runs-on: windows-2019

steps:
- uses: actions/checkout@v2.3.4
with:
fetch-depth: 0

- name: Publish Windows Images to Docker Hub
run: |
docker build . --file TransactionProcessor/Dockerfilewindows --tag stuartferguson/transactionprocessorwindows:master
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/transactionprocessorwindows:master
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ ClientBin/
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
#*.pfx
*.publishsettings
orleans.codegen.cs

Expand Down
Binary file added Certificates/aspnetapp-identity-server.pfx
Binary file not shown.
Binary file added Certificates/aspnetapp-root-cert.cer
Binary file not shown.
Binary file added Certificates/aspnetapp-root-cert.pfx
Binary file not shown.
Binary file added Certificates/aspnetapp-web-api.pfx
Binary file not shown.
28 changes: 28 additions & 0 deletions TransactionProcessor/Dockerfilewindows
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
FROM stuartferguson/txnprocbasewindows AS base
USER ContainerAdministrator
WORKDIR /app

FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY ["TransactionProcessor/NuGet.Config", "."]
COPY ["TransactionProcessor/TransactionProcessor.csproj", "TransactionProcessor/"]
COPY ["TransactionProcessor/NuGet.Config", "TransactionProcessor/"]
COPY ["TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj", "TransactionProcessor.DataTransferObjects/"]
COPY ["TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj", "TransactionProcessor.BusinessLogic/"]
COPY ["TransactionProcessor.Models/TransactionProcessor.Models.csproj", "TransactionProcessor.Models/"]
RUN dotnet restore "TransactionProcessor/TransactionProcessor.csproj"
COPY . .
WORKDIR "/src/TransactionProcessor"
RUN dotnet build "TransactionProcessor.csproj" -c Release -o /app/build

WORKDIR "/src"
RUN %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command Import-PfxCertificate -FilePath "Certificates/aspnetapp-root-cert.pfx" -Password (ConvertTo-SecureString -String 'password' -AsPlainText -Force) -CertStoreLocation Cert:\LocalMachine\Root

WORKDIR "/src/TransactionProcessor"
FROM build AS publish
RUN dotnet publish "TransactionProcessor.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "TransactionProcessor.dll"]