diff --git a/.github/workflows/buildwindowsimage.yml b/.github/workflows/buildwindowsimage.yml
index e0d5c5c..7340815 100644
--- a/.github/workflows/buildwindowsimage.yml
+++ b/.github/workflows/buildwindowsimage.yml
@@ -22,12 +22,12 @@ jobs:
- name: Publish Images to Docker Hub - Pre Release
if: ${{ github.event.release.prerelease == true }}
run: |
- docker build . --file MessagingService/Dockerfilewindows --tag stuartferguson/messagingservicewindows:dev
+ docker build . --file MessagingService/Dockerfilewindows --tag stuartferguson/messagingservicewindows:dev --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/messagingservicewindows:dev
- name: Publish Images to Docker Hub - Formal Release
if: ${{ github.event.release.prerelease == false }}
run: |
- docker build . --file MessagingService/Dockerfilewindows --tag stuartferguson/messagingservicewindows:latest
+ docker build . --file MessagingService/Dockerfilewindows --tag stuartferguson/messagingservicewindows:latest --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/messagingservicewindows:latest
diff --git a/.github/workflows/createrelease.yml b/.github/workflows/createrelease.yml
index 1a136ac..237a2f4 100644
--- a/.github/workflows/createrelease.yml
+++ b/.github/workflows/createrelease.yml
@@ -20,7 +20,9 @@ jobs:
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
- name: Restore Nuget Packages
- run: dotnet restore MessagingService.sln --source https://api.nuget.org/v3/index.json --source https://www.myget.org/F/transactionprocessing/api/v3/index.json
+ env:
+ GITHUBTOKEN: ${{ secrets.PRIVATEFEED_APIKEY }}
+ run: dotnet restore MessagingService.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}
- name: Build Code
run: dotnet build MessagingService.sln --configuration Release
@@ -35,14 +37,14 @@ jobs:
- name: Publish Images to Docker Hub - Pre Release
if: ${{ github.event.release.prerelease == true }}
run: |
- docker build . --file MessagingService/Dockerfile --tag stuartferguson/messagingservice:dev
+ docker build . --file MessagingService/Dockerfile --tag stuartferguson/messagingservice:dev --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/messagingservice:dev
- name: Publish Images to Docker Hub - Formal Release
if: ${{ github.event.release.prerelease == false }}
run: |
- docker build . --file MessagingService/Dockerfile --tag stuartferguson/messagingservice:latest
+ docker build . --file MessagingService/Dockerfile --tag stuartferguson/messagingservice:latest --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/messagingservice:latest
@@ -114,6 +116,6 @@ jobs:
if: ${{ github.event.release.prerelease == false }}
run: |
dotnet pack "MessagingService.Client\MessagingService.Client.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets -c Release
- dotnet nuget push Nugets/MessagingService.Client.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.MYGET_APIKEY }} --source https://www.myget.org/F/transactionprocessing/api/v2/package
+ dotnet nuget push Nugets/MessagingService.Client.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }}
dotnet pack "MessagingService.EmailMessage.DomainEvents\MessagingService.EmailMessage.DomainEvents.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets -c Release
- dotnet nuget push Nugets/MessagingService.EmailMessage.DomainEvents.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.MYGET_APIKEY }} --source https://www.myget.org/F/transactionprocessing/api/v2/package
+ dotnet nuget push Nugets/MessagingService.EmailMessage.DomainEvents.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }}
\ No newline at end of file
diff --git a/.github/workflows/nightlybuild.yml b/.github/workflows/nightlybuild.yml
index b322c22..3f2ea0b 100644
--- a/.github/workflows/nightlybuild.yml
+++ b/.github/workflows/nightlybuild.yml
@@ -46,7 +46,9 @@ jobs:
run: echo "action_url=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_ENV
- name: Restore Nuget Packages
- run: dotnet restore MessagingService.sln --source https://api.nuget.org/v3/index.json --source https://www.myget.org/F/transactionprocessing/api/v3/index.json
+ env:
+ GITHUBTOKEN: ${{ secrets.PRIVATEFEED_APIKEY }}
+ run: dotnet restore MessagingService.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}
- name: Build Code
run: dotnet build MessagingService.sln --configuration Release
@@ -68,7 +70,7 @@ jobs:
files: ./lcov1.info,./lcov2.info,./lcov3.info,./lcov4.info
- name: Build Docker Image
- run: docker build . --file MessagingService/Dockerfile --tag messagingservice:latest
+ run: docker build . --file MessagingService/Dockerfile --tag messagingservice:latest --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
- name: Run Integration Tests
run: dotnet test "MessagingService.IntegrationTests\MessagingService.IntegrationTests.csproj"
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 1ff87c4..1b044c2 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -17,7 +17,9 @@ jobs:
- uses: actions/checkout@v2.3.4
- name: Restore Nuget Packages
- run: dotnet restore MessagingService.sln --source https://api.nuget.org/v3/index.json --source https://www.myget.org/F/transactionprocessing/api/v3/index.json
+ env:
+ GITHUBTOKEN: ${{ secrets.PRIVATEFEED_APIKEY }}
+ run: dotnet restore MessagingService.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}
- name: Build Code
run: dotnet build MessagingService.sln --configuration Release
@@ -30,7 +32,9 @@ jobs:
dotnet test "MessagingService.Tests\MessagingService.Tests.csproj"
- name: Build Docker Image
- run: docker build . --file MessagingService/Dockerfile --tag messagingservice:latest
+ env:
+ GITHUBTOKEN: ${{ secrets.PRIVATEFEED_APIKEY }}
+ run: docker build . --file MessagingService/Dockerfile --tag messagingservice:latest --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
- name: Run Integration Tests
run: dotnet test "MessagingService.IntegrationTests\MessagingService.IntegrationTests.csproj" --filter Category=PRTest
diff --git a/.github/workflows/pushtomaster.yml b/.github/workflows/pushtomaster.yml
index 4ded98c..2c6a077 100644
--- a/.github/workflows/pushtomaster.yml
+++ b/.github/workflows/pushtomaster.yml
@@ -20,7 +20,9 @@ jobs:
fetch-depth: 0
- name: Restore Nuget Packages
- run: dotnet restore MessagingService.sln --source https://api.nuget.org/v3/index.json --source https://www.myget.org/F/transactionprocessing/api/v3/index.json
+ env:
+ GITHUBTOKEN: ${{ secrets.PRIVATEFEED_APIKEY }}
+ run: dotnet restore MessagingService.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}
- name: Build Code
run: dotnet build MessagingService.sln --configuration Release
@@ -45,13 +47,13 @@ jobs:
- name: Build and Publish Nuget Packages
run: |
dotnet pack "MessagingService.Client\MessagingService.Client.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets -c Release
- dotnet nuget push Nugets/MessagingService.Client.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.MYGET_APIKEY }} --source https://www.myget.org/F/transactionprocessing/api/v2/package
+ dotnet nuget push Nugets/MessagingService.Client.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }}
dotnet pack "MessagingService.EmailMessage.DomainEvents\MessagingService.EmailMessage.DomainEvents.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets -c Release
- dotnet nuget push Nugets/MessagingService.EmailMessage.DomainEvents.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.MYGET_APIKEY }} --source https://www.myget.org/F/transactionprocessing/api/v2/package
+ dotnet nuget push Nugets/MessagingService.EmailMessage.DomainEvents.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }}
- name: Publish Images to Docker Hub
run: |
- docker build . --file MessagingService/Dockerfile --tag stuartferguson/messagingservice:master
+ docker build . --file MessagingService/Dockerfile --tag stuartferguson/messagingservice:master --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/messagingservice:master
@@ -69,6 +71,6 @@ jobs:
- name: Publish Windows Images to Docker Hub
run: |
- docker build . --file MessagingService/Dockerfilewindows --tag stuartferguson/messagingservicewindows:master
+ docker build . --file MessagingService/Dockerfilewindows --tag stuartferguson/messagingservicewindows:master --build-arg NUGET_TOKEN=${{ secrets.PRIVATEFEED_APIKEY }}
docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }}
docker push stuartferguson/messagingservicewindows:master
diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml
index 52758cb..40191bf 100644
--- a/.github/workflows/sonarcloud.yml
+++ b/.github/workflows/sonarcloud.yml
@@ -43,9 +43,10 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ GITHUBTOKEN: ${{ secrets.PRIVATEFEED_APIKEY }}
shell: powershell
run: |
.\.sonar\scanner\dotnet-sonarscanner begin /k:"TransactionProcessing_Messaging" /o:"transactionprocessing" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io"
- dotnet restore MessagingService.sln --source https://api.nuget.org/v3/index.json --source https://www.myget.org/F/transactionprocessing/api/v3/index.json
+ dotnet restore MessagingService.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}
dotnet build MessagingService.sln
.\.sonar\scanner\dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}"
\ No newline at end of file
diff --git a/MessagingService.sln b/MessagingService.sln
index 7ac2d40..0185196 100644
--- a/MessagingService.sln
+++ b/MessagingService.sln
@@ -35,7 +35,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MessagingService.SMSMessage
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MessagingService.SMSAggregate.Tests", "MessagingService.SMSAggregate.Tests\MessagingService.SMSAggregate.Tests.csproj", "{883DEFD0-7DDB-4F79-9996-2279E71CAF5B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingService.Models", "MessagingService.Models\MessagingService.Models.csproj", "{327FAE7D-AF25-4380-AA8B-9FF7FCF46FBB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MessagingService.Models", "MessagingService.Models\MessagingService.Models.csproj", "{327FAE7D-AF25-4380-AA8B-9FF7FCF46FBB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/MessagingService/Dockerfile b/MessagingService/Dockerfile
index fcc44ab..c94839b 100644
--- a/MessagingService/Dockerfile
+++ b/MessagingService/Dockerfile
@@ -4,8 +4,15 @@ FROM stuartferguson/txnprocbase AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
+
+# Set the ARG for your GitHub Secret
+ARG NUGET_TOKEN
+
WORKDIR /src
COPY ["MessagingService/NuGet.Config", "."]
+# Replace the placeholders in the NuGet.config file with the GitHub Secret
+RUN sed -i "s|NUGET_TOKEN|${NUGET_TOKEN}|g" NuGet.Config
+
COPY ["MessagingService/MessagingService.csproj", "MessagingService/"]
COPY ["MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj", "MessagingService.BusinessLogic/"]
COPY ["MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj", "MessagingService.EmailMessageAggregate/"]
diff --git a/MessagingService/Dockerfilewindows b/MessagingService/Dockerfilewindows
index c441f8c..5f332f2 100644
--- a/MessagingService/Dockerfilewindows
+++ b/MessagingService/Dockerfilewindows
@@ -2,8 +2,14 @@ FROM stuartferguson/txnprocbasewindows AS base
USER ContainerAdministrator
WORKDIR /app
-FROM mcr.microsoft.com/dotnet/sdk:7.0-windowsservercore-ltsc2019 AS build
+# Set the ARG for your GitHub Secret
+ARG NUGET_TOKEN
+
WORKDIR /src
+COPY ["MessagingService/NuGet.Config", "."]
+# Replace the placeholders in the NuGet.config file with the GitHub Secret
+RUN powershell -Command "(Get-Content C:\NuGet.config) -replace 'NUGET_TOKEN', '${env:NUGET_TOKEN}' | Set-Content C:\NuGet.config"
+
COPY ["MessagingService/NuGet.Config", "."]
COPY ["MessagingService/MessagingService.csproj", "MessagingService/"]
COPY ["MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj", "MessagingService.BusinessLogic/"]
diff --git a/MessagingService/NuGet.Config b/MessagingService/NuGet.Config
index c6bc4ff..7eec447 100644
--- a/MessagingService/NuGet.Config
+++ b/MessagingService/NuGet.Config
@@ -1,9 +1,15 @@
-
+
+
+
+
+
+
+
@@ -15,4 +21,4 @@
-
\ No newline at end of file
+
diff --git a/NuGet.Config b/NuGet.Config
new file mode 100644
index 0000000..23979ac
--- /dev/null
+++ b/NuGet.Config
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+