Minor issues fixed

Use current branch as tag
This commit is contained in:
Eduard Tomas 2017-06-19 19:01:00 +02:00
parent 703d02d590
commit 018f6e9342
8 changed files with 103 additions and 51 deletions

View File

@ -0,0 +1,11 @@
Param([string] $imageTag)
$scriptPath = Split-Path $script:MyInvocation.MyCommand.Path
if ([string]::IsNullOrEmpty($imageTag)) {
$imageTag = $(git rev-parse --abbrev-ref HEAD)
}
Write-Host "Building images with tag $imageTag" -ForegroundColor Yellow
$env:TAG=$imageTag
docker-compose -f "$scriptPath\..\docker-compose.yml" build

View File

@ -2,7 +2,7 @@ version: '2.1'
services: services:
basket.api: basket.api:
image: eshop/basket.api-win image: eshop/basket.api-win:${TAG:-latest}
build: build:
context: ./src/Services/Basket/Basket.API context: ./src/Services/Basket/Basket.API
dockerfile: Dockerfile.nanowin dockerfile: Dockerfile.nanowin
@ -11,7 +11,7 @@ services:
- identity.api - identity.api
catalog.api: catalog.api:
image: eshop/catalog.api-win image: eshop/catalog.api-win:${TAG:-latest}
build: build:
context: ./src/Services/Catalog/Catalog.API context: ./src/Services/Catalog/Catalog.API
dockerfile: Dockerfile.nanowin dockerfile: Dockerfile.nanowin
@ -19,7 +19,7 @@ services:
- sql.data - sql.data
identity.api: identity.api:
image: eshop/identity.api-win image: eshop/identity.api-win:${TAG:-latest}
build: build:
context: ./src/Services/Identity/Identity.API context: ./src/Services/Identity/Identity.API
dockerfile: Dockerfile.nanowin dockerfile: Dockerfile.nanowin
@ -27,7 +27,7 @@ services:
- sql.data - sql.data
ordering.api: ordering.api:
image: eshop/ordering.api-win image: eshop/ordering.api-win:${TAG:-latest}
build: build:
context: ./src/Services/Ordering/Ordering.API context: ./src/Services/Ordering/Ordering.API
dockerfile: Dockerfile.nanowin dockerfile: Dockerfile.nanowin
@ -35,7 +35,7 @@ services:
- sql.data - sql.data
webspa: webspa:
image: eshop/webspa-win image: eshop/webspa-win:${TAG:-latest}
build: build:
context: ./src/Web/WebSPA context: ./src/Web/WebSPA
dockerfile: Dockerfile.nanowin dockerfile: Dockerfile.nanowin
@ -44,7 +44,7 @@ services:
- basket.api - basket.api
webmvc: webmvc:
image: eshop/webmvc-win image: eshop/webmvc-win:${TAG:-latest}
build: build:
context: ./src/Web/WebMVC context: ./src/Web/WebMVC
dockerfile: Dockerfile.nanowin dockerfile: Dockerfile.nanowin
@ -55,7 +55,7 @@ services:
- basket.api - basket.api
locations.api: locations.api:
image: locations.api image: eshop/locations.api:${TAG:-latest}
build: build:
context: ./src/Services/Location/Locations.API context: ./src/Services/Location/Locations.API
dockerfile: Dockerfile dockerfile: Dockerfile
@ -64,7 +64,7 @@ services:
- rabbitmq - rabbitmq
marketing.api: marketing.api:
image: eshop/marketing.api image: eshop/marketing.api:${TAG:-latest}
build: build:
context: ./src/Services/Marketing/Marketing.API context: ./src/Services/Marketing/Marketing.API
dockerfile: Dockerfile dockerfile: Dockerfile

View File

