Skip to content

Refactor Dockerfile: Update entrypoint to use Bouvet.Developer.Survey… #21

Refactor Dockerfile: Update entrypoint to use Bouvet.Developer.Survey…

Refactor Dockerfile: Update entrypoint to use Bouvet.Developer.Survey… #21

name: Build and Push Docker Image to Azure Container Registry
on:
push:
branches:
- 'feature/**'
env:
DOTNET_VERSION: "8.0"
jobs:
build:
runs-on: ubuntu-latest
name: Build
container:
image: mcr.microsoft.com/dotnet/sdk:8.0
steps:
- name: Checkout project
uses: actions/checkout@v4
- name: Set up .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Dotnet restore
working-directory: ./Bouvet.Developer.Survey.Backend
run: dotnet restore Bouvet.Developer.Survey.Backend.generated.sln
- name: Build with dotnet
working-directory: ./Bouvet.Developer.Survey.Backend
run: dotnet build Bouvet.Developer.Survey.Backend.generated.sln --configuration Release --no-restore
- name: Publish
working-directory: ./Bouvet.Developer.Survey.Backend
run: dotnet publish Bouvet.Developer.Survey.Backend.generated.sln --configuration Release --no-build
create-docker-image:
needs: build
runs-on: ubuntu-latest
name: Create Docker Image
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up image tag
id: tag
run: echo "TAG=$(date +%s)" >> $GITHUB_ENV
- name: Build the Docker image
working-directory: ./Bouvet.Developer.Survey.Backend
run: docker build . --file Dockerfile --tag backend-image:${{ env.TAG }}
Deploy-to-Azure-Container-Registry:
needs: create-docker-image
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
# Log in to Azure Container Registry
- name: Log in to Azure Container Registry
uses: azure/docker-login@v1
with:
login-server: ${{ secrets.AZURE_CONTAINER_REGISTRY_NAME }}.azurecr.io
username: ${{ secrets.AZURE_CONTAINER_REGISTRY_USERNAME }}
password: ${{ secrets.AZURE_CONTAINER_REGISTRY_PASSWORD }}
# Tag the image for ACR
- name: Tag Docker image
run: docker tag backend-image:${{ env.TAG }} ${{ secrets.AZURE_CONTAINER_REGISTRY_NAME }}.azurecr.io/backend-image:${{ env.TAG }}
# Push the image to ACR
- name: Push Docker image to ACR
run: docker push ${{ secrets.AZURE_CONTAINER_REGISTRY_NAME }}.azurecr.io/backend-image:${{ env.TAG }}