40 changed files with 1019 additions and 47 deletions
@ -1,58 +1,85 @@ |
|||
param ($version='1.0') |
|||
param ($version='latest') |
|||
|
|||
$currentFolder = $PSScriptRoot |
|||
$slnFolder = Join-Path $currentFolder "../" |
|||
# Apps |
|||
$webAppFolder = Join-Path $slnFolder "apps/angular" |
|||
$authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer" |
|||
$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb" |
|||
|
|||
# Gateways |
|||
$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway" |
|||
$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway" |
|||
|
|||
# Microservices |
|||
$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host" |
|||
$administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host" |
|||
$basketServiceFolder = Join-Path $slnFolder "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host" |
|||
$catalogServiceFolder = Join-Path $slnFolder "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host" |
|||
$paymentServiceFolder = Join-Path $slnFolder "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host" |
|||
$orderingServiceFolder = Join-Path $slnFolder "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host" |
|||
|
|||
$total = 11 |
|||
|
|||
Write-Host "===== BUILDING APPLICATIONS =====" -ForegroundColor Yellow |
|||
|
|||
### Angular WEB App |
|||
Write-Host "*** BUILDING ANGULAR WEB APPLICATION 1/7 ***" -ForegroundColor Green |
|||
Write-Host "*** BUILDING ANGULAR WEB APPLICATION 1/$total ***" -ForegroundColor Green |
|||
Set-Location $webAppFolder |
|||
docker build -f "$webAppFolder/Dockerfile" -t eshoponabp/app-web:$version . |
|||
|
|||
### AUTH-SERVER |
|||
Write-Host "**************** BUILDING AUTH-SERVER 2/7 ****************" -ForegroundColor Green |
|||
Write-Host "**************** BUILDING AUTH-SERVER 2/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$authserverFolder/Dockerfile" -t eshoponabp/app-authserver:$version . |
|||
|
|||
### PUBLIC-WEB |
|||
Write-Host "**************** BUILDING WEB-PUBLIC 3/7 ****************" -ForegroundColor Green |
|||
Write-Host "**************** BUILDING WEB-PUBLIC 3/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$publicWebFolder/Dockerfile" -t eshoponabp/app-publicweb:$version . |
|||
|
|||
Write-Host "===== BUILDING GATEWAYS =====" -ForegroundColor Yellow |
|||
|
|||
### WEB-GATEWAY |
|||
Write-Host "**************** BUILDING WEB-GATEWAY 4/7 ****************" -ForegroundColor Green |
|||
Write-Host "**************** BUILDING WEB-GATEWAY 4/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$webGatewayFolder/Dockerfile" -t eshoponabp/gateway-web:$version . |
|||
|
|||
### PUBLICWEB-GATEWAY |
|||
Write-Host "**************** BUILDING WEB-PUBLIC-GATEWAY 5/7 ****************" -ForegroundColor Green |
|||
Write-Host "**************** BUILDING WEB-PUBLIC-GATEWAY 5/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$webPublicGatewayFolder/Dockerfile" -t eshoponabp/gateway-web-public:$version . |
|||
|
|||
Write-Host "===== BUILDING MICROSERVICES =====" -ForegroundColor Yellow |
|||
|
|||
### IDENTITY-SERVICE |
|||
Write-Host "**************** BUILDING IDENTITY-SERVICE 6/7 ****************" -ForegroundColor Green |
|||
Write-Host "**************** BUILDING IDENTITY-SERVICE 6/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$identityServiceFolder/Dockerfile" -t eshoponabp/service-identity:$version . |
|||
|
|||
### ADMINISTRATION-SERVICE |
|||
Write-Host "**************** BUILDING ADMINISTRATION-SERVICE 7/7 ****************" -ForegroundColor Green |
|||
Write-Host "**************** BUILDING ADMINISTRATION-SERVICE 7/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$administrationServiceFolder/Dockerfile" -t eshoponabp/service-administration:$version . |
|||
|
|||
### BASKET-SERVICE |
|||
Write-Host "**************** BUILDING BASKET-SERVICE 8/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$basketServiceFolder/Dockerfile" -t eshoponabp/service-basket:$version . |
|||
|
|||
### CATALOG-SERVICE |
|||
Write-Host "**************** BUILDING CATALOG-SERVICE 9/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$catalogServiceFolder/Dockerfile" -t eshoponabp/service-catalog:$version . |
|||
|
|||
### PAYMENT-SERVICE |
|||
Write-Host "**************** BUILDING PAYMENT-SERVICE 10/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$paymentServiceFolder/Dockerfile" -t eshoponabp/service-payment:$version . |
|||
|
|||
### ORDERING-SERVICE |
|||
Write-Host "**************** BUILDING ORDERING-SERVICE 11/$total ****************" -ForegroundColor Green |
|||
Set-Location $slnFolder |
|||
docker build -f "$orderingServiceFolder/Dockerfile" -t eshoponabp/service-ordering:$version . |
|||
|
|||
### ALL COMPLETED |
|||
Write-Host "ALL COMPLETED" -ForegroundColor Green |
|||
Set-Location $currentFolder |
|||
@ -0,0 +1,6 @@ |
|||
apiVersion: v2 |
|||
name: basket |
|||
appVersion: "1.0" |
|||
description: eShopOnAbp Basket Microservice |
|||
version: 1.0.0 |
|||
type: application |
|||
@ -0,0 +1,55 @@ |
|||
apiVersion: apps/v1 |
|||
kind: Deployment |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
selector: |
|||
matchLabels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
template: |
|||
metadata: |
|||
labels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
containers: |
|||
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
|||
imagePullPolicy: {{ .Values.image.pullPolicy }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
ports: |
|||
- name: http |
|||
containerPort: 80 |
|||
- name: https |
|||
containerPort: 443 |
|||
env: |
|||
- name: App__SelfUrl |
|||
value: "{{ .Values.config.selfUrl }}" |
|||
- name: App__CorsOrigins |
|||
value: "{{ .Values.config.corsOrigins }}" |
|||
- name: "ConnectionStrings__AdministrationService" |
|||
value: {{ .Values.config.connectionStrings.administrationService }} |
|||
- name: "DOTNET_ENVIRONMENT" |
|||
value: "{{ .Values.config.dotnetEnv }}" |
|||
- name: "Redis__Configuration" |
|||
value: "{{ .Values.config.redisHost }}" |
|||
- name: "RabbitMQ__Connections__Default__HostName" |
|||
value: "{{ .Values.config.rabbitmqHost }}" |
|||
- name: "ElasticSearch__Url" |
|||
value: "{{ .Values.config.elasticsearchHost }}" |
|||
- name: "AuthServer__Authority" |
|||
value: "{{ .Values.config.authServer.authority }}" |
|||
- name: "AuthServer__RequireHttpsMetadata" |
|||
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
|||
- name: "AuthServer__SwaggerClientId" |
|||
value: "{{ .Values.config.swaggerClientId }}" |
|||
- name: "AuthServer__SwaggerClientSecret" |
|||
value: "{{ .Values.config.swaggerClientSecret }}" |
|||
- name: "StringEncryption__DefaultPassPhrase" |
|||
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
|||
- name: "RemoteServices__Catalog__BaseUrl" |
|||
value: "{{ .Values.config.remoteServices.catalogBaseUrl }}" |
|||
- name: "RemoteServices__Catalog__GrpcUrl" |
|||
value: "{{ .Values.config.remoteServices.catalogGrpcUrl }}" |
|||
{{- if .Values.env }} |
|||
{{ toYaml .Values.env | indent 8 }} |
|||
{{- end }} |
|||
|
|||
@ -0,0 +1,27 @@ |
|||
apiVersion: networking.k8s.io/v1 |
|||
kind: Ingress |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
|||
annotations: |
|||
kubernetes.io/ingress.class: "nginx" |
|||
nginx.ingress.kubernetes.io/rewrite-target: / |
|||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
|||
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k |
|||
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" |
|||
cert-manager.io/cluster-issuer: letsencrypt |
|||
spec: |
|||
tls: |
|||
- hosts: |
|||
- {{ .Values.ingress.host }} |
|||
secretName: {{ .Values.ingress.tlsSecret }} |
|||
rules: |
|||
- host: "{{ .Values.ingress.host }}" |
|||
http: |
|||
paths: |
|||
- path: / |
|||
pathType: Prefix |
|||
backend: |
|||
service: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
port: |
|||
number: 80 |
|||
@ -0,0 +1,14 @@ |
|||
apiVersion: v1 |
|||
kind: Service |
|||
metadata: |
|||
labels: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
ports: |
|||
- name: "80" |
|||
port: 80 |
|||
- name: "443" |
|||
port: 443 |
|||
selector: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
@ -0,0 +1,30 @@ |
|||
config: |
|||
selfUrl: # https://eshop-st-basket |
|||
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-public |
|||
connectionStrings: |
|||
administrationService: # |
|||
authServer: |
|||
authority: http://eshop-st-authserver |
|||
requireHttpsMetadata: "false" |
|||
swaggerClientId: "WebGateway_Swagger" |
|||
swaggerClientSecret: "1q2w3e*" |
|||
dotnetEnv: Staging |
|||
redisHost: es-st-redis |
|||
rabbitmqHost: es-st-rabbitmq |
|||
elasticsearchHost: es-st-elasticsearch |
|||
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
|||
remoteServices: |
|||
catalogBaseUrl: # |
|||
catalogGrpcUrl: # |
|||
|
|||
ingress: |
|||
host: eshop-st-basket |
|||
tlsSecret: eshop-demo-tls |
|||
|
|||
image: |
|||
repository: eshoponabp/service-basket |
|||
tag: latest |
|||
pullPolicy: IfNotPresent |
|||
|
|||
env: {} |
|||
|
|||
@ -0,0 +1,6 @@ |
|||
apiVersion: v2 |
|||
name: catalog |
|||
appVersion: "1.0" |
|||
description: eShopOnAbp Catalog Microservice |
|||
version: 1.0.0 |
|||
type: application |
|||
@ -0,0 +1,64 @@ |
|||
apiVersion: apps/v1 |
|||
kind: Deployment |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
selector: |
|||
matchLabels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
template: |
|||
metadata: |
|||
labels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
containers: |
|||
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
|||
imagePullPolicy: {{ .Values.image.pullPolicy }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
ports: |
|||
- name: http |
|||
containerPort: 80 |
|||
- name: https |
|||
containerPort: 443 |
|||
- name: grpc |
|||
containerPort: 81 |
|||
protocol: TCP |
|||
env: |
|||
- name: App__SelfUrl |
|||
value: "{{ .Values.config.selfUrl }}" |
|||
- name: App__CorsOrigins |
|||
value: "{{ .Values.config.corsOrigins }}" |
|||
- name: "ConnectionStrings__CatalogService" |
|||
value: {{ .Values.config.connectionStrings.catalogService }} |
|||
- name: "ConnectionStrings__AdministrationService" |
|||
value: {{ .Values.config.connectionStrings.administrationService }} |
|||
- name: "DOTNET_ENVIRONMENT" |
|||
value: "{{ .Values.config.dotnetEnv }}" |
|||
- name: "Redis__Configuration" |
|||
value: "{{ .Values.config.redisHost }}" |
|||
- name: "RabbitMQ__Connections__Default__HostName" |
|||
value: "{{ .Values.config.rabbitmqHost }}" |
|||
- name: "ElasticSearch__Url" |
|||
value: "{{ .Values.config.elasticsearchHost }}" |
|||
- name: "AuthServer__Authority" |
|||
value: "{{ .Values.config.authServer.authority }}" |
|||
- name: "AuthServer__RequireHttpsMetadata" |
|||
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
|||
- name: "AuthServer__SwaggerClientId" |
|||
value: "{{ .Values.config.authServer.swaggerClientId }}" |
|||
- name: "AuthServer__SwaggerClientSecret" |
|||
value: "{{ .Values.config.authServer.swaggerClientSecret }}" |
|||
- name: "StringEncryption__DefaultPassPhrase" |
|||
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
|||
- name: "Kestrel__Endpoints__Http__Url" |
|||
value: "{{ .Values.config.kestrel.httpUrl }}" |
|||
- name: "Kestrel__Endpoints__Http__Protocols" |
|||
value: "{{ .Values.config.kestrel.httpProtocols }}" |
|||
- name: "Kestrel__Endpoints__gRPC__Url" |
|||
value: "{{ .Values.config.kestrel.grpcUrl }}" |
|||
- name: "Kestrel__Endpoints__gRPC__Protocols" |
|||
value: "{{ .Values.config.kestrel.grpcProtocols }}" |
|||
{{- if .Values.env }} |
|||
{{ toYaml .Values.env | indent 8 }} |
|||
{{- end }} |
|||
|
|||
@ -0,0 +1,27 @@ |
|||
apiVersion: networking.k8s.io/v1 |
|||
kind: Ingress |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
|||
annotations: |
|||
kubernetes.io/ingress.class: "nginx" |
|||
nginx.ingress.kubernetes.io/rewrite-target: / |
|||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
|||
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k |
|||
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" |
|||
cert-manager.io/cluster-issuer: letsencrypt |
|||
spec: |
|||
tls: |
|||
- hosts: |
|||
- {{ .Values.ingress.host }} |
|||
secretName: {{ .Values.ingress.tlsSecret }} |
|||
rules: |
|||
- host: "{{ .Values.ingress.host }}" |
|||
http: |
|||
paths: |
|||
- path: / |
|||
pathType: Prefix |
|||
backend: |
|||
service: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
port: |
|||
number: 80 |
|||
@ -0,0 +1,18 @@ |
|||
apiVersion: v1 |
|||
kind: Service |
|||
metadata: |
|||
labels: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
ports: |
|||
- name: "80" |
|||
port: 80 |
|||
- name: "443" |
|||
port: 443 |
|||
- port: {{ .Values.config.grpcPort }} |
|||
targetPort: grpc |
|||
protocol: TCP |
|||
name: grpc |
|||
selector: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
@ -0,0 +1,35 @@ |
|||
config: |
|||
selfUrl: # https://eshop-st-catalog |
|||
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-public,https://eshop-st-web |
|||
connectionStrings: |
|||
catalogService: # |
|||
administrationService: # |
|||
authServer: |
|||
authority: http://eshop-st-authserver |
|||
requireHttpsMetadata: "false" |
|||
swaggerClientId: WebGateway_Swagger |
|||
swaggerClientSecret: "1q2w3e*" |
|||
dotnetEnv: Staging |
|||
redisHost: es-st-redis |
|||
rabbitmqHost: es-st-rabbitmq |
|||
elasticsearchHost: es-st-elasticsearch |
|||
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
|||
grpcPort: 81 |
|||
kestrel: |
|||
httpUrl: # |
|||
httpProtocols: Http1AndHttp2 |
|||
grpcUrl: # |
|||
grpcProtocols: Http2 |
|||
|
|||
|
|||
ingress: |
|||
host: eshop-st-catalog |
|||
tlsSecret: eshop-demo-tls |
|||
|
|||
image: |
|||
repository: eshoponabp/service-catalog |
|||
tag: latest |
|||
pullPolicy: IfNotPresent |
|||
|
|||
env: {} |
|||
|
|||
@ -0,0 +1,6 @@ |
|||
apiVersion: v2 |
|||
name: ordering |
|||
appVersion: "1.0" |
|||
description: eShopOnAbp Ordering Microservice |
|||
version: 1.0.0 |
|||
type: application |
|||
@ -0,0 +1,53 @@ |
|||
apiVersion: apps/v1 |
|||
kind: Deployment |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
selector: |
|||
matchLabels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
template: |
|||
metadata: |
|||
labels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
containers: |
|||
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
|||
imagePullPolicy: {{ .Values.image.pullPolicy }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
ports: |
|||
- name: http |
|||
containerPort: 80 |
|||
- name: https |
|||
containerPort: 443 |
|||
env: |
|||
- name: App__SelfUrl |
|||
value: "{{ .Values.config.selfUrl }}" |
|||
- name: App__CorsOrigins |
|||
value: "{{ .Values.config.corsOrigins }}" |
|||
- name: "ConnectionStrings__OrderingService" |
|||
value: {{ .Values.config.connectionStrings.orderingService }} |
|||
- name: "ConnectionStrings__AdministrationService" |
|||
value: {{ .Values.config.connectionStrings.administrationService }} |
|||
- name: "DOTNET_ENVIRONMENT" |
|||
value: "{{ .Values.config.dotnetEnv }}" |
|||
- name: "Redis__Configuration" |
|||
value: "{{ .Values.config.redisHost }}" |
|||
- name: "RabbitMQ__Connections__Default__HostName" |
|||
value: "{{ .Values.config.rabbitmqHost }}" |
|||
- name: "ElasticSearch__Url" |
|||
value: "{{ .Values.config.elasticsearchHost }}" |
|||
- name: "AuthServer__Authority" |
|||
value: "{{ .Values.config.authServer.authority }}" |
|||
- name: "AuthServer__RequireHttpsMetadata" |
|||
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
|||
- name: "AuthServer__SwaggerClientId" |
|||
value: "{{ .Values.config.authServer.swaggerClientId }}" |
|||
- name: "AuthServer__SwaggerClientSecret" |
|||
value: "{{ .Values.config.authServer.swaggerClientSecret }}" |
|||
- name: "StringEncryption__DefaultPassPhrase" |
|||
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
|||
{{- if .Values.env }} |
|||
{{ toYaml .Values.env | indent 8 }} |
|||
{{- end }} |
|||
|
|||
@ -0,0 +1,27 @@ |
|||
apiVersion: networking.k8s.io/v1 |
|||
kind: Ingress |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
|||
annotations: |
|||
kubernetes.io/ingress.class: "nginx" |
|||
nginx.ingress.kubernetes.io/rewrite-target: / |
|||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
|||
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k |
|||
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" |
|||
cert-manager.io/cluster-issuer: letsencrypt |
|||
spec: |
|||
tls: |
|||
- hosts: |
|||
- {{ .Values.ingress.host }} |
|||
secretName: {{ .Values.ingress.tlsSecret }} |
|||
rules: |
|||
- host: "{{ .Values.ingress.host }}" |
|||
http: |
|||
paths: |
|||
- path: / |
|||
pathType: Prefix |
|||
backend: |
|||
service: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
port: |
|||
number: 80 |
|||
@ -0,0 +1,14 @@ |
|||
apiVersion: v1 |
|||
kind: Service |
|||
metadata: |
|||
labels: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
ports: |
|||
- name: "80" |
|||
port: 80 |
|||
- name: "443" |
|||
port: 443 |
|||
selector: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
@ -0,0 +1,28 @@ |
|||
config: |
|||
selfUrl: # https://eshop-st-ordering |
|||
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web |
|||
connectionStrings: |
|||
orderingService: # |
|||
administrationService: # |
|||
authServer: |
|||
authority: http://eshop-st-authserver |
|||
requireHttpsMetadata: "false" |
|||
swaggerClientId: WebGateway_Swagger |
|||
swaggerClientSecret: "1q2w3e*" |
|||
dotnetEnv: Staging |
|||
redisHost: es-st-redis |
|||
rabbitmqHost: es-st-rabbitmq |
|||
elasticsearchHost: es-st-elasticsearch |
|||
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
|||
|
|||
ingress: |
|||
host: eshop-st-ordering |
|||
tlsSecret: eshop-demo-tls |
|||
|
|||
image: |
|||
repository: eshoponabp/service-ordering |
|||
tag: latest |
|||
pullPolicy: IfNotPresent |
|||
|
|||
env: {} |
|||
|
|||
@ -0,0 +1,6 @@ |
|||
apiVersion: v2 |
|||
name: payment |
|||
appVersion: "1.0" |
|||
description: eShopOnAbp Payment Microservice |
|||
version: 1.0.0 |
|||
type: application |
|||
@ -0,0 +1,53 @@ |
|||
apiVersion: apps/v1 |
|||
kind: Deployment |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
selector: |
|||
matchLabels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
template: |
|||
metadata: |
|||
labels: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
containers: |
|||
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }} |
|||
imagePullPolicy: {{ .Values.image.pullPolicy }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
ports: |
|||
- name: http |
|||
containerPort: 80 |
|||
- name: https |
|||
containerPort: 443 |
|||
env: |
|||
- name: App__SelfUrl |
|||
value: "{{ .Values.config.selfUrl }}" |
|||
- name: App__CorsOrigins |
|||
value: "{{ .Values.config.corsOrigins }}" |
|||
- name: "ConnectionStrings__PaymentService" |
|||
value: {{ .Values.config.connectionStrings.paymentService }} |
|||
- name: "ConnectionStrings__AdministrationService" |
|||
value: {{ .Values.config.connectionStrings.administrationService }} |
|||
- name: "DOTNET_ENVIRONMENT" |
|||
value: "{{ .Values.config.dotnetEnv }}" |
|||
- name: "Redis__Configuration" |
|||
value: "{{ .Values.config.redisHost }}" |
|||
- name: "RabbitMQ__Connections__Default__HostName" |
|||
value: "{{ .Values.config.rabbitmqHost }}" |
|||
- name: "ElasticSearch__Url" |
|||
value: "{{ .Values.config.elasticsearchHost }}" |
|||
- name: "AuthServer__Authority" |
|||
value: "{{ .Values.config.authServer.authority }}" |
|||
- name: "AuthServer__RequireHttpsMetadata" |
|||
value: "{{ .Values.config.authServer.requireHttpsMetadata }}" |
|||
- name: "AuthServer__SwaggerClientId" |
|||
value: "{{ .Values.config.authServer.swaggerClientId }}" |
|||
- name: "AuthServer__SwaggerClientSecret" |
|||
value: "{{ .Values.config.authServer.swaggerClientSecret }}" |
|||
- name: "StringEncryption__DefaultPassPhrase" |
|||
value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}" |
|||
{{- if .Values.env }} |
|||
{{ toYaml .Values.env | indent 8 }} |
|||
{{- end }} |
|||
|
|||
@ -0,0 +1,27 @@ |
|||
apiVersion: networking.k8s.io/v1 |
|||
kind: Ingress |
|||
metadata: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress |
|||
annotations: |
|||
kubernetes.io/ingress.class: "nginx" |
|||
nginx.ingress.kubernetes.io/rewrite-target: / |
|||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" |
|||
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k |
|||
nginx.ingress.kubernetes.io/proxy-buffers-number: "8" |
|||
cert-manager.io/cluster-issuer: letsencrypt |
|||
spec: |
|||
tls: |
|||
- hosts: |
|||
- {{ .Values.ingress.host }} |
|||
secretName: {{ .Values.ingress.tlsSecret }} |
|||
rules: |
|||
- host: "{{ .Values.ingress.host }}" |
|||
http: |
|||
paths: |
|||
- path: / |
|||
pathType: Prefix |
|||
backend: |
|||
service: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
port: |
|||
number: 80 |
|||
@ -0,0 +1,14 @@ |
|||
apiVersion: v1 |
|||
kind: Service |
|||
metadata: |
|||
labels: |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
name: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
spec: |
|||
ports: |
|||
- name: "80" |
|||
port: 80 |
|||
- name: "443" |
|||
port: 443 |
|||
selector: |
|||
app: {{ .Release.Name }}-{{ .Chart.Name }} |
|||
@ -0,0 +1,28 @@ |
|||
config: |
|||
selfUrl: # https://eshop-st-payment |
|||
corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web |
|||
connectionStrings: |
|||
paymentService: # |
|||
administrationService: # |
|||
authServer: |
|||
authority: http://eshop-st-authserver |
|||
requireHttpsMetadata: "false" |
|||
swaggerClientId: WebGateway_Swagger |
|||
swaggerClientSecret: "1q2w3e*" |
|||
dotnetEnv: Staging |
|||
redisHost: es-st-redis |
|||
rabbitmqHost: es-st-rabbitmq |
|||
elasticsearchHost: es-st-elasticsearch |
|||
stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8 |
|||
|
|||
ingress: |
|||
host: eshop-st-payment |
|||
tlsSecret: eshop-demo-tls |
|||
|
|||
image: |
|||
repository: eshoponabp/service-payment |
|||
tag: latest |
|||
pullPolicy: IfNotPresent |
|||
|
|||
env: {} |
|||
|
|||
@ -0,0 +1,51 @@ |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
EXPOSE 443 |
|||
|
|||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
|||
WORKDIR /src |
|||
|
|||
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
|||
# to take advantage of Docker's build cache, to speed up local container builds |
|||
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
|||
|
|||
# Applications |
|||
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
|||
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
|||
|
|||
# Shared |
|||
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
|||
|
|||
# Microservices |
|||
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
|||
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
|||
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
|||
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
|||
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
|||
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
|||
|
|||
# Gateways |
|||
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
|||
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
|||
|
|||
COPY "NuGet.Config" "NuGet.Config" |
|||
|
|||
RUN dotnet restore "EShopOnAbp.sln" |
|||
COPY . . |
|||
|
|||
WORKDIR "/src/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host" |
|||
RUN dotnet publish -c Release -o /app |
|||
# Should be used after .net6 is out of preview for better performance |
|||
# RUN dotnet publish --no-restore -c Release -o /app |
|||
|
|||
FROM build AS publish |
|||
|
|||
FROM base AS final |
|||
WORKDIR /app |
|||
COPY --from=publish /app . |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.BasketService.HttpApi.Host.dll"] |
|||
@ -0,0 +1,51 @@ |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
EXPOSE 443 |
|||
|
|||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
|||
WORKDIR /src |
|||
|
|||
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
|||
# to take advantage of Docker's build cache, to speed up local container builds |
|||
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
|||
|
|||
# Applications |
|||
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
|||
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
|||
|
|||
# Shared |
|||
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
|||
|
|||
# Microservices |
|||
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
|||
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
|||
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
|||
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
|||
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
|||
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
|||
|
|||
# Gateways |
|||
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
|||
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
|||
|
|||
COPY "NuGet.Config" "NuGet.Config" |
|||
|
|||
RUN dotnet restore "EShopOnAbp.sln" |
|||
COPY . . |
|||
|
|||
WORKDIR "/src/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host" |
|||
RUN dotnet publish -c Release -o /app |
|||
# Should be used after .net6 is out of preview for better performance |
|||
# RUN dotnet publish --no-restore -c Release -o /app |
|||
|
|||
FROM build AS publish |
|||
|
|||
FROM base AS final |
|||
WORKDIR /app |
|||
COPY --from=publish /app . |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.CatalogService.HttpApi.Host.dll"] |
|||
@ -1,4 +1,4 @@ |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
|||
COPY bin/Release/net6.0/publish/ app/ |
|||
WORKDIR /app |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.CatalogService.HttpApi.Host.dll"] |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 |
|||
COPY bin/Release/net6.0/publish/ app/ |
|||
WORKDIR /app |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.CatalogService.HttpApi.Host.dll"] |
|||
@ -0,0 +1,51 @@ |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
EXPOSE 443 |
|||
|
|||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
|||
WORKDIR /src |
|||
|
|||
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
|||
# to take advantage of Docker's build cache, to speed up local container builds |
|||
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
|||
|
|||
# Applications |
|||
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
|||
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
|||
|
|||
# Shared |
|||
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
|||
|
|||
# Microservices |
|||
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
|||
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
|||
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
|||
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
|||
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
|||
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
|||
|
|||
# Gateways |
|||
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
|||
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
|||
|
|||
COPY "NuGet.Config" "NuGet.Config" |
|||
|
|||
RUN dotnet restore "EShopOnAbp.sln" |
|||
COPY . . |
|||
|
|||
WORKDIR "/src/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host" |
|||
RUN dotnet publish -c Release -o /app |
|||
# Should be used after .net6 is out of preview for better performance |
|||
# RUN dotnet publish --no-restore -c Release -o /app |
|||
|
|||
FROM build AS publish |
|||
|
|||
FROM base AS final |
|||
WORKDIR /app |
|||
COPY --from=publish /app . |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.OrderingService.HttpApi.Host.dll"] |
|||
@ -0,0 +1,51 @@ |
|||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base |
|||
WORKDIR /app |
|||
EXPOSE 80 |
|||
EXPOSE 443 |
|||
|
|||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build |
|||
WORKDIR /src |
|||
|
|||
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles |
|||
# to take advantage of Docker's build cache, to speed up local container builds |
|||
COPY "EShopOnAbp.sln" "EShopOnAbp.sln" |
|||
|
|||
# Applications |
|||
COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" |
|||
COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" |
|||
|
|||
# Shared |
|||
COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" |
|||
COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" |
|||
|
|||
# Microservices |
|||
COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" |
|||
COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" |
|||
COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" |
|||
COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" |
|||
COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" |
|||
COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" |
|||
|
|||
# Gateways |
|||
COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" |
|||
COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" |
|||
|
|||
COPY "NuGet.Config" "NuGet.Config" |
|||
|
|||
RUN dotnet restore "EShopOnAbp.sln" |
|||
COPY . . |
|||
|
|||
WORKDIR "/src/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host" |
|||
RUN dotnet publish -c Release -o /app |
|||
# Should be used after .net6 is out of preview for better performance |
|||
# RUN dotnet publish --no-restore -c Release -o /app |
|||
|
|||
FROM build AS publish |
|||
|
|||
FROM base AS final |
|||
WORKDIR /app |
|||
COPY --from=publish /app . |
|||
ENTRYPOINT ["dotnet", "EShopOnAbp.PaymentService.HttpApi.Host.dll"] |
|||
Loading…
Reference in new issue