Skip to content
Open
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
7 changes: 3 additions & 4 deletions .build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ Task Pack Build, Test, Ward, {
$state = Import-Clixml -Path ".\.trash\$Instance\state.clixml"
$dockerImageName = $state.DockerImageName
$nextVersion = $state.NextVersion
$linuxX64BuildArtifactsFolder = $state.LinuxX64BuildArtifactsFolder
$linuxArm64BuildArtifactsFolder = $state.LinuxArm64BuildArtifactsFolder
$dockerFilePath = Resolve-Path -Path '.\src\API.Web\Dockerfile'

$dockerImageVersionTag = "$($dockerImageName):$nextVersion"
Expand All @@ -77,7 +75,8 @@ Task Pack Build, Test, Ward, {
$dockerImageVersionArchive = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(".\.trash\$Instance\artifacts\$dockerImageVersionArchiveName")
$dockerImageLatestArchive = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(".\.trash\$Instance\artifacts\$dockerImageLatestArchiveName")

Exec { docker buildx build --file $dockerFilePath --tag $dockerImageVersionTag --tag $dockerImageLatestTag $linuxX64BuildArtifactsFolder }
Exec { docker buildx build --platform 'linux/amd64,linux/arm64' --load --file $dockerFilePath --tag $dockerImageVersionTag --tag $dockerImageLatestTag . }

Exec { docker image save --output $dockerImageVersionArchive $dockerImageVersionTag }
Exec { docker image save --output $dockerImageLatestArchive $dockerImageLatestTag }

Expand Down Expand Up @@ -324,7 +323,7 @@ Task Init {
ContractsArtifactsFolder = $contractsArtifactsFolder
LinuxX64BuildArtifactsFolder = $linuxX64BuildArtifactsFolder
LinuxArm64BuildArtifactsFolder = $linuxArm64BuildArtifactsFolder
WinX64BuildArtifactsFolder = $winX64BuildArtifactsFolder
WinX64BuildArtifactsFolder = $winX64BuildArtifactsFolder
DockerImageName = 'tiksn/fossa-api'
DockerImageVersionTag = $null
DockerImageLatestTag = $null
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ jobs:
- name: "Install InvokeBuild Module"
shell: pwsh
run: Install-Module -Name InvokeBuild -Force
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: "Restore"
shell: pwsh
run: .\restore.ps1 -Instance ${{github.run_id}}
Expand Down
14 changes: 11 additions & 3 deletions src/API.Web/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
FROM mcr.microsoft.com/dotnet/aspnet:9.0.9
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0.101 AS build
ARG TARGETARCH
WORKDIR /source
COPY --link . /source
RUN dotnet restore -a $TARGETARCH
WORKDIR /source/src/API.Web
RUN dotnet publish -a $TARGETARCH --no-restore -o /app

FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/aspnet:9.0.4 AS runtime
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl=7.88.1-10+deb12u14 && apt-get clean
WORKDIR /App
COPY . ./
WORKDIR /app
COPY --link --from=build /app .
USER app
EXPOSE 8080
ENTRYPOINT ["dotnet", "API.Web.dll"]
Expand Down
Loading