Skip to content
Merged
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
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,9 @@ and this project adheres to [Semantic Versioning v2.0.0](https://semver.org/spec
- ArgoCD initial config
- ArgoCD application manifest
- Add nuget.config
- Delete ArgoCD configs
- Add Renovate dashboard link to README
- Update GitVersion tasks in Azure DevOps
- Add SonarCloud scan to Azure DevOps PR validation
- Add separate build pipelines in Azure DevOps
- Split pipelines by folders: pr validation, build, infrastructure
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,10 @@ EventTriangleAPI offers realtime communication using SignalR.

## Useful links

- Docker images: https://hub.docker.com/u/kaminome
- Azure DevOps project: https://dev.azure.com/EventTriangle/EventTriangleAPI
- Docker: https://hub.docker.com/u/kaminome
- Azure DevOps: https://dev.azure.com/EventTriangle/EventTriangleAPI
- Renovate: https://developer.mend.io/github/EventTriangle/EventTriangleAPI
- SonarCloud: https://sonarcloud.io/organizations/event-triangle/projects

## How to run Docker compose

Expand All @@ -130,4 +132,4 @@ From `src` folder run:

- `docker build --build-arg FRONT_API_URL="http://localhost:7000/" -t eventtriangle/auth:1.0 -f ./authorization/Dockerfile .`
- `docker build -t eventtriangle/consumer:1.0 -f ./consumer/Dockerfile . `
- `docker build -t eventtriangle/sender:1.0 -f ./sender/Dockerfile .`
- `docker build -t eventtriangle/sender:1.0 -f ./sender/Dockerfile .`
18 changes: 0 additions & 18 deletions argocd/README.md

This file was deleted.

18 changes: 0 additions & 18 deletions argocd/argocd-auth.yaml

This file was deleted.

41 changes: 41 additions & 0 deletions azure-pipelines/build/build-auth.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
trigger:
batch: true
branches:
include:
- main

pr: none

variables:
- name: appName
value: 'AuthorizationAPI'
- name: System.Debug
value: 'false'

pool:
vmImage: 'ubuntu-latest'

stages:
- stage: 'Build_${{ variables.appName }}'
displayName: 'Build_${{ variables.appName }}'
jobs:
- template: ../templates/docker-build-push-jobs.yml
parameters:
JobName: 'Build_${{ variables.appName }}'
solution: '$(System.DefaultWorkingDirectory)/EventTriangleAPI.sln'
buildConfiguration: 'Release'
backendProjectPath: '$(System.DefaultWorkingDirectory)/src/authorization/EventTriangleAPI.Authorization.Presentation'
unitTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/authorization/EventTriangleAPI.Authorization.UnitTests/EventTriangleAPI.Authorization.UnitTests.csproj'
shouldRunUnitTests: true
shouldRunIntegrationTests: true
integrationTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/authorization/EventTriangleAPI.Authorization.IntegrationTests/EventTriangleAPI.Authorization.IntegrationTests.csproj'
dockerRegistryUrl: 'docker.io/kaminome'
dockerBuildParameterUrl: 'https://auth-eventtriangle.razumovsky.me/'
imageRepository: 'auth-service'
dockerfilePath: '$(System.DefaultWorkingDirectory)/src/authorization/Dockerfile'
dockerServiceConnection: 'Docker_Hub_Connection'
shouldPushToAcr: true
acrRegistryUrl: 'acrsharedd01.azurecr.io'
acrServiceConnection: 'Azure_ACR_Connection'
sonarCloudEnabled: true
workingDirectoryForDocker: '$(System.DefaultWorkingDirectory)/src'
40 changes: 40 additions & 0 deletions azure-pipelines/build/build-consumer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
trigger:
batch: true
branches:
include:
- main

pr: none

variables:
- name: appName
value: 'ConsumerAPI'
- name: System.Debug
value: 'false'

pool:
vmImage: 'ubuntu-latest'

stages:
- stage: 'Build_${{ variables.appName }}'
displayName: 'Build_${{ variables.appName }}'
jobs:
- template: ../templates/docker-build-push-jobs.yml
parameters:
JobName: 'Build_${{ variables.appName }}'
solution: '$(System.DefaultWorkingDirectory)/EventTriangleAPI.sln'
buildConfiguration: 'Release'
backendProjectPath: '$(System.DefaultWorkingDirectory)/src/consumer/EventTriangleAPI.Consumer.Presentation'
unitTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/consumer/EventTriangleAPI.Consumer.UnitTests/EventTriangleAPI.Consumer.UnitTests.csproj'
shouldRunUnitTests: true
shouldRunIntegrationTests: true
integrationTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/consumer/EventTriangleAPI.Consumer.IntegrationTests/EventTriangleAPI.Consumer.IntegrationTests.csproj'
dockerRegistryUrl: 'docker.io/kaminome'
imageRepository: 'consumer-service'
dockerfilePath: '$(System.DefaultWorkingDirectory)/src/consumer/Dockerfile'
dockerServiceConnection: 'Docker_Hub_Connection'
shouldPushToAcr: true
acrRegistryUrl: 'acrsharedd01.azurecr.io'
acrServiceConnection: 'Azure_ACR_Connection'
sonarCloudEnabled: false
workingDirectoryForDocker: '$(System.DefaultWorkingDirectory)/src'
40 changes: 40 additions & 0 deletions azure-pipelines/build/build-sender.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
trigger:
batch: true
branches:
include:
- main

pr: none

variables:
- name: appName
value: 'SenderAPI'
- name: System.Debug
value: 'false'

pool:
vmImage: 'ubuntu-latest'

stages:
- stage: 'Build_${{ variables.appName }}'
displayName: 'Build_${{ variables.appName }}'
jobs:
- template: ../templates/docker-build-push-jobs.yml
parameters:
JobName: 'Build_${{ variables.appName }}'
solution: '$(System.DefaultWorkingDirectory)/EventTriangleAPI.sln'
buildConfiguration: 'Release'
backendProjectPath: '$(System.DefaultWorkingDirectory)/src/sender/EventTriangleAPI.Sender.Presentation'
unitTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/sender/EventTriangleAPI.Sender.UnitTests/EventTriangleAPI.Sender.UnitTests.csproj'
shouldRunIntegrationTests: true
shouldRunUnitTests: true
integrationTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/sender/EventTriangleAPI.Sender.IntegrationTests/EventTriangleAPI.Sender.IntegrationTests.csproj'
dockerRegistryUrl: 'docker.io/kaminome'
imageRepository: 'sender-service'
dockerfilePath: '$(System.DefaultWorkingDirectory)/src/sender/Dockerfile'
dockerServiceConnection: 'Docker_Hub_Connection'
shouldPushToAcr: true
acrRegistryUrl: 'acrsharedd01.azurecr.io'
acrServiceConnection: 'Azure_ACR_Connection'
sonarCloudEnabled: false
workingDirectoryForDocker: '$(System.DefaultWorkingDirectory)/src'
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ pr: none

variables:
- group: Azure_Terraform_Integration
- group: Postgres_Rabbit_Connection_Credentials
- group: Terraform_Auto_Tfvars_Json_Transform
- group: AKS_Settings
- group: Prefix_Library
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ pr: none

variables:
- group: Azure_Terraform_Integration
- group: Postgres_Rabbit_Connection_Credentials
- group: Terraform_Auto_Tfvars_Json_Transform
- group: Prefix_Library
- group: AKS_Settings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,53 +12,39 @@ pr:
- src/authorization/EventTriangleAPI.Authorization.Presentation
- src/shared/EventTriangleAPI.Shared.Application
- src/shared/EventTriangleAPI.Shared.DTO
exclude:
- '**/*.md'

variables:
- name: appName
value: 'AuthorizationAPI'
- name: System.Debug
value: 'false'
- group: AKS_Settings
- group: Prefix_Library

pool:
vmImage: 'ubuntu-latest'

stages:
- stage: 'Build_${{ variables.appName }}'
displayName: 'Build_${{ variables.appName }}'
- stage: 'PR_Validation_${{ variables.appName }}'
displayName: 'PR_Validation_${{ variables.appName }}'
jobs:
- template: templates/docker-build-push-jobs.yml
- template: ../templates/docker-build-push-jobs.yml
parameters:
JobName: 'Build_${{ variables.appName }}'
JobName: 'PR_Validation_${{ variables.appName }}'
solution: '$(System.DefaultWorkingDirectory)/EventTriangleAPI.sln'
buildConfiguration: 'Release'
backendProjectPath: '$(System.DefaultWorkingDirectory)/src/authorization/EventTriangleAPI.Authorization.Presentation'
unitTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/authorization/EventTriangleAPI.Authorization.UnitTests/EventTriangleAPI.Authorization.UnitTests.csproj'
shouldRunUnitTests: 'true'
shouldRunIntegrationTests: 'true'
shouldRunUnitTests: true
shouldRunIntegrationTests: true
integrationTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/authorization/EventTriangleAPI.Authorization.IntegrationTests/EventTriangleAPI.Authorization.IntegrationTests.csproj'
dockerRegistryUrl: 'docker.io/kaminome'
dockerBuildParameterUrl: 'https://auth-eventtriangle.razumovsky.me/'
imageRepository: 'auth-service'
dockerfilePath: '$(System.DefaultWorkingDirectory)/src/authorization/Dockerfile'
dockerServiceConnection: 'Docker_Hub_Connection'
acrRegistryUrl: 'azuredevopsacrd01.azurecr.io'
shouldPushToAcr: true
acrRegistryUrl: 'acrsharedd01.azurecr.io'
acrServiceConnection: 'Azure_ACR_Connection'
sonarCloudEnabled: true
workingDirectoryForDocker: '$(System.DefaultWorkingDirectory)/src'

# - stage: 'AKS_Helm_Deploy_${{ variables.appName }}'
# displayName: 'AKS_Helm_Deploy_${{ variables.appName }}'
# dependsOn: 'Build_${{ variables.appName }}'
# condition: succeeded('Build_${{ variables.appName }}')
# jobs:
# - template: templates/helm-deploy-jobs.yml
# parameters:
# chartName: 'auth-service-chart'
# stageDisplayName: 'AKS_Helm_Deploy_${{ variables.appName }}'
# vmImage: 'ubuntu-latest'
# environment: 'aks'
# serviceConnection: 'Azure_Connection'
# azureResourceGroup: '$(library-aks-resource-group)'
# kubernetesCluster: '$(library-aks-cluster-name)'
# namespace: 'event-triangle'
Original file line number Diff line number Diff line change
Expand Up @@ -16,52 +16,38 @@ pr:
- src/consumer/EventTriangleAPI.Consumer.UnitTests
- src/shared/EventTriangleAPI.Shared.Application
- src/shared/EventTriangleAPI.Shared.DTO
exclude:
- '**/*.md'

variables:
- name: appName
value: 'ConsumerAPI'
- name: System.Debug
value: 'false'
- group: AKS_Settings
- group: Prefix_Library

pool:
vmImage: 'ubuntu-latest'

stages:
- stage: 'Build_${{ variables.appName }}'
displayName: 'Build_${{ variables.appName }}'
- stage: 'PR_Validation_${{ variables.appName }}'
displayName: 'PR_Validation_${{ variables.appName }}'
jobs:
- template: templates/docker-build-push-jobs.yml
- template: ../templates/docker-build-push-jobs.yml
parameters:
JobName: 'Build_${{ variables.appName }}'
JobName: 'PR_Validation_${{ variables.appName }}'
solution: '$(System.DefaultWorkingDirectory)/EventTriangleAPI.sln'
buildConfiguration: 'Release'
backendProjectPath: '$(System.DefaultWorkingDirectory)/src/consumer/EventTriangleAPI.Consumer.Presentation'
unitTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/consumer/EventTriangleAPI.Consumer.UnitTests/EventTriangleAPI.Consumer.UnitTests.csproj'
shouldRunUnitTests: 'true'
shouldRunIntegrationTests: 'true'
shouldRunUnitTests: true
shouldRunIntegrationTests: true
integrationTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/consumer/EventTriangleAPI.Consumer.IntegrationTests/EventTriangleAPI.Consumer.IntegrationTests.csproj'
dockerRegistryUrl: 'docker.io/kaminome'
imageRepository: 'consumer-service'
dockerfilePath: '$(System.DefaultWorkingDirectory)/src/consumer/Dockerfile'
dockerServiceConnection: 'Docker_Hub_Connection'
acrRegistryUrl: 'azuredevopsacrd01.azurecr.io'
shouldPushToAcr: true
acrRegistryUrl: 'acrsharedd01.azurecr.io'
acrServiceConnection: 'Azure_ACR_Connection'
sonarCloudEnabled: false
workingDirectoryForDocker: '$(System.DefaultWorkingDirectory)/src'

# - stage: 'AKS_Helm_Deploy_${{ variables.appName }}'
# displayName: 'AKS_Helm_Deploy_${{ variables.appName }}'
# dependsOn: 'Build_${{ variables.appName }}'
# condition: succeeded('Build_${{ variables.appName }}')
# jobs:
# - template: templates/helm-deploy-jobs.yml
# parameters:
# chartName: 'consumer-service-chart'
# stageDisplayName: 'AKS_Helm_Deploy_${{ variables.appName }}'
# vmImage: 'ubuntu-latest'
# environment: 'aks'
# serviceConnection: 'Azure_Connection'
# azureResourceGroup: '$(library-aks-resource-group)'
# kubernetesCluster: '$(library-aks-cluster-name)'
# namespace: 'event-triangle'
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,38 @@ pr:
- src/sender/EventTriangleAPI.Sender.UnitTests
- src/shared/EventTriangleAPI.Shared.Application
- src/shared/EventTriangleAPI.Shared.DTO
exclude:
- '**/*.md'

variables:
- name: appName
value: 'SenderAPI'
- name: System.Debug
value: 'false'
- group: AKS_Settings
- group: Prefix_Library

pool:
vmImage: 'ubuntu-latest'

stages:
- stage: 'Build_${{ variables.appName }}'
displayName: 'Build_${{ variables.appName }}'
- stage: 'PR_Validation_${{ variables.appName }}'
displayName: 'PR_Validation_${{ variables.appName }}'
jobs:
- template: templates/docker-build-push-jobs.yml
- template: ../templates/docker-build-push-jobs.yml
parameters:
JobName: 'Build_${{ variables.appName }}'
JobName: 'PR_Validation_${{ variables.appName }}'
solution: '$(System.DefaultWorkingDirectory)/EventTriangleAPI.sln'
buildConfiguration: 'Release'
backendProjectPath: '$(System.DefaultWorkingDirectory)/src/sender/EventTriangleAPI.Sender.Presentation'
unitTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/sender/EventTriangleAPI.Sender.UnitTests/EventTriangleAPI.Sender.UnitTests.csproj'
shouldRunIntegrationTests: 'true'
shouldRunUnitTests: 'true'
shouldRunIntegrationTests: true
shouldRunUnitTests: true
integrationTestsProjectPath: '$(System.DefaultWorkingDirectory)/src/sender/EventTriangleAPI.Sender.IntegrationTests/EventTriangleAPI.Sender.IntegrationTests.csproj'
dockerRegistryUrl: 'docker.io/kaminome'
imageRepository: 'sender-service'
dockerfilePath: '$(System.DefaultWorkingDirectory)/src/sender/Dockerfile'
dockerServiceConnection: 'Docker_Hub_Connection'
acrRegistryUrl: 'azuredevopsacrd01.azurecr.io'
shouldPushToAcr: true
acrRegistryUrl: 'acrsharedd01.azurecr.io'
acrServiceConnection: 'Azure_ACR_Connection'
sonarCloudEnabled: false
workingDirectoryForDocker: '$(System.DefaultWorkingDirectory)/src'
Loading