@ -1,9 +1,8 @@
version: '2' version: '3'
services: services:
graceperiodmanager: graceperiodmanager:
image: eshop/graceperiodmanager image: eshop/graceperiodmanager:${TAG:-latest}
build: build:
context: ./src/Services/GracePeriod/GracePeriodManager context: ./src/Services/GracePeriod/GracePeriodManager
dockerfile: Dockerfile dockerfile: Dockerfile
@ -12,7 +11,7 @@ services:
- rabbitmq - rabbitmq
basket.api: basket.api:
image: eshop/basket.api image: eshop/basket.api:${TAG:-latest}
build: build:
context: ./src/Services/Basket/Basket.API context: ./src/Services/Basket/Basket.API
dockerfile: Dockerfile dockerfile: Dockerfile
@ -21,7 +20,7 @@ services:
- identity.api - identity.api
catalog.api: catalog.api:
image: eshop/catalog.api image: eshop/catalog.api:${TAG:-latest}
build: build:
context: ./src/Services/Catalog/Catalog.API context: ./src/Services/Catalog/Catalog.API
dockerfile: Dockerfile dockerfile: Dockerfile
@ -30,7 +29,7 @@ services:
- rabbitmq - rabbitmq
identity.api: identity.api:
image: eshop/identity.api image: eshop/identity.api:${TAG:-latest}
build: build:
context: ./src/Services/Identity/Identity.API context: ./src/Services/Identity/Identity.API
dockerfile: Dockerfile dockerfile: Dockerfile
@ -38,7 +37,7 @@ services:
- sql.data - sql.data
ordering.api: ordering.api:
image: eshop/ordering.api image: eshop/ordering.api:${TAG:-latest}
build: build:
context: ./src/Services/Ordering/Ordering.API context: ./src/Services/Ordering/Ordering.API
dockerfile: Dockerfile dockerfile: Dockerfile
@ -47,7 +46,7 @@ services:
- rabbitmq - rabbitmq
marketing.api: marketing.api:
image: eshop/marketing.api image: eshop/marketing.api:${TAG:-latest}
build: build:
context: ./src/Services/Marketing/Marketing.API context: ./src/Services/Marketing/Marketing.API
dockerfile: Dockerfile dockerfile: Dockerfile
@ -58,7 +57,7 @@ services:
- rabbitmq - rabbitmq
webspa: webspa:
image: eshop/webspa image: eshop/webspa:${TAG:-latest}
build: build:
context: ./src/Web/WebSPA context: ./src/Web/WebSPA
dockerfile: Dockerfile dockerfile: Dockerfile
@ -67,7 +66,7 @@ services:
- basket.api - basket.api
webmvc: webmvc:
image: eshop/webmvc image: eshop/webmvc:${TAG:-latest}
build: build:
context: ./src/Web/WebMVC context: ./src/Web/WebMVC
dockerfile: Dockerfile dockerfile: Dockerfile
@ -94,13 +93,13 @@ services:
- "5672:5672" - "5672:5672"
webstatus: webstatus:
image: eshop/webstatus image: eshop/webstatus:${TAG:-latest}
build: build:
context: ./src/Web/WebStatus context: ./src/Web/WebStatus
dockerfile: Dockerfile dockerfile: Dockerfile
payment.api: payment.api:
image: eshop/payment.api image: eshop/payment.api:${TAG:-latest}
build: build:
context: ./src/Services/Payment/Payment.API context: ./src/Services/Payment/Payment.API
dockerfile: Dockerfile dockerfile: Dockerfile
@ -108,7 +107,7 @@ services:
- rabbitmq - rabbitmq
locations.api: locations.api:
image: eshop/locations.api image: eshop/locations.api:${TAG:-latest}
build: build:
context: ./src/Services/Location/Locations.API context: ./src/Services/Location/Locations.API
dockerfile: Dockerfile dockerfile: Dockerfile

View File

