Added the web shopping aggregator deploy template and deploy pipeline

This commit is contained in:
Tim McCarthy 2020-02-23 21:48:11 -08:00
parent 0d088c2898
commit 12f0bd7e38
2 changed files with 213 additions and 0 deletions

View File

@ -0,0 +1,178 @@
apiVersion: template.openshift.io/v1
kind: Template
metadata:
name: ${TEMPLATE_NAME}
objects:
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: ${APPLICATION_NAME}
template: ${TEMPLATE_NAME}
name: ${APPLICATION_NAME}
spec:
replicas: 1
selector:
app: ${APPLICATION_NAME}
deploymentconfig: ${APPLICATION_NAME}
strategy:
type: Rolling
revisionHistoryLimit: 2
template:
metadata:
labels:
app: ${APPLICATION_NAME}
deploymentconfig: ${APPLICATION_NAME}
spec:
containers:
- env:
- name: urls__basket
value: ${BASKET_API_URL}
- name: urls__catalog
value: ${CATALOG_API_URL}
- name: urls__orders
value: ${ORDERING_API_URL}
- name: urls__identity
value: ${IDENTITY_API_URL}
- name: urls__grpcBasket
value: ${BASKET_API_GRPC_URL}
- name: urls__grpcCatalog
value: ${CATALOG_API_GRPC_URL}
- name: urls__grpcOrdering
value: ${ORDERING_API_GRPC_URL}
- name: CatalogUrlHC
value: ${CATALOG_API_HC_URL}
- name: OrderingUrlHC
value: ${ORDERING_API_HC_URL}
- name: IdentityUrlHC
value: ${IDENTITY_API_HC_URL}
- name: BasketUrlHC
value: ${BASKET_API_HC_URL}
- name: MarketingUrlHC
value: ${MARKETING_API_HC_URL}
- name: PaymentUrlHC
value: ${PAYMENT_API_HC_URL}
- name: LocationUrlHC
value: ${LOCATION_API_HC_URL}
- name: IdentityUrlExternal
value: ${IDENTITY_URL_EXTERNAL}
image: docker-registry.default.svc:5000/${IMAGE_REGISTRY_PROJECT_NAME}/${APPLICATION_NAME}:latest
imagePullPolicy: Always
name: ${APPLICATION_NAME}
ports:
- containerPort: 8080
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- ${APPLICATION_NAME}
from:
kind: ImageStreamTag
name: ${APPLICATION_NAME}:latest
namespace: ${IMAGE_REGISTRY_PROJECT_NAME}
type: ImageChange
- apiVersion: v1
kind: Service
metadata:
labels:
app: ${APPLICATION_NAME}
template: ${TEMPLATE_NAME}
name: ${APPLICATION_NAME}
spec:
ports:
- name: 8080-tcp
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: ${APPLICATION_NAME}
deploymentconfig: ${APPLICATION_NAME}
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
parameters:
- description: The name for the application.
displayName: Application Name
name: APPLICATION_NAME
required: true
value: webshoppingagg
- description: The OpenShift project name that is hosting the image registry.
displayName: Image Registry Project Name
name: IMAGE_REGISTRY_PROJECT_NAME
required: true
- description: The template name.
displayName: Template Name
name: TEMPLATE_NAME
required: true
value: webshoppingagg-deploy-template
- description: The cluster internal URL of the Basket API endpoint
displayName: Basket API URL
name: BASKET_API_URL
required: true
- description: The cluster internal URL of the Catalog API endpoint
displayName: Catalog API URL
name: CATALOG_API_URL
required: true
- description: The cluster internal URL of the Ordering API endpoint
displayName: Ordering API URL
name: ORDERING_API_URL
required: true
- description: The cluster internal URL of the Identity API endpoint
displayName: Identity API URL
name: IDENTITY_API_URL
required: true
- description: The cluster internal URL of the GRPC Basket API endpoint
displayName: Basket API GROC URL
name: BASKET_API_GRPC_URL
required: true
- description: The cluster internal URL of the GRPC Catalog API endpoint
displayName: Catalog API GRPC URL
name: CATALOG_API_GRPC_URL
required: true
- description: The cluster internal URL of the GRPC Ordering API endpoint
displayName: Ordering API GRPC URL
name: ORDERING_API_GRPC_URL
required: true
- description: The cluster internal URL of the Catalog API Health Check endpoint
displayName: Catalog API Health Check URL
name: CATALOG_API_HC_URL
required: true
- description: The cluster internal URL of the Ordering API Health Check endpoint
displayName: Ordering API Health Check URL
name: ORDERING_API_HC_URL
required: true
- description: The cluster internal URL of the Identity API Health Check endpoint
displayName: Identity API Health Check URL
name: IDENTITY_API_HC_URL
required: true
- description: The cluster internal URL of the Basket API Health Check endpoint
displayName: Basket API Health Check URL
name: BASKET_API_HC_URL
required: true
- description: The cluster internal URL of the Marketing API Health Check endpoint
displayName: Marketing API Health Check URL
name: MARKETING_API_HC_URL
required: true
- description: The cluster internal URL of the Payment API Health Check endpoint
displayName: Payment API Health Check URL
name: PAYMENT_API_HC_URL
required: true
- description: The cluster internal URL of the Location API Health Check endpoint
displayName: Location API Health Check URL
name: LOCATION_API_HC_URL
required: true
- description: The external URL of the Identity endpoint
displayName: Identity URL External
name: IDENTITY_URL_EXTERNAL
required: true

