From 7365fb08d3ae9e135b25421677e21b177750ae3a Mon Sep 17 00:00:00 2001 From: Santhosh Nair <913441@dadeschools.net> Date: Tue, 12 Sep 2023 03:17:37 +0000 Subject: [PATCH] Update azure-pipelines.yml for Azure Pipelines --- azure-pipelines.yml | 95 ++++++++++++++++++++++++++++++++------------- 1 file changed, 67 insertions(+), 28 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e7b669b..9bcf090 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,35 +1,74 @@ trigger: -- docker-branch +- docker-branch # Trigger the pipeline on pushes to the main branch. Adjust the branch name as needed. + +pr: +- '*' # Include pull requests. pool: - vmImage: 'ubuntu-latest' + vmImage: 'ubuntu-latest' # Use the latest Ubuntu image. -stages: -- stage: Checkout - jobs: - - job: CheckoutJob - steps: - - checkout: self +variables: + DOCKER_IMAGE_ANSWERS: 'santhoshsnair/answers-api' + DOCKER_IMAGE_ATTACHMENTS: 'anthoshsnair/attachments-api' + DOCKER_IMAGE_EMPLOYEES: 'anthoshsnair/employee-api' + DOCKER_IMAGE_LOCATIONS: 'anthoshsnair/locations-api' + DOCKER_IMAGE_QUESTIONS: 'anthoshsnair/questions-api' + DOCKER_IMAGE_SURVEYS: 'anthoshsnair/surveys-api' + DOCKER_IMAGE_SURVEYRESPONSE: 'anthoshsnair/surveyresponse-api' +jobs: +- job: BuildAndDeploy + steps: + - checkout: self -- stage: BuildAndTest - jobs: - - job: BuildAndTestJob - steps: - - script: dotnet restore - displayName: 'Restore .NET dependencies' - - - script: dotnet build --configuration Release - displayName: 'Build .NET project' + - task: UsePythonVersion@0 + inputs: + versionSpec: '3.x' + addToPath: true - - script: dotnet test DamageAssesmentApi/DamageAssesment.sln --configuration Release - displayName: 'Run .NET tests' + - script: | + # Build and push the answers-api Docker image + docker build -t $(DOCKER_IMAGE_ANSWERS) ./DamageAssesment.Api.Answers + docker push $(DOCKER_IMAGE_ANSWERS) -- stage: Deploy - jobs: - - job: DeployJob - steps: - - script: docker-compose -f docker-compose.yml -f docker-compose.prod.yml build - displayName: 'Build Docker Images' - - - script: docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d - displayName: 'Deploy using Docker Compose' + # Build and push the attachments-api Docker image + docker build -t $(DOCKER_IMAGE_ATTACHMENTS) ./DamageAssesment.Api.Attachments + docker push $(DOCKER_IMAGE_ATTACHMENTS) + + # Build and push the attachments-api Docker image + docker build -t $(DOCKER_IMAGE_EMPLOYEES) ./DamageAssesment.Api.Employees + docker push $(DOCKER_IMAGE_EMPLOYEES) + + # Build and push the attachments-api Docker image + docker build -t $(DOCKER_IMAGE_LOCATIONS) ./DamageAssesment.Api.Locations + docker push $(DOCKER_IMAGE_LOCATIONS) + + # Build and push the attachments-api Docker image + docker build -t $(DOCKER_IMAGE_QUESTIONS) ./DamageAssesment.Api.Questions + docker push $(DOCKER_IMAGE_QUESTIONS) + + #Build and push the attachments-api Docker image + docker build -t $(DOCKER_IMAGE_SURVEYS) ./DamageAssesment.Api.Surveys + docker push $(DOCKER_IMAGE_SURVEYS) + + #Build and push the attachments-api Docker image + docker build -t $(DOCKER_IMAGE_SURVEYRESPONSE) ./DamageAssesment.Api.SurveyResponses + docker push $(DOCKER_IMAGE_SURVEYRESPONSE) + + displayName: 'Build and Push Docker Images' + env: + DOCKER_IMAGE_ANSWERS: $(DOCKER_IMAGE_ANSWERS) + DOCKER_IMAGE_ATTACHMENTS: $(DOCKER_IMAGE_ATTACHMENTS) + DOCKER_IMAGE_EMPLOYEES: $(DOCKER_IMAGE_EMPLOYEES) + DOCKER_IMAGE_LOCATIONS: $(DOCKER_IMAGE_LOCATIONS) + DOCKER_IMAGE_QUESTIONS: $(DOCKER_IMAGE_QUESTIONS) + DOCKER_IMAGE_SURVEYS: $(DOCKER_IMAGE_SURVEYS) + DOCKER_IMAGE_SURVEYRESPONSE: $(DOCKER_IMAGE_SURVEYRESPONSE) + - script: | + # Deploy your services using Docker Compose + docker-compose -f docker-compose.yml up -d --build + displayName: 'Deploy with Docker Compose' + + - script: | + # Cleanup: Stop and remove Docker containers + docker-compose -f docker-compose.yml down + displayName: 'Cleanup Docker Containers'