@ -7,10 +7,17 @@ Param(
[parameter(Mandatory=$false)][string]$execPath, [parameter(Mandatory=$false)][string]$execPath,
[parameter(Mandatory=$false)][string]$kubeconfigPath, [parameter(Mandatory=$false)][string]$kubeconfigPath,
[parameter(Mandatory=$true)][string]$configFile, [parameter(Mandatory=$true)][string]$configFile,
[parameter(Mandatory=$false)][string]$imageTag,
[parameter(Mandatory=$false)][bool]$deployInfrastructure=$true [parameter(Mandatory=$false)][bool]$deployInfrastructure=$true
) )
$debugMode = $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent $debugMode = $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent
if ([string]::IsNullOrEmpty($imageTag)) {
$imageTag = $(git rev-parse --abbrev-ref HEAD)
}
Write-Host "Docker image Tag: $imageTag" -ForegroundColor Yellow
function ExecKube($cmd) { function ExecKube($cmd) {
if($deployCI) { if($deployCI) {
$kubeconfig = $kubeconfigPath + 'config'; $kubeconfig = $kubeconfigPath + 'config';
@ -27,10 +34,10 @@ function ExecKube($cmd) {
$config = Get-Content -Raw -Path $configFile | ConvertFrom-Json $config = Get-Content -Raw -Path $configFile | ConvertFrom-Json
if ($debugMode) { if ($debugMode) {
Write-Host "Using following JSON config: " Write-Host "Using following JSON config: " -ForegroundColor Yellow
$json = ConvertTo-Json $config -Depth 5 $json = ConvertTo-Json $config -Depth 5
Write-Host $json Write-Host $json
Write-Host "Press a key " Write-Host "Press a key " -ForegroundColor Yellow
[System.Console]::Read() [System.Console]::Read()
} }
@ -90,14 +97,15 @@ if(-not $deployCI) {
dotnet restore ../eShopOnContainers-ServicesAndWebApps.sln dotnet restore ../eShopOnContainers-ServicesAndWebApps.sln
dotnet publish -c Release -o obj/Docker/publish ../eShopOnContainers-ServicesAndWebApps.sln dotnet publish -c Release -o obj/Docker/publish ../eShopOnContainers-ServicesAndWebApps.sln
Write-Host "Building Docker images..." -ForegroundColor Yellow Write-Host "Building Docker images." -ForegroundColor Yellow
$env:TAG=$imageTag
docker-compose -p .. -f ../docker-compose.yml build docker-compose -p .. -f ../docker-compose.yml build
Write-Host "Pushing images to $registry..." -ForegroundColor Yellow Write-Host "Pushing images to $registry..." -ForegroundColor Yellow
$services = ("basket.api", "catalog.api", "identity.api", "ordering.api", "webmvc", "webspa", "webstatus") $services = ("basket.api", "catalog.api", "identity.api", "ordering.api", "marketing.api","payment.api","locations.api", "webmvc", "webspa", "webstatus")
foreach ($service in $services) { foreach ($service in $services) {
docker tag eshop/$service $registry/eshop/$service docker tag eshop/${service}:$imageTag $registry/eshop/${service}:$imageTag
docker push $registry/eshop/$service docker push $registry/eshop/${service}:$imageTag
} }
} }
@ -142,7 +150,7 @@ ExecKube -cmd 'create configmap externalcfg `
--from-literal=MarketingSqlDb=$($config.sql.marketing) ` --from-literal=MarketingSqlDb=$($config.sql.marketing) `
--from-literal=LocationsNoSqlDb=$($config.nosql.locations.constr) ` --from-literal=LocationsNoSqlDb=$($config.nosql.locations.constr) `
--from-literal=LocationsNoSqlDbName=$($config.nosql.locations.db) ` --from-literal=LocationsNoSqlDbName=$($config.nosql.locations.db) `
--from-literal=MarketingsNoSqlDb=$($config.nosql.marketing.constr) ` --from-literal=MarketingNoSqlDb=$($config.nosql.marketing.constr) `
--from-literal=MarketingNoSqlDbName=$($config.nosql.marketing.db) ` --from-literal=MarketingNoSqlDbName=$($config.nosql.marketing.db) `
--from-literal=BasketRedisConStr=$($config.redis.basket) ` --from-literal=BasketRedisConStr=$($config.redis.basket) `
--from-literal=LocationsBus=$($config.servicebus.locations) ` --from-literal=LocationsBus=$($config.servicebus.locations) `
@ -150,7 +158,9 @@ ExecKube -cmd 'create configmap externalcfg `
--from-literal=BasketBus=$($config.servicebus.basket) ` --from-literal=BasketBus=$($config.servicebus.basket) `
--from-literal=OrderingBus=$($config.servicebus.ordering) ` --from-literal=OrderingBus=$($config.servicebus.ordering) `
--from-literal=CatalogBus=$($config.servicebus.catalog) ` --from-literal=CatalogBus=$($config.servicebus.catalog) `
--from-literal=PaymentBus=$($config.servicebus.payment) ' --from-literal=PaymentBus=$($config.servicebus.payment) `
--from-literal=UseAzureServiceBus=$($config.servicebus.use_azure) `
--from-literal=keystore=$($config.redis.keystore) '
ExecKube -cmd 'label configmap externalcfg app=eshop' ExecKube -cmd 'label configmap externalcfg app=eshop'
@ -164,13 +174,16 @@ if(-not $deployCI) {
# update deployments with the private registry before k8s tries to pull images # update deployments with the private registry before k8s tries to pull images
# (deployment templating, or Helm, would obviate this) # (deployment templating, or Helm, would obviate this)
Write-Host "Update Image containers..." -ForegroundColor Yellow Write-Host "Update Image containers..." -ForegroundColor Yellow
ExecKube -cmd 'set image deployments/basket basket=$registry/eshop/basket.api' ExecKube -cmd 'set image deployments/basket basket=$registry/eshop/basket.api:$imageTag'
ExecKube -cmd 'set image deployments/catalog catalog=$registry/eshop/catalog.api' ExecKube -cmd 'set image deployments/catalog catalog=$registry/eshop/catalog.api:$imageTag'
ExecKube -cmd 'set image deployments/identity identity=$registry/eshop/identity.api' ExecKube -cmd 'set image deployments/identity identity=$registry/eshop/identity.api:$imageTag'
ExecKube -cmd 'set image deployments/ordering ordering=$registry/eshop/ordering.api' ExecKube -cmd 'set image deployments/ordering ordering=$registry/eshop/ordering.api:$imageTag'
ExecKube -cmd 'set image deployments/webmvc webmvc=$registry/eshop/webmvc' ExecKube -cmd 'set image deployments/marketing marketing=$registry/eshop/marketing.api:$imageTag'
ExecKube -cmd 'set image deployments/webstatus webstatus=$registry/eshop/webstatus' ExecKube -cmd 'set image deployments/locations locations=$registry/eshop/locations.api:$imageTag'
ExecKube -cmd 'set image deployments/webspa webspa=$registry/eshop/webspa' ExecKube -cmd 'set image deployments/payment payment=$registry/eshop/payment.api:$imageTag'
ExecKube -cmd 'set image deployments/webmvc webmvc=$registry/eshop/webmvc:$imageTag'
ExecKube -cmd 'set image deployments/webstatus webstatus=$registry/eshop/webstatus:$imageTag'
ExecKube -cmd 'set image deployments/webspa webspa=$registry/eshop/webspa:$imageTag'
} }
Write-Host "Execute rollout..." -ForegroundColor Yellow Write-Host "Execute rollout..." -ForegroundColor Yellow
@ -178,6 +191,9 @@ ExecKube -cmd 'rollout resume deployments/basket'
ExecKube -cmd 'rollout resume deployments/catalog' ExecKube -cmd 'rollout resume deployments/catalog'
ExecKube -cmd 'rollout resume deployments/identity' ExecKube -cmd 'rollout resume deployments/identity'
ExecKube -cmd 'rollout resume deployments/ordering' ExecKube -cmd 'rollout resume deployments/ordering'
ExecKube -cmd 'rollout resume deployments/marketing'
ExecKube -cmd 'rollout resume deployments/locations'
ExecKube -cmd 'rollout resume deployments/payment'
ExecKube -cmd 'rollout resume deployments/webmvc' ExecKube -cmd 'rollout resume deployments/webmvc'
ExecKube -cmd 'rollout resume deployments/webstatus' ExecKube -cmd 'rollout resume deployments/webstatus'
ExecKube -cmd 'rollout resume deployments/webspa' ExecKube -cmd 'rollout resume deployments/webspa'

View File

@ -28,7 +28,10 @@ spec:
name: externalcfg name: externalcfg
key: BasketBus key: BasketBus
- name: AzureServiceBusEnabled - name: AzureServiceBusEnabled
value: "true" valueFrom:
configMapKeyRef:
name: externalcfg
key: UseAzureServiceBus
- name: IdentityUrl - name: IdentityUrl
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -103,7 +106,10 @@ spec:
name: externalcfg name: externalcfg
key: IdentitySqlDb key: IdentitySqlDb
- name: DPConnectionString - name: DPConnectionString
value: keystore-data valueFrom:
configMapKeyRef:
name: externalcfg
key: keystore
- name: IsClusterEnv - name: IsClusterEnv
value: 'True' value: 'True'
- name: MvcClient - name: MvcClient
@ -151,7 +157,10 @@ spec:
name: externalcfg name: externalcfg
key: OrderingBus key: OrderingBus
- name: AzureServiceBusEnabled - name: AzureServiceBusEnabled
value: "true" valueFrom:
configMapKeyRef:
name: externalcfg
key: UseAzureServiceBus
- name: IdentityUrl - name: IdentityUrl
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -192,7 +201,10 @@ spec:
name: externalcfg name: externalcfg
key: LocationsNoSqlDbName key: LocationsNoSqlDbName
- name: AzureServiceBusEnabled - name: AzureServiceBusEnabled
value: "true" valueFrom:
configMapKeyRef:
name: externalcfg
key: UseAzureServiceBus
- name: EventBusConnection - name: EventBusConnection
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -243,7 +255,10 @@ spec:
name: externalcfg name: externalcfg
key: MarketingNoSqlDbName key: MarketingNoSqlDbName
- name: AzureServiceBusEnabled - name: AzureServiceBusEnabled
value: "true" valueFrom:
configMapKeyRef:
name: externalcfg
key: UseAzureServiceBus
- name: EventBusConnection - name: EventBusConnection
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -279,7 +294,10 @@ spec:
- name: ASPNETCORE_URLS - name: ASPNETCORE_URLS
value: http://0.0.0.0:80/payment-api value: http://0.0.0.0:80/payment-api
- name: AzureServiceBusEnabled - name: AzureServiceBusEnabled
value: ·true" valueFrom:
configMapKeyRef:
name: externalcfg
key: UseAzureServiceBus
- name: EventBusConnection - name: EventBusConnection
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -310,7 +328,10 @@ spec:
- name: ASPNETCORE_URLS - name: ASPNETCORE_URLS
value: http://0.0.0.0:80/webmvc value: http://0.0.0.0:80/webmvc
- name: DPConnectionString - name: DPConnectionString
value: keystore-data valueFrom:
configMapKeyRef:
name: externalcfg
key: keystore
- name: IsClusterEnv - name: IsClusterEnv
value: 'True' value: 'True'
- name: BasketUrl - name: BasketUrl
@ -417,7 +438,10 @@ spec:
- name: ASPNETCORE_URLS - name: ASPNETCORE_URLS
value: http://0.0.0.0:80 value: http://0.0.0.0:80
- name: DPConnectionString - name: DPConnectionString
value: keystore-data valueFrom:
configMapKeyRef:
name: externalcfg
key: keystore
- name: IsClusterEnv - name: IsClusterEnv
value: 'True' value: 'True'
- name: BasketUrl - name: BasketUrl

View File

@ -3,22 +3,24 @@
"catalog": "Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word;", "catalog": "Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word;",
"identity":"Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.IdentityDb;User Id=sa;Password=Pass@word;", "identity":"Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.IdentityDb;User Id=sa;Password=Pass@word;",
"ordering":"Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;", "ordering":"Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;",
"marketing":"Server=sql.data;Initial Catalog=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=sa;Password=Pass@word;" "marketing":"Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=sa;Password=Pass@word;"
}, },
"nosql": { "nosql": {
"locations": { "locations": {
"constr": "mongodb://nosql.data", "constr": "mongodb://nosql-data",
"db": "LocationsDb" "db": "LocationsDb"
}, },
"marketing": { "marketing": {
"constr": "mongodb://nosql.data", "constr": "mongodb://nosql-data",
"db": "MarketingDb" "db": "MarketingDb"
} }
}, },
"redis": { "redis": {
"basket" : "basket.data" "basket" : "basket-data",
"keystore": "keystore-data"
}, },
"servicebus": { "servicebus": {
"use_azure": false,
"ordering": "rabbitmq", "ordering": "rabbitmq",
"marketing": "rabbitmq", "marketing": "rabbitmq",
"locations": "rabbitmq", "locations": "rabbitmq",

View File

@ -24,7 +24,7 @@ spec:
component: nosql-data component: nosql-data
spec: spec:
containers: containers:
- name: nosql.data - name: nosql-data
image: mongo image: mongo
ports: ports:
- containerPort: 27017 - containerPort: 27017

File diff suppressed because one or more lines are too long