Merge branch 'dev' into features/addIntegrationIstio
@ -7,7 +7,6 @@
|
||||
docker-compose*.yml
|
||||
docker-compose.dcproj
|
||||
*.sln
|
||||
!eShopOnContainers-ServicesAndWebApps.sln
|
||||
*.md
|
||||
hosts
|
||||
LICENSE
|
||||
@ -31,4 +30,13 @@ cli-linux
|
||||
**/wwwroot/lib/*
|
||||
global.json
|
||||
**/appsettings.localhost.json
|
||||
src/Web/WebSPA/wwwroot/
|
||||
src/Web/WebSPA/wwwroot/
|
||||
packages/
|
||||
csproj-files/
|
||||
test-results/
|
||||
TestResults/
|
||||
src/Mobile/
|
||||
src/Web/Catalog.WebForms/
|
||||
src/Web/WebMonolithic/
|
||||
src/BuildingBlocks/CommandBus/
|
||||
src/Services/Marketing/Infrastructure/
|
12
.gitignore
vendored
@ -26,6 +26,9 @@ bld/
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
|
||||
# Dockerfile projects folder for restore-packages script
|
||||
csproj-files/
|
||||
|
||||
# .js files created on build:
|
||||
src/Web/WebMVC/wwwroot/js/site*
|
||||
|
||||
@ -42,6 +45,8 @@ src/Web/WebMVC/wwwroot/js/site*
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
tests-results/
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
@ -269,4 +274,9 @@ pub/
|
||||
.mfractor
|
||||
|
||||
# Ignore HealthCheckdb
|
||||
*healthchecksdb*
|
||||
*healthchecksdb*
|
||||
|
||||
# Ignores all extra inf.yaml and app.yaml that are copied by prepare-devspaces.ps1
|
||||
src/**/app.yaml
|
||||
src/**/inf.yaml
|
||||
|
||||
|
75
README.md
@ -1,70 +1,25 @@
|
||||
# eShopOnContainers - Microservices Architecture and Containers based Reference Application (**BETA state** - Visual Studio 2017 and CLI environments compatible)
|
||||
# eShopOnContainers - Microservices Architecture and Containers based Reference Application (**BETA state** - Visual Studio and CLI environments compatible)
|
||||
Sample .NET Core reference application, powered by Microsoft, based on a simplified microservices architecture and Docker containers.
|
||||
|
||||
## Linux Build Status for 'dev' branch
|
||||
|
||||
Dev branch contains the latest "stable" code, and their images are tagged with `:dev` in our [Docker Hub](https://cloud.docker.com/u/eshop/repository/list):
|
||||
|
||||
Api Gateways base image
|
||||
| Basket API | Catalog API | Identity API | Location API |
|
||||
| ------------- | ------------- | ------------- | ------------- |
|
||||
| [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=199&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=197&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=200&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=202&branchName=dev) |
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=201&branchName=dev)
|
||||
| Marketing API | Ordering API | Payment API | Api Gateways base image |
|
||||
| ------------- | ------------- | ------------- | ------------- |
|
||||
| [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=203&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=198&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=205&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=201&branchName=dev)
|
||||
|
||||
Basket API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=199&branchName=dev)
|
||||
|
||||
Catalog API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=197&branchName=dev)
|
||||
|
||||
Identity API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=200&branchName=dev)
|
||||
|
||||
Location API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=202&branchName=dev)
|
||||
|
||||
Marketing API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=203&branchName=dev)
|
||||
|
||||
Ordering API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=198&branchName=dev)
|
||||
|
||||
Payment API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=205&branchName=dev)
|
||||
|
||||
Webhooks API
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=207&branchName=dev)
|
||||
|
||||
Web Shopping Aggregator
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=206&branchName=dev)
|
||||
|
||||
Mobile Shopping Aggregator
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=204&branchName=dev)
|
||||
|
||||
Webbhooks demo client
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=208&branchName=dev)
|
||||
|
||||
WebMVC Client
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=209&branchName=dev)
|
||||
|
||||
WebSPA Client
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=210&branchName=dev)
|
||||
|
||||
Web Status
|
||||
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=211&branchName=dev)
|
||||
| Web Shopping Aggregator | Mobile Shopping Aggregator | WebMVC Client | WebSPA Client |
|
||||
| ------------- | ------------- | ------------- | ------------- |
|
||||
| [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=206&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=204&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=209&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=210&branchName=dev) |
|
||||
|
||||
| Web Status | Webhooks API | Webbhooks demo client |
|
||||
| ------------- | ------------- | ------------- |
|
||||
[](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=211&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=207&branchName=dev) | [](https://msftdevtools.visualstudio.com/eShopOnContainers/_build/latest?definitionId=208&branchName=dev) |
|
||||
|
||||
## IMPORTANT NOTES!
|
||||
**You can use either the latest version of Visual Studio or simply Docker CLI and .NET CLI for Windows, Mac and Linux**.
|
||||
@ -174,7 +129,7 @@ Finally, those microservices are consumed by multiple client web and mobile apps
|
||||
<img src="img/xamarin-mobile-App.png">
|
||||
|
||||
## Setting up your development environment for eShopOnContainers
|
||||
### Visual Studio 2017 and Windows based
|
||||
### Visual Studio 2017 (or above) and Windows based
|
||||
This is the more straightforward way to get started:
|
||||
https://github.com/dotnet-architecture/eShopOnContainers/wiki/02.-Setting-eShopOnContainers-in-a-Visual-Studio-2017-environment
|
||||
|
||||
@ -194,5 +149,5 @@ As mentioned, we'd appreciate your feedback, improvements and ideas.
|
||||
You can create new issues at the issues section, do pull requests and/or send emails to **eshop_feedback@service.microsoft.com**
|
||||
|
||||
## Questions
|
||||
[QUESTION] Answer +1 if the solution is working for you (Through VS2017 or CLI environment):
|
||||
[QUESTION] Answer +1 if the solution is working for you (Through VS or CLI environment):
|
||||
https://github.com/dotnet/eShopOnContainers/issues/107
|
||||
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -17,34 +15,71 @@ trigger:
|
||||
exclude:
|
||||
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
|
||||
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: ocelotapigw
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
||||
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -12,34 +10,71 @@ trigger:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Services/Basket/*
|
||||
- k8s/helm/basket-api/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build basket
|
||||
inputs:
|
||||
dockerComposeCommand: 'build basket.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push basket
|
||||
inputs:
|
||||
dockerComposeCommand: 'push basket.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build basket
|
||||
inputs:
|
||||
dockerComposeCommand: 'build basket.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push basket
|
||||
inputs:
|
||||
dockerComposeCommand: 'push basket.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build basket
|
||||
inputs:
|
||||
dockerComposeCommand: 'build basket.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push basket
|
||||
inputs:
|
||||
dockerComposeCommand: 'push basket.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: basket.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
||||
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -12,34 +10,71 @@ trigger:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Services/Catalog/*
|
||||
- k8s/helm/catalog-api/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build catalog
|
||||
inputs:
|
||||
dockerComposeCommand: 'build catalog.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push catalog
|
||||
inputs:
|
||||
dockerComposeCommand: 'push catalog.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build catalog
|
||||
inputs:
|
||||
dockerComposeCommand: 'build catalog.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push catalog
|
||||
inputs:
|
||||
dockerComposeCommand: 'push catalog.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindow
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build catalog
|
||||
inputs:
|
||||
dockerComposeCommand: 'build catalog.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push catalog
|
||||
inputs:
|
||||
dockerComposeCommand: 'push catalog.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: catalog.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
||||
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -12,34 +10,71 @@ trigger:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Services/Identity/*
|
||||
- k8s/helm/identity-api/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build identity
|
||||
inputs:
|
||||
dockerComposeCommand: 'build identity.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push identity
|
||||
inputs:
|
||||
dockerComposeCommand: 'push identity.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build identity
|
||||
inputs:
|
||||
dockerComposeCommand: 'build identity.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push identity
|
||||
inputs:
|
||||
dockerComposeCommand: 'push identity.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build identity
|
||||
inputs:
|
||||
dockerComposeCommand: 'build identity.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push identity
|
||||
inputs:
|
||||
dockerComposeCommand: 'push identity.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: identity.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
||||
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -11,35 +9,72 @@ trigger:
|
||||
include:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Services/Location/*
|
||||
- k8s/helm/locations-api/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build locations
|
||||
inputs:
|
||||
dockerComposeCommand: 'build locations.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push locations
|
||||
inputs:
|
||||
dockerComposeCommand: 'push locations.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/locations-api/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build locations
|
||||
inputs:
|
||||
dockerComposeCommand: 'build locations.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push locations
|
||||
inputs:
|
||||
dockerComposeCommand: 'push locations.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build locations
|
||||
inputs:
|
||||
dockerComposeCommand: 'build locations.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push locations
|
||||
inputs:
|
||||
dockerComposeCommand: 'push locations.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: locations.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
||||
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -11,35 +9,72 @@ trigger:
|
||||
include:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Services/Marketing/*
|
||||
- k8s/helm/marketing-api/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build marketing
|
||||
inputs:
|
||||
dockerComposeCommand: 'build marketing.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push marketing
|
||||
inputs:
|
||||
dockerComposeCommand: 'push marketing.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/marketing-api/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build marketing
|
||||
inputs:
|
||||
dockerComposeCommand: 'build marketing.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push marketing
|
||||
inputs:
|
||||
dockerComposeCommand: 'push marketing.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build marketing
|
||||
inputs:
|
||||
dockerComposeCommand: 'build marketing.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push marketing
|
||||
inputs:
|
||||
dockerComposeCommand: 'push marketing.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: marketing.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
||||
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -10,35 +8,73 @@ trigger:
|
||||
paths:
|
||||
include:
|
||||
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
|
||||
- k8s/helm/mobileshoppingagg/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build mobileshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'build mobileshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push mobileshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'push mobileshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/mobileshoppingagg/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build mobileshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'build mobileshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push mobileshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'push mobileshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build mobileshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'build mobileshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push mobileshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'push mobileshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: mobileshoppingagg
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
||||
|
||||
|
27
build/azure-devops/multiarch.yaml
Normal file
@ -0,0 +1,27 @@
|
||||
parameters:
|
||||
image: ''
|
||||
branch: ''
|
||||
registryEndpoint: ''
|
||||
|
||||
jobs:
|
||||
- job: manifest
|
||||
pool:
|
||||
vmImage: 'Ubuntu 16.04'
|
||||
steps:
|
||||
- task: Docker@1
|
||||
displayName: Docker Login
|
||||
inputs:
|
||||
command: login
|
||||
containerregistrytype: 'Container Registry'
|
||||
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||
- bash: |
|
||||
mkdir -p ~/.docker
|
||||
echo '{ "experimental": "enabled" }' > ~/.docker/config.json
|
||||
docker --config ~/.docker manifest create eshop/${{ parameters.image }}:${{ parameters.branch }} eshop/${{ parameters.image }}:linux-${{ parameters.branch }} eshop/${{ parameters.image }}:win-${{ parameters.branch }}
|
||||
docker --config ~/.docker manifest create eshop/${{ parameters.image }}:latest eshop/${{ parameters.image }}:linux-latest eshop/${{ parameters.image }}:win-latest
|
||||
docker --config ~/.docker push eshop/${{ parameters.image }}:${{ parameters.branch }}
|
||||
docker --config ~/.docker push eshop/${{ parameters.image }}:latest
|
||||
displayName: 'Create Manifest'
|
||||
dependsOn:
|
||||
- BuildWindows
|
||||
- BuildLinux
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -14,34 +12,71 @@ trigger:
|
||||
- k8s/helm/ordering-api/*
|
||||
- k8s/helm/ordering-backgroundtasks/*
|
||||
- k8s/helm/ordering-signalrhub/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build ordering
|
||||
inputs:
|
||||
dockerComposeCommand: 'build ordering.api ordering.backgroundtasks ordering.signalrhub'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push ordering
|
||||
inputs:
|
||||
dockerComposeCommand: 'push ordering.api ordering.backgroundtasks ordering.signalrhub'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build ordering
|
||||
inputs:
|
||||
dockerComposeCommand: 'build ordering.api ordering.backgroundtasks ordering.signalrhub'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push ordering
|
||||
inputs:
|
||||
dockerComposeCommand: 'push ordering.api ordering.backgroundtasks ordering.signalrhub'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build ordering
|
||||
inputs:
|
||||
dockerComposeCommand: 'build ordering.api ordering.backgroundtasks ordering.signalrhub'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push ordering
|
||||
inputs:
|
||||
dockerComposeCommand: 'push ordering.api ordering.backgroundtasks ordering.signalrhub'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: ordering.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -12,34 +10,71 @@ trigger:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Services/Payment/*
|
||||
- k8s/helm/payment-api/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build payment
|
||||
inputs:
|
||||
dockerComposeCommand: 'build payment.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push payment
|
||||
inputs:
|
||||
dockerComposeCommand: 'push payment.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build payment
|
||||
inputs:
|
||||
dockerComposeCommand: 'build payment.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push payment
|
||||
inputs:
|
||||
dockerComposeCommand: 'push payment.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build payment
|
||||
inputs:
|
||||
dockerComposeCommand: 'build payment.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push payment
|
||||
inputs:
|
||||
dockerComposeCommand: 'push payment.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: payment.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -10,35 +8,72 @@ trigger:
|
||||
paths:
|
||||
include:
|
||||
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
|
||||
- k8s/helm/webshoppingagg/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/webshoppingagg/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webshoppingagg
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webshoppingagg'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: webshoppingagg
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -11,35 +9,72 @@ trigger:
|
||||
include:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Services/Webhooks/*
|
||||
- k8s/helm/webhooks-api/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webhooks
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webhooks.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webhooks
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webhooks.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/webhooks-api/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webhooks
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webhooks.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webhooks
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webhooks.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webhooks
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webhooks.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webhooks
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webhooks.api'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: webhooks.api
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -11,35 +9,72 @@ trigger:
|
||||
include:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Web/WebhookClient/*
|
||||
- k8s/helm/webhooks-web/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webhooks.client
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webhooks.client'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webhooks.client
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webhooks.client'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/webhooks-web/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webhooks.client
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webhooks.client'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webhooks.client
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webhooks.client'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webhooks.client
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webhooks.client'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webhooks.client
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webhooks.client'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)v
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: webhooks.client
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -11,35 +9,72 @@ trigger:
|
||||
include:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Web/WebMVC/*
|
||||
- k8s/helm/webmvc/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webmvc
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webmvc'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webmvc
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webmvc'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/webmvc/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webmvc
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webmvc'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webmvc
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webmvc'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webmvc
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webmvc'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webmvc
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webmvc'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: webmvc
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -12,34 +10,73 @@ trigger:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Web/WebSPA/*
|
||||
- k8s/helm/webspa/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webspa
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webspa'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webspa
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webspa'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webspa
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webspa'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webspa
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webspa'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webspa
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webspa'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
NODE_IMAGE=stefanscherer/node-windows:8.11
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webspa
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webspa'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
NODE_IMAGE=stefanscherer/node-windows:8.11
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: webspa
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
@ -1,5 +1,3 @@
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
variables:
|
||||
registryEndpoint: eshop-registry
|
||||
trigger:
|
||||
@ -11,35 +9,72 @@ trigger:
|
||||
include:
|
||||
- src/BuildingBlocks/*
|
||||
- src/Web/WebStatus/*
|
||||
- k8s/helm/webstatus/*
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webstatus
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webstatus'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webstatus
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webstatus'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- k8s/helm/webstatus/*
|
||||
jobs:
|
||||
- job: BuildLinux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webstatus
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webstatus'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webstatus
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webstatus'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build webstatus
|
||||
inputs:
|
||||
dockerComposeCommand: 'build webstatus'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push webstatus
|
||||
inputs:
|
||||
dockerComposeCommand: 'push webstatus'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- template: ../multiarch.yaml
|
||||
parameters:
|
||||
image: webstatus
|
||||
branch: $(Build.SourceBranchName)
|
||||
registryEndpoint: $(registryEndpoint)
|
26
build/multiarch-manifests/create-manifests.ps1
Normal file
@ -0,0 +1,26 @@
|
||||
Param(
|
||||
[parameter(Mandatory=$true)][string]$registry
|
||||
)
|
||||
|
||||
if ([String]::IsNullOrEmpty($registry)) {
|
||||
Write-Host "Registry must be set to docker registry to use" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "This script creates the local manifests, for pushing the multi-arch manifests" -ForegroundColor Yellow
|
||||
Write-Host "Tags used are linux-master, win-master, linux-dev, win-dev, linux-latest, win-latest" -ForegroundColor Yellow
|
||||
Write-Host "Multiarch images tags will be master, dev, latest" -ForegroundColor Yellow
|
||||
|
||||
|
||||
$services = "identity.api", "basket.api", "catalog.api", "ordering.api", "ordering.backgroundtasks", "marketing.api", "payment.api", "locations.api", "webhooks.api", "ocelotapigw", "mobileshoppingagg", "webshoppingagg", "ordering.signalrhub", "webstatus", "webspa", "webmvc", "webhooks.client"
|
||||
|
||||
foreach ($svc in $services) {
|
||||
Write-Host "Creating manifest for $svc and tags :latest, :master, and :dev"
|
||||
docker manifest create $registry/${svc}:master $registry/${svc}:linux-master $registry/${svc}:win-master
|
||||
docker manifest create $registry/${svc}:dev $registry/${svc}:linux-dev $registry/${svc}:win-dev
|
||||
docker manifest create $registry/${svc}:latest $registry/${svc}:linux-latest $registry/${svc}:win-latest
|
||||
Write-Host "Pushing manifest for $svc and tags :latest, :master, and :dev"
|
||||
docker manifest push $registry/${svc}:latest
|
||||
docker manifest push $registry/${svc}:dev
|
||||
docker manifest push $registry/${svc}:master
|
||||
}
|
2
cli-windows/set-dockernat-networkategory-to-private.ps1
Normal file
@ -0,0 +1,2 @@
|
||||
#Requires -RunAsAdministrator
|
||||
Get-NetConnectionProfile | Where-Object { $_.InterfaceAlias -match "(DockerNAT)" } | ForEach-Object { Set-NetConnectionProfile -InterfaceIndex $_.InterfaceIndex -NetworkCategory Private }
|
37
docker-compose.elk.yml
Normal file
@ -0,0 +1,37 @@
|
||||
version: '3.4'
|
||||
|
||||
services:
|
||||
|
||||
elasticsearch:
|
||||
build:
|
||||
context: elk/elasticsearch/
|
||||
volumes:
|
||||
- ./elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
|
||||
ports:
|
||||
- "9200:9200"
|
||||
- "9300:9300"
|
||||
environment:
|
||||
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
|
||||
|
||||
logstash:
|
||||
build:
|
||||
context: elk/logstash/
|
||||
volumes:
|
||||
- ./elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
|
||||
- ./elk/logstash/pipeline:/usr/share/logstash/pipeline:ro
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
|
||||
depends_on:
|
||||
- elasticsearch
|
||||
|
||||
kibana:
|
||||
build:
|
||||
context: elk/kibana/
|
||||
volumes:
|
||||
- ./elk/kibana/config/:/usr/share/kibana/config:ro
|
||||
ports:
|
||||
- "5601:5601"
|
||||
depends_on:
|
||||
- elasticsearch
|
@ -110,6 +110,8 @@ services:
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
- UseLoadTest=${USE_LOADTEST:-False}
|
||||
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
||||
- Serilog__MinimumLevel__Override__Ordering.API=Verbose
|
||||
ports:
|
||||
- "5102:80" # Important: In a production environment your should remove the external port (5102) kept here for microservice debugging purposes.
|
||||
# The API Gateway redirects and access through the internal port (80).
|
||||
@ -130,6 +132,7 @@ services:
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
- UseLoadTest=${USE_LOADTEST:-False}
|
||||
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
||||
ports:
|
||||
- "5111:80"
|
||||
|
||||
@ -168,6 +171,8 @@ services:
|
||||
- AzureServiceBusEnabled=False
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
- Serilog__MinimumLevel__Override__Payment.API.IntegrationEvents.EventHandling=Verbose
|
||||
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
||||
ports:
|
||||
- "5108:80" # Important: In a production environment your should remove the external port (5108) kept here for microservice debugging purposes.
|
||||
# The API Gateway redirects and access through the internal port (80).
|
||||
@ -326,40 +331,40 @@ services:
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Production
|
||||
- ASPNETCORE_URLS=http://0.0.0.0:80
|
||||
- HealthChecks-UI__HealthChecks__1__Name=WebMVC HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__1__Uri=http://webmvc/hc
|
||||
- HealthChecks-UI__HealthChecks__2__Name=WebSPA HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__2__Uri=http://webspa/hc
|
||||
- HealthChecks-UI__HealthChecks__3__Name=Web Shopping Aggregator GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__3__Uri=http://webshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__4__Name=Mobile Shopping Aggregator HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__4__Uri=http://mobileshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__5__Name=Mobile Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__5__Uri=http://mobileshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__6__Name=Mobile Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__6__Uri=http://mobilemarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__7__Name=Web Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__7__Uri=http://webshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__8__Name=Web Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__8__Uri=http://webmarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__9__Name=Ordering HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__9__Uri=http://ordering.api/hc
|
||||
- HealthChecks-UI__HealthChecks__10__Name=Ordering HTTP Background Check
|
||||
- HealthChecks-UI__HealthChecks__10__Uri=http://ordering.backgroundtasks/hc
|
||||
- HealthChecks-UI__HealthChecks__11__Name=Basket HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__11__Uri=http://basket.api/hc
|
||||
- HealthChecks-UI__HealthChecks__12__Name=Catalog HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__12__Uri=http://catalog.api/hc
|
||||
- HealthChecks-UI__HealthChecks__13__Name=Identity HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__13__Uri=http://identity.api/hc
|
||||
- HealthChecks-UI__HealthChecks__14__Name=Marketing HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__14__Uri=http://marketing.api/hc
|
||||
- HealthChecks-UI__HealthChecks__15__Name=Locations HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__15__Uri=http://locations.api/hc
|
||||
- HealthChecks-UI__HealthChecks__16__Name=Payments HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__16__Uri=http://payment.api/hc
|
||||
- HealthChecks-UI__HealthChecks__17__Name=Ordering SignalRHub HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__17__Uri=http://ordering.signalrhub/hc
|
||||
- HealthChecks-UI__HealthChecks__0__Name=WebMVC HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__0__Uri=http://webmvc/hc
|
||||
- HealthChecks-UI__HealthChecks__1__Name=WebSPA HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__1__Uri=http://webspa/hc
|
||||
- HealthChecks-UI__HealthChecks__2__Name=Web Shopping Aggregator GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__2__Uri=http://webshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__3__Name=Mobile Shopping Aggregator HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__3__Uri=http://mobileshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__4__Name=Mobile Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__4__Uri=http://mobileshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__5__Name=Mobile Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__5__Uri=http://mobilemarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__6__Name=Web Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__6__Uri=http://webshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__7__Name=Web Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__7__Uri=http://webmarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__8__Name=Ordering HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__8__Uri=http://ordering.api/hc
|
||||
- HealthChecks-UI__HealthChecks__9__Name=Ordering HTTP Background Check
|
||||
- HealthChecks-UI__HealthChecks__9__Uri=http://ordering.backgroundtasks/hc
|
||||
- HealthChecks-UI__HealthChecks__10__Name=Basket HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__10__Uri=http://basket.api/hc
|
||||
- HealthChecks-UI__HealthChecks__11__Name=Catalog HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__11__Uri=http://catalog.api/hc
|
||||
- HealthChecks-UI__HealthChecks__12__Name=Identity HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__12__Uri=http://identity.api/hc
|
||||
- HealthChecks-UI__HealthChecks__13__Name=Marketing HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__13__Uri=http://marketing.api/hc
|
||||
- HealthChecks-UI__HealthChecks__14__Name=Locations HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__14__Uri=http://locations.api/hc
|
||||
- HealthChecks-UI__HealthChecks__15__Name=Payments HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__15__Uri=http://payment.api/hc
|
||||
- HealthChecks-UI__HealthChecks__16__Name=Ordering SignalRHub HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__16__Uri=http://ordering.signalrhub/hc
|
||||
- OrderingBackgroundTasksUrl=http://ordering.backgroundtasks/hc
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
|
@ -1,6 +1,7 @@
|
||||
version: '3.4'
|
||||
|
||||
services:
|
||||
|
||||
seq:
|
||||
image: datalust/seq:latest
|
||||
|
||||
@ -17,7 +18,7 @@ services:
|
||||
image: rabbitmq:3-management-alpine
|
||||
|
||||
identity.api:
|
||||
image: ${REGISTRY:-eshop}/identity.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/identity.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Identity/Identity.API/Dockerfile
|
||||
@ -25,7 +26,7 @@ services:
|
||||
- sql.data
|
||||
|
||||
basket.api:
|
||||
image: ${REGISTRY:-eshop}/basket.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/basket.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Basket/Basket.API/Dockerfile
|
||||
@ -35,7 +36,7 @@ services:
|
||||
- rabbitmq
|
||||
|
||||
catalog.api:
|
||||
image: ${REGISTRY:-eshop}/catalog.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/catalog.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Catalog/Catalog.API/Dockerfile
|
||||
@ -44,7 +45,7 @@ services:
|
||||
- rabbitmq
|
||||
|
||||
ordering.api:
|
||||
image: ${REGISTRY:-eshop}/ordering.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/ordering.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Ordering/Ordering.API/Dockerfile
|
||||
@ -53,7 +54,7 @@ services:
|
||||
- rabbitmq
|
||||
|
||||
ordering.backgroundtasks:
|
||||
image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
|
||||
@ -62,7 +63,7 @@ services:
|
||||
- rabbitmq
|
||||
|
||||
marketing.api:
|
||||
image: ${REGISTRY:-eshop}/marketing.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/marketing.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Marketing/Marketing.API/Dockerfile
|
||||
@ -73,7 +74,7 @@ services:
|
||||
- rabbitmq
|
||||
|
||||
payment.api:
|
||||
image: ${REGISTRY:-eshop}/payment.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/payment.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Payment/Payment.API/Dockerfile
|
||||
@ -81,7 +82,7 @@ services:
|
||||
- rabbitmq
|
||||
|
||||
locations.api:
|
||||
image: ${REGISTRY:-eshop}/locations.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/locations.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Location/Locations.API/Dockerfile
|
||||
@ -90,7 +91,7 @@ services:
|
||||
- rabbitmq
|
||||
|
||||
webhooks.api:
|
||||
image: ${REGISTRY:-eshop}/webhooks.api:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/webhooks.api:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Webhooks/Webhooks.API/Dockerfile
|
||||
@ -98,7 +99,7 @@ services:
|
||||
- sql.data
|
||||
|
||||
mobileshoppingapigw:
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile
|
||||
@ -113,7 +114,7 @@ services:
|
||||
- basket.api
|
||||
|
||||
mobilemarketingapigw:
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile
|
||||
@ -128,7 +129,7 @@ services:
|
||||
- basket.api
|
||||
|
||||
webshoppingapigw:
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile
|
||||
@ -143,7 +144,7 @@ services:
|
||||
- basket.api
|
||||
|
||||
webmarketingapigw:
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/ocelotapigw:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/ApiGateways/ApiGw-Base/Dockerfile
|
||||
@ -158,7 +159,7 @@ services:
|
||||
- basket.api
|
||||
|
||||
mobileshoppingagg:
|
||||
image: ${REGISTRY:-eshop}/mobileshoppingagg:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/mobileshoppingagg:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
|
||||
@ -173,7 +174,7 @@ services:
|
||||
- basket.api
|
||||
|
||||
webshoppingagg:
|
||||
image: ${REGISTRY:-eshop}/webshoppingagg:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/webshoppingagg:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
|
||||
@ -188,7 +189,7 @@ services:
|
||||
- basket.api
|
||||
|
||||
ordering.signalrhub:
|
||||
image: ${REGISTRY:-eshop}/ordering.signalrhub:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/ordering.signalrhub:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Services/Ordering/Ordering.SignalrHub/Dockerfile
|
||||
@ -203,23 +204,25 @@ services:
|
||||
- basket.api
|
||||
|
||||
webstatus:
|
||||
image: ${REGISTRY:-eshop}/webstatus:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/webstatus:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Web/WebStatus/Dockerfile
|
||||
|
||||
webspa:
|
||||
image: ${REGISTRY:-eshop}/webspa:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/webspa:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Web/WebSPA/Dockerfile
|
||||
args:
|
||||
- NODE_IMAGE=${NODE_IMAGE:-node:8.11}
|
||||
# depends_on:
|
||||
# - webshoppingagg
|
||||
# - webshoppingapigw
|
||||
# - webmarketingapigw
|
||||
|
||||
webmvc:
|
||||
image: ${REGISTRY:-eshop}/webmvc:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/webmvc:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Web/WebMVC/Dockerfile
|
||||
@ -229,7 +232,7 @@ services:
|
||||
- webmarketingapigw
|
||||
|
||||
webhooks.client:
|
||||
image: ${REGISTRY:-eshop}/webhooks.client:${TAG:-latest}
|
||||
image: ${REGISTRY:-eshop}/webhooks.client:${PLATFORM:-linux}-${TAG:-latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: src/Web/WebhookClient/Dockerfile
|
||||
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
export NODE_DOWNLOAD_SHA 0e20787e2eda4cc31336d8327556ebc7417e8ee0a6ba0de96a09b0ec2b841f60
|
||||
curl -SL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" --output nodejs.tar.gz \
|
||||
&& echo "$NODE_DOWNLOAD_SHA nodejs.tar.gz" | sha256sum -c - \
|
||||
&& tar -xzf "nodejs.tar.gz" -C /usr/local --strip-components=1 \
|
||||
&& rm nodejs.tar.gz \
|
||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
|
@ -1,4 +0,0 @@
|
||||
set NODE_VERSION=8.11.1
|
||||
curl -SL "https://nodejs.org/dist/v%NODE_VERSION%/node-v%NODE_VERSION%-win-x64.zip" --output nodejs.zip
|
||||
tar -xf nodejs.zip -C c:\
|
||||
setx PATH "%PATH%;c:\node-v%NODE_VERSION%-win-x64"
|
BIN
docs/MicrosoftAzure_StartGuide_Developers-old.pdf
Normal file
@ -142,9 +142,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Payment.API", "src\Services
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Webhooks", "Webhooks", "{E0AA11C4-2873-461D-8F82-53392530FB7A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Webhooks.API", "src\Services\Webhooks\Webhooks.API\Webhooks.API.csproj", "{84E2016E-0435-44C6-8020-3D288AA38B2C}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Webhooks.API", "src\Services\Webhooks\Webhooks.API\Webhooks.API.csproj", "{84E2016E-0435-44C6-8020-3D288AA38B2C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebhookClient", "src\Web\WebhookClient\WebhookClient.csproj", "{766D7E92-6AF0-476C-ADD5-282BF4D8C576}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebhookClient", "src\Web\WebhookClient\WebhookClient.csproj", "{766D7E92-6AF0-476C-ADD5-282BF4D8C576}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Devspace.Support", "Devspace.Support", "{68F5041D-51F2-4630-94B6-B49789F5E51A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Devspaces.Support", "src\BuildingBlocks\Devspaces.Support\Devspaces.Support.csproj", "{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -1744,6 +1748,54 @@ Global
|
||||
{766D7E92-6AF0-476C-ADD5-282BF4D8C576}.Release|x64.Build.0 = Release|Any CPU
|
||||
{766D7E92-6AF0-476C-ADD5-282BF4D8C576}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{766D7E92-6AF0-476C-ADD5-282BF4D8C576}.Release|x86.Build.0 = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|Any CPU.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|ARM.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|ARM.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhone.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x64.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x64.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x86.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.AppStore|x86.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x64.Build.0 = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@ -1808,6 +1860,8 @@ Global
|
||||
{E0AA11C4-2873-461D-8F82-53392530FB7A} = {91CF7717-08AB-4E65-B10E-0B426F01E2E8}
|
||||
{84E2016E-0435-44C6-8020-3D288AA38B2C} = {E0AA11C4-2873-461D-8F82-53392530FB7A}
|
||||
{766D7E92-6AF0-476C-ADD5-282BF4D8C576} = {E279BF0F-7F66-4F3A-A3AB-2CDA66C1CD04}
|
||||
{68F5041D-51F2-4630-94B6-B49789F5E51A} = {DB0EFB20-B024-4E5E-A75C-52143C131D25}
|
||||
{56C2EF0B-6BF2-41D9-BE07-6E6D08D06B35} = {68F5041D-51F2-4630-94B6-B49789F5E51A}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {25728519-5F0F-4973-8A64-0A81EB4EA8D9}
|
||||
|
88
elk/Readme.md
Normal file
@ -0,0 +1,88 @@
|
||||
This article contains a brief introduction to centralized structured logging with [Serilog](https://serilog.net/) and event viewing with [ELK](https://www.elastic.co/elk-stack) in eShopOnContainers. ELK is an acronym of ElasticSearch, LogStash and Kibana. This is one of the most used tools in the industry standards.
|
||||
|
||||

|
||||
|
||||
## Wiring eshopOnContainers with ELK in Localhost
|
||||
|
||||
eshopOnContainers is ready for work with ELK, you only need to setup the configuration parameter **LogstashUrl**, in **Serilog** Section, for achieve this, you can do it modifing this parameter in every appsettings.json of every service, or via Environment Variable **Serilog:LogstashUrl**.
|
||||
|
||||
There is another option, a zero-configuration environment for testing the integration launching via ```docker-compose``` command, on the root directory of eshopOnContainers:
|
||||
|
||||
```sh
|
||||
docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.elk.yml build
|
||||
|
||||
docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.elk.yml up
|
||||
```
|
||||
|
||||
### Configuring Logstash index on Kibana
|
||||
|
||||
Once time you have started and configured your application, you only need to configure the logstash index on kibana.
|
||||
You can address to Kibana, with docker-compose setup is at [http://localhost:5601](http://localhost:5601)
|
||||
|
||||
If you have accessed to kibana too early, you can see this error. It's normal, depending of your machine the kibana stack needs a bit of time to startup.
|
||||

|
||||
|
||||
You can wait a bit and refresh the page, the first time you enter, you need to configure and index pattern, in the ```docker-compose``` configuration, the index pattern name is **eshops-\***.
|
||||

|
||||
|
||||
With the index pattern configured, you can enter in the discover section and start viewing how the tool is recollecting the logging information.
|
||||
|
||||

|
||||
|
||||
## Configuring ELK on Azure VM
|
||||
Another option is to use a preconfigured virtual machine with Logstash, ElasticSearch and Kibana and point the configuration parameter **LogstashUrl**. For doing this you can address to Microsoft Azure, and start searching a Certified ELK Virtual Machine
|
||||
|
||||

|
||||
|
||||
This options it have a certified preconfigured options (Network, VirtualMachine type, OS, RAM, Disks) for having a good starting point of ELK with good performance.
|
||||
|
||||

|
||||
|
||||
When you have configured the main aspects of your virtual machine, you will have a "review & create" last step like this:
|
||||

|
||||
|
||||
### Configuring the bitnami environment
|
||||
|
||||
This virtual machine has a lot of configuration pipeing done. If you want to change something of the default configuration you can address this documentation:
|
||||
[https://docs.bitnami.com/virtual-machine/apps/elk/get-started/](https://docs.bitnami.com/virtual-machine/apps/elk/get-started/)
|
||||
|
||||
The only thing you have to change is the logstash configuration inside the machine. This configuration is at the file ```/opt/bitnami/logstash/conf/logstash.conf```
|
||||
You must edit the file and overwrite with this configuration:
|
||||
```conf
|
||||
input {
|
||||
http {
|
||||
#default host 0.0.0.0:8080
|
||||
codec => json
|
||||
}
|
||||
}
|
||||
|
||||
## Add your filters / logstash plugins configuration here
|
||||
filter {
|
||||
split {
|
||||
field => "events"
|
||||
target => "e"
|
||||
remove_field => "events"
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
elasticsearch {
|
||||
hosts => "elasticsearch:9200"
|
||||
index=>"eshops-%{+xxxx.ww}"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
For doing this you can connect via ssh to the vm and edit the file using the vi editor for example.
|
||||
When the file will be edited, check there are Inbound Port Rules created for the logstash service. You can do it going to Networking Menu on your ELK Virtual Machine Resource in Azure.
|
||||
|
||||

|
||||
|
||||
The only thing that remains is to connect to your vm vía browser. And check the bitnami splash page is showing.
|
||||
|
||||

|
||||
|
||||
You can get the password for accessing going to your virtual machine in azure and check the boot diagnostics, theres a message that shows to you which is your password.
|
||||
|
||||
When you have the user and password you can access to the kibana tool, and create the ```eshops-*``` index pattern that is well documented at the beggining of this documentation and then start to discover.
|
||||

|
5
elk/elasticsearch/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
# https://github.com/elastic/elasticsearch-docker
|
||||
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.0.0
|
||||
|
||||
# Add your elasticsearch plugins setup here
|
||||
# Example: RUN elasticsearch-plugin install analysis-icu
|
16
elk/elasticsearch/config/elasticsearch.yml
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
## Default Elasticsearch configuration from elasticsearch-docker.
|
||||
## from https://github.com/elastic/elasticsearch-docker/blob/master/build/elasticsearch/elasticsearch.yml
|
||||
#
|
||||
cluster.name: "docker-cluster"
|
||||
network.host: 0.0.0.0
|
||||
|
||||
# minimum_master_nodes need to be explicitly set when bound on a public IP
|
||||
# set to 1 to allow single node clusters
|
||||
# Details: https://github.com/elastic/elasticsearch/pull/17288
|
||||
discovery.zen.minimum_master_nodes: 1
|
||||
|
||||
## Use single node discovery in order to disable production mode and avoid bootstrap checks
|
||||
## see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
|
||||
#
|
||||
discovery.type: single-node
|
5
elk/kibana/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
# https://github.com/elastic/kibana-docker
|
||||
FROM docker.elastic.co/kibana/kibana-oss:6.0.0
|
||||
|
||||
# Add your kibana plugins setup here
|
||||
# Example: RUN kibana-plugin install <name|url>
|
7
elk/kibana/config/kibana.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
## Default Kibana configuration from kibana-docker.
|
||||
## from https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml
|
||||
#
|
||||
server.name: kibana
|
||||
server.host: "0"
|
||||
elasticsearch.url: http://elasticsearch:9200
|
6
elk/logstash/Dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
# https://github.com/elastic/logstash-docker
|
||||
FROM docker.elastic.co/logstash/logstash-oss:6.0.0
|
||||
|
||||
# Add your logstash plugins setup here
|
||||
# Example: RUN logstash-plugin install logstash-filter-json
|
||||
RUN logstash-plugin install logstash-input-http
|
6
elk/logstash/config/logstash.yml
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
## Default Logstash configuration from logstash-docker.
|
||||
## from https://github.com/elastic/logstash-docker/blob/master/build/logstash/config/logstash-oss.yml
|
||||
#
|
||||
http.host: "0.0.0.0"
|
||||
path.config: /usr/share/logstash/pipeline
|
22
elk/logstash/pipeline/logstash.conf
Normal file
@ -0,0 +1,22 @@
|
||||
input {
|
||||
http {
|
||||
#default host 0.0.0.0:8080
|
||||
codec => json
|
||||
}
|
||||
}
|
||||
|
||||
## Add your filters / logstash plugins configuration here
|
||||
filter {
|
||||
split {
|
||||
field => "events"
|
||||
target => "e"
|
||||
remove_field => "events"
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
elasticsearch {
|
||||
hosts => "elasticsearch:9200"
|
||||
index=>"eshops-%{+xxxx.ww}"
|
||||
}
|
||||
}
|
BIN
img/eShopScreen.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
img/elk/azure-nsg-inboundportsConfig.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
img/elk/bitnami_splash.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
img/elk/create-vm-elk-azure-last-step.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
img/elk/create-vm-elk-azure-summary.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
img/elk/create-vm-elk-azure.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
img/elk/discover-kibana.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
img/elk/kibana_eshops_index.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
img/elk/kibana_result.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
img/elk/kibana_startup.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
img/elk/kibana_working.png
Normal file
After Width: | Height: | Size: 78 KiB |
@ -20,7 +20,7 @@ For AKS:
|
||||
For ACS:
|
||||
|
||||
>```
|
||||
>./gen-k8s-env -resourceGroupName k8sGroup -location westeurope -registryName k8sregistry -createAcr true -orchestratorName k8s-cluster -dnsName k8s-dns
|
||||
>./gen-k8s-env-aks -resourceGroupName k8sGroup -location westeurope -registryName k8sregistry -serviceName k8s-cluster -createAcr true -nodeCount 3 -nodeVMSize Standard_D2_v2
|
||||
>```
|
||||
|
||||
* A Docker development environment with `docker` and `docker-compose`.
|
||||
|
@ -33,14 +33,13 @@
|
||||
{{- end -}}
|
||||
|
||||
|
||||
|
||||
{{- define "pathBase" -}}
|
||||
{{- $name := first .}}
|
||||
{{- $ctx := last .}}
|
||||
{{- if $ctx.Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" $ctx -}}
|
||||
{{- printf "/%s-%s" $name $suffix -}}
|
||||
{{- if .Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" . -}}
|
||||
{{- printf "%s-%s" .Values.pathBase $suffix -}}
|
||||
{{- else -}}
|
||||
{{- printf "/%s" $name -}}
|
||||
{{- .Values.pathBase -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
@ -61,10 +61,10 @@ spec:
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /app/configuration
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" (list .Values.app.ingress.entries.mobilemarketingapigw .) }}
|
||||
value: {{ include "pathBase" . }}
|
||||
- name: k8sname
|
||||
value: {{ .Values.clusterName }}
|
||||
{{- if .Values.env.values -}}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.mobilemarketingapigw .) -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.mobilemarketingapigw -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@ -23,11 +24,13 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.inf.k8s.dns }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ .Values.app.svc.mobilemarketingapigw }}
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -62,3 +62,5 @@ probes:
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
||||
|
@ -35,13 +35,11 @@
|
||||
|
||||
|
||||
{{- define "pathBase" -}}
|
||||
{{- $name := first .}}
|
||||
{{- $ctx := last .}}
|
||||
{{- if $ctx.Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" $ctx -}}
|
||||
{{- printf "/%s-%s" $name $suffix -}}
|
||||
{{- if .Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" . -}}
|
||||
{{- printf "%s-%s" .Values.pathBase $suffix -}}
|
||||
{{- else -}}
|
||||
{{- printf "/%s" $name -}}
|
||||
{{- .Values.pathBase -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
@ -61,10 +61,10 @@ spec:
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /app/configuration
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" (list .Values.app.ingress.entries.mobileshoppingapigw .) }}
|
||||
value: {{ include "pathBase" . }}
|
||||
- name: k8sname
|
||||
value: {{ .Values.clusterName }}
|
||||
{{- if .Values.env.values -}}
|
||||
|
@ -1,5 +1,7 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.mobileshoppingapigw .) -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.mobileshoppingapigw -}}
|
||||
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@ -23,11 +25,13 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.inf.k8s.dns }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ .Values.app.svc.mobileshoppingapigw }}
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -61,4 +61,6 @@ probes:
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
@ -35,13 +35,11 @@
|
||||
|
||||
|
||||
{{- define "pathBase" -}}
|
||||
{{- $name := first .}}
|
||||
{{- $ctx := last .}}
|
||||
{{- if $ctx.Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" $ctx -}}
|
||||
{{- printf "/%s-%s" $name $suffix -}}
|
||||
{{- if .Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" . -}}
|
||||
{{- printf "%s-%s" .Values.pathBase $suffix -}}
|
||||
{{- else -}}
|
||||
{{- printf "/%s" $name -}}
|
||||
{{- .Values.pathBase -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
@ -61,10 +61,10 @@ spec:
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /app/configuration
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" (list .Values.app.ingress.entries.webmarketingapigw .) }}
|
||||
value: {{ include "pathBase" . }}
|
||||
- name: k8sname
|
||||
value: {{ .Values.clusterName }}
|
||||
{{- if .Values.env.values -}}
|
||||
|
@ -1,5 +1,7 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.webmarketingapigw .) -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.webmarketingapigw -}}
|
||||
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@ -23,11 +25,13 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.inf.k8s.dns }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ .Values.app.svc.webmarketingapigw }}
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -61,4 +61,6 @@ probes:
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
@ -33,14 +33,13 @@
|
||||
{{- end -}}
|
||||
|
||||
|
||||
|
||||
{{- define "pathBase" -}}
|
||||
{{- $name := first .}}
|
||||
{{- $ctx := last .}}
|
||||
{{- if $ctx.Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" $ctx -}}
|
||||
{{- printf "/%s-%s" $name $suffix -}}
|
||||
{{- if .Values.inf.k8s.suffix -}}
|
||||
{{- $suffix := include "suffix-name" . -}}
|
||||
{{- printf "%s-%s" .Values.pathBase $suffix -}}
|
||||
{{- else -}}
|
||||
{{- printf "/%s" $name -}}
|
||||
{{- .Values.pathBase -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
@ -60,10 +60,10 @@ spec:
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /app/configuration
|
||||
mountPath: {{ .Values.ocelot.configPath }}
|
||||
env:
|
||||
- name: PATH_BASE
|
||||
value: {{ include "pathBase" (list .Values.app.ingress.entries.webshoppingapigw .) }}
|
||||
value: {{ include "pathBase" . }}
|
||||
- name: k8sname
|
||||
value: {{ .Values.clusterName }}
|
||||
{{- if .Values.env.values -}}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" (list .Values.app.ingress.entries.webshoppingapigw .) -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.webshoppingapigw -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@ -23,11 +24,13 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.inf.k8s.dns }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ .Values.app.svc.webshoppingapigw }}
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -62,3 +62,5 @@ probes:
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
ocelot:
|
||||
configPath: /app/configuration
|
@ -29,7 +29,7 @@ app: # app global settings
|
||||
catalog: catalog # service name for catalog api
|
||||
ordering: ordering # service name for ordering api
|
||||
orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks
|
||||
orderingsignalrhub: ordering-signalrhub # service name for orderingsignalrhub
|
||||
orderingsignalrhub: ordering-signalrhub # service name for orderingsignalrhub
|
||||
identity: identity # service name for identity api
|
||||
mvc: webmvc # service name for web mvc
|
||||
spa: webspa # service name for web spa
|
||||
|
@ -15,5 +15,5 @@ data:
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
||||
basket__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
37
k8s/helm/basket-api/templates/ingress.yaml
Normal file
@ -0,0 +1,37 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.basket -}}
|
||||
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "basket-api.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "basket-api.name" . }}
|
||||
chart: {{ template "basket-api.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.inf.k8s.dns }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -53,3 +53,6 @@ probes:
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
|
||||
ingress:
|
||||
enabled: false
|
@ -16,5 +16,5 @@ data:
|
||||
catalog__PicBaseUrl: http://{{ $webshoppingapigw }}/api/v1/c/catalog/items/[0]/pic/
|
||||
catalog__AzureStorageEnabled: "{{ .Values.inf.misc.useAzureStorage }}"
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
37
k8s/helm/catalog-api/templates/ingress.yaml
Normal file
@ -0,0 +1,37 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.catalog -}}
|
||||
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "catalog-api.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "catalog-api.name" . }}
|
||||
chart: {{ template "catalog-api.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.inf.k8s.dns }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -57,6 +57,7 @@ kubectl apply -f ./istio/gateway.yml
|
||||
|
||||
if ($useLocalk8s -eq $true) {
|
||||
$dns="localhost"
|
||||
$externalDns="localhost"
|
||||
}
|
||||
else {
|
||||
Write-Host "Resolving DNS to Gateway public IP" -ForegroundColor Green
|
||||
|
@ -5,6 +5,7 @@ Param(
|
||||
[parameter(Mandatory=$false)][string]$externalDns,
|
||||
[parameter(Mandatory=$false)][string]$appName="eshop",
|
||||
[parameter(Mandatory=$false)][bool]$deployInfrastructure=$true,
|
||||
[parameter(Mandatory=$false)][bool]$deployCharts=$true,
|
||||
[parameter(Mandatory=$false)][bool]$clean=$true,
|
||||
[parameter(Mandatory=$false)][string]$aksName="",
|
||||
[parameter(Mandatory=$false)][string]$aksRg="",
|
||||
@ -44,7 +45,7 @@ if ([string]::IsNullOrEmpty($dns)) {
|
||||
|
||||
if ($clean) {
|
||||
Write-Host "Cleaning previous helm releases..." -ForegroundColor Green
|
||||
helm delete --purge $(helm ls -q)
|
||||
helm delete --purge $(helm ls -q eshop)
|
||||
Write-Host "Previous releases deleted" -ForegroundColor Green
|
||||
}
|
||||
|
||||
@ -66,20 +67,28 @@ $charts = ("eshop-common", "apigwmm", "apigwms", "apigwwm", "apigwws", "basket-a
|
||||
if ($deployInfrastructure) {
|
||||
foreach ($infra in $infras) {
|
||||
Write-Host "Installing infrastructure: $infra" -ForegroundColor Green
|
||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --name="$appName-$infra" $infra
|
||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --name="$appName-$infra" $infra
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Host "eShopOnContainers infrastructure (bbdd, redis, ...) charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
foreach ($chart in $charts) {
|
||||
Write-Host "Installing: $chart" -ForegroundColor Green
|
||||
if ($useCustomRegistry) {
|
||||
helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
||||
}
|
||||
else {
|
||||
if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed
|
||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
||||
if ($deployCharts) {
|
||||
foreach ($chart in $charts) {
|
||||
Write-Host "Installing: $chart" -ForegroundColor Green
|
||||
if ($useCustomRegistry) {
|
||||
helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
||||
}
|
||||
else {
|
||||
if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed
|
||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Host "eShopOnContainers non-infrastructure charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host "helm charts installed." -ForegroundColor Green
|
||||
Write-Host "helm charts installed." -ForegroundColor Green
|
||||
|
@ -24,7 +24,7 @@ metadata:
|
||||
data:
|
||||
identity__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.identity.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
||||
identity__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
mvc_e: http://{{ $mvc_url }}
|
||||
spa_e: http://{{ $spa_url }}
|
||||
locations_e: http://{{ $locations_url }}
|
||||
@ -36,5 +36,4 @@ data:
|
||||
xamarin_callback_e: http://{{ $xamarincallback }}
|
||||
webhooksapi_e: http://{{ $webhooks_url }}
|
||||
webhooksweb_e: http://{{ $webhooksweb_url }}
|
||||
|
||||
|
||||
enableDevspaces: "{{ .Values.enableDevspaces }}"
|
@ -1,5 +1,6 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.identity }}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@ -23,11 +24,13 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.inf.k8s.dns }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ .Values.app.svc.identity }}
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -58,6 +58,8 @@ env:
|
||||
key: webhooksapi_e
|
||||
- name: WebhooksWebClient
|
||||
key: webhooksweb_e
|
||||
- name: EnableDevspaces
|
||||
key: enableDevspaces
|
||||
values:
|
||||
- name: ASPNETCORE_ENVIRONMENT
|
||||
value: Development
|
||||
@ -65,6 +67,7 @@ env:
|
||||
value: 'K8S'
|
||||
- name: IsClusterEnv
|
||||
value: 'True'
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
path: /liveness
|
||||
@ -76,4 +79,6 @@ probes:
|
||||
timeoutSeconds: 5
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 60
|
||||
port: 80
|
||||
port: 80
|
||||
|
||||
enableDevspaces: "false"
|
@ -1,4 +1,4 @@
|
||||
# This heml values file defines all infrastructure used by eShopOnContainers.
|
||||
# This helm values file defines all infrastructure used by eShopOnContainers.
|
||||
# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment
|
||||
|
||||
inf:
|
||||
@ -15,11 +15,11 @@ inf:
|
||||
identity:
|
||||
db: IdentityDb # Ordering API SQL db name
|
||||
marketing:
|
||||
db: MarketingDb # Marketing API SQL db name
|
||||
db: MarketingDb # Marketing API SQL db name
|
||||
webhooks:
|
||||
db: WebhooksDb # Webhooks DB
|
||||
db: WebhooksDb # Webhooks DB
|
||||
mongo:
|
||||
# host: my-nosql-data # Uncomment to use specify custom mongo host. By default nosql-data is used
|
||||
# host: my-nosql-data # Uncomment to use specify custom mongo host. By default nosql-data is used
|
||||
locations:
|
||||
database: LocationsDb
|
||||
marketing:
|
||||
|
@ -13,7 +13,7 @@ metadata:
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
internalurls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
||||
|
36
k8s/helm/locations-api/templates/ingress.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.locations }}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "locations-api.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "locations-api.name" . }}
|
||||
chart: {{ template "locations-api.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.inf.k8s.dns }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -15,7 +15,7 @@ metadata:
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
internalurls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
||||
|
36
k8s/helm/marketing-api/templates/ingress.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.marketing }}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "marketing-api.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "marketing-api.name" . }}
|
||||
chart: {{ template "marketing-api.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.inf.k8s.dns }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -10,7 +10,7 @@ metadata:
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
mobileshoppingagg__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
internalurls__basket: http://{{ .Values.app.svc.basket }}
|
||||
|
36
k8s/helm/mobileshoppingagg/templates/ingress.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.mobileshoppingagg }}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "mobileshoppingagg.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "mobileshoppingagg.name" . }}
|
||||
chart: {{ template "mobileshoppingagg.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.inf.k8s.dns }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -16,5 +16,5 @@ data:
|
||||
ordering__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -1,10 +1,11 @@
|
||||
{{- $name := include "ordering-backgroundtasks.fullname" . -}}
|
||||
{{- $sqlsrv := include "sql-name" . -}}
|
||||
{{- $cfgname := printf "cfg-%s" $name | trunc 63 }}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "cfg-{{ $name }}"
|
||||
name: "{{ $cfgname }}"
|
||||
labels:
|
||||
app: {{ template "ordering-backgroundtasks.name" . }}
|
||||
chart: {{ template "ordering-backgroundtasks.chart" .}}
|
||||
@ -14,7 +15,7 @@ data:
|
||||
ordering__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.ordering.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
||||
ordering__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||
graceperiodmanager__CheckUpdateTime: "{{ .Values.cfg.checkUpdateTime }}"
|
||||
graceperiodmanager__GracePeriodTime: "{{ .Values.cfg.gracePeriodTime }}"
|
@ -1,11 +1,11 @@
|
||||
{{- $name := include "ordering-backgroundtasks.fullname" . -}}
|
||||
{{- $cfgname := printf "%s-%s" "cfg" $name -}}
|
||||
{{- $cfgname := printf "cfg-%s" $name | trunc 63 }}
|
||||
|
||||
apiVersion: apps/v1beta2
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "ordering-backgroundtasks.fullname" . }}
|
||||
labels:
|
||||
ufo: {{ $cfgname}}
|
||||
app: {{ template "ordering-backgroundtasks.name" . }}
|
||||
chart: {{ template "ordering-backgroundtasks.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
|
@ -12,7 +12,7 @@ metadata:
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||
signalr__StoreConnectionString: {{ .Values.inf.redis.keystore.constr }}
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
@ -11,5 +11,5 @@ metadata:
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -16,5 +16,5 @@ data:
|
||||
urls__IdentityUrl: http://{{ $identity }}
|
||||
urls__IdentityUrlExternal: http://{{ $identity }}
|
||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -1,5 +1,6 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.webhooks }}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@ -23,11 +24,13 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.inf.k8s.dns }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ .Values.app.svc.webhooks }}
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -2,7 +2,6 @@
|
||||
{{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}}
|
||||
{{- $webshoppingapigw := include "url-of" (list .Values.app.ingress.entries.webshoppingapigw .) -}}
|
||||
{{- $mvc := include "url-of" (list .Values.app.ingress.entries.mvc .) -}}
|
||||
{{- $mongo := include "mongo-name" . -}}
|
||||
|
||||
|
||||
apiVersion: v1
|
||||
@ -15,7 +14,7 @@ metadata:
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
webmvc__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.mvc -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@ -23,11 +24,13 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .Values.inf.k8s.dns }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ .Values.app.svc.mvc }}
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -10,7 +10,7 @@ metadata:
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
webshoppingagg__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
internalurls__basket: http://{{ .Values.app.svc.basket }}
|
||||
|
36
k8s/helm/webshoppingagg/templates/ingress.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $ingressPath := include "pathBase" . -}}
|
||||
{{- $serviceName := .Values.app.svc.webshoppingagg }}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "webshoppingagg.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "webshoppingagg.name" . }}
|
||||
chart: {{ template "webshoppingagg.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
- {{ .Values.inf.k8s.dns }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $serviceName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -16,7 +16,7 @@ metadata:
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
webspa__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
internalurls__apigwws: http://{{ .Values.app.svc.webshoppingapigw }}
|
||||
|
@ -15,7 +15,7 @@ metadata:
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
data:
|
||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
||||
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||
webstatus__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||
|
1
restore-packages.cmd
Normal file
@ -0,0 +1 @@
|
||||
for /R %%f in (*.csproj) do dotnet restore --no-dependencies %%f
|
@ -1,6 +1,6 @@
|
||||
$startTime = $(Get-Date)
|
||||
|
||||
docker-compose build
|
||||
docker-compose build --build-arg RUN=scripts/restore-packages
|
||||
|
||||
$elapsedTime = $(Get-Date) - $startTime
|
||||
|
||||
|
1
scripts/restore-packages
Normal file
@ -0,0 +1 @@
|
||||
echo RESTORING ALL PACKAGES...; for f in /src/csproj-files/*.csproj; do dotnet restore $f; done
|
1
scripts/restore-packages.cmd
Normal file
@ -0,0 +1 @@
|
||||
for %%p in (csproj-files\*.csproj) do dotnet restore %%p
|