diff --git a/argocd/application-dev.yaml b/argocd/application-dev.yaml index 7cbf708..360b8d5 100644 --- a/argocd/application-dev.yaml +++ b/argocd/application-dev.yaml @@ -6,7 +6,7 @@ metadata: spec: project: default source: - repoURL: https://github.com/Cognition-Partner-Workshops/app_dotnet-angular-monolith-iac.git + repoURL: https://github.com/Cognition-Partner-Workshops/ordermanager-iac.git targetRevision: main path: helm/ordermanager helm: diff --git a/argocd/application-staging.yaml b/argocd/application-staging.yaml index 416dec5..da10935 100644 --- a/argocd/application-staging.yaml +++ b/argocd/application-staging.yaml @@ -6,7 +6,7 @@ metadata: spec: project: default source: - repoURL: https://github.com/Cognition-Partner-Workshops/app_dotnet-angular-monolith-iac.git + repoURL: https://github.com/Cognition-Partner-Workshops/ordermanager-iac.git targetRevision: main path: helm/ordermanager helm: diff --git a/ci/build-push.yaml b/ci/build-push.yaml index 9691547..eb4a52f 100644 --- a/ci/build-push.yaml +++ b/ci/build-push.yaml @@ -23,7 +23,7 @@ jobs: - name: Checkout app code uses: actions/checkout@v4 with: - repository: Cognition-Partner-Workshops/app_dotnet-angular-monolith + repository: Cognition-Partner-Workshops/ordermanager-monolith path: app - name: Checkout IaC @@ -41,13 +41,13 @@ jobs: id: login-ecr uses: aws-actions/amazon-ecr-login@v2 + - name: Run .NET tests + working-directory: app + run: dotnet test --verbosity normal + - name: Build and push Docker image working-directory: app run: | docker build -f ../iac/docker/Dockerfile -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG -t $ECR_REGISTRY/$ECR_REPOSITORY:latest . docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest - - - name: Run .NET tests - working-directory: app - run: dotnet test --verbosity normal diff --git a/docker/Dockerfile b/docker/Dockerfile index 76142c7..e5ebfdd 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,10 +1,11 @@ # Stage 1: Build Angular client FROM node:20-alpine AS client-build -WORKDIR /app/client -COPY client-app/package*.json ./ -RUN npm ci -COPY client-app/ ./ -RUN npm run build +WORKDIR /app +COPY client-app/package*.json client-app/ +RUN cd client-app && npm ci +COPY client-app/ client-app/ +# angular.json outputs to ../src/OrderManager.Api/wwwroot (browser/ subfolder) +RUN cd client-app && npm run build # Stage 2: Build .NET API FROM mcr.microsoft.com/dotnet/sdk:8.0 AS api-build @@ -14,7 +15,7 @@ COPY src/OrderManager.Api/OrderManager.Api.csproj src/OrderManager.Api/ COPY tests/OrderManager.Api.Tests/OrderManager.Api.Tests.csproj tests/OrderManager.Api.Tests/ RUN dotnet restore COPY . . -COPY --from=client-build /app/client/dist/client-app/browser src/OrderManager.Api/wwwroot/ +COPY --from=client-build /app/src/OrderManager.Api/wwwroot/browser src/OrderManager.Api/wwwroot/ RUN dotnet publish src/OrderManager.Api/OrderManager.Api.csproj -c Release -o /app/publish # Stage 3: Runtime