View File

@ -0,0 +1,35 @@
variables:
OpenShiftServiceConnection: 'OpenShift on ARO'
trigger:
branches:
include:
- master
- dev
paths:
include:
- deploy/aro/webshoppingagg/*
- deploy/aro/openshift-templates/*
stages:
- stage: development
displayName: Development
variables:
OpenShiftProject: development
SourceImageRegistryProjectName: development
jobs:
- job: WebShoppingAggregatorDeployment
displayName: 'Web Shopping Aggregator Deployment'
variables:
- template: ../azure-devops-templates/variables.yml
pool:
vmImage: 'windows-latest'
steps:
- task: redhat.openshift-vsts.oc-setup-task.oc-setup@2
displayName: 'Setup Openshift CLI'
inputs:
openshiftService: $(OpenShiftServiceConnection)
- script: 'oc project $(OpenShiftProject)'
failOnStderr: true
displayName: 'Set OpenShift Project Context'
- script: 'oc process -f ./deploy/aro/openshift-templates/webshoppingagg-deploy-template.yml -p IMAGE_REGISTRY_PROJECT_NAME=$(SourceImageRegistryProjectName) -p BASKET_API_URL=$(BasketApiUrl) -p CATALOG_API_URL=$(CatalogApiUrl) -p ORDERING_API_URL=$(OrderingApiUrl) -p IDENTITY_API_URL=$(IdentityApiUrl) -p BASKET_API_GRPC_URL=$(BasketApiGrpcUrl) -p CATALOG_API_GRPC_URL=$(CatalogApiGrpcUrl) -p ORDERING_API_GRPC_URL=$(OrderingApiGrpcUrl) -p CATALOG_API_HC_URL=$(CatalogApiHc) -p ORDERING_API_HC_URL=$(OrderingApiGrpcUrl) -p IDENTITY_API_HC_URL=$(IdentityApiHc) -p BASKET_API_HC_URL=$(BasketApiHc) -p MARKETING_API_HC_URL=$(MarketingApiHc) -p PAYMENT_API_HC_URL=$(PaymentApiHc) -p LOCATION_API_HC_URL=$(LocationsApiHc) -p IDENTITY_URL_EXTERNAL=$(IdentityUrlExternal) | oc apply -f-'
failOnStderr: true
displayName: 'Ensure Web Shopping Aggregator OpenShift DeploymentConfig and Service'