Added Locations API deploy template and pipeline
This commit is contained in:
parent
772dff2c21
commit
1f23fae470
@ -19,6 +19,7 @@ variables:
|
||||
LocationsApiHostName: locationsapi.$(OpenShiftProject).svc
|
||||
LocationsApiUrl: http://$(LocationsApiHostName):8080
|
||||
LocationsApiHc: $(LocationsApiUrl)/hc
|
||||
LocationsDbName: LocationsDb
|
||||
CampaignDetailFunctionUri:
|
||||
MarketingApiHostName: marketingapi.$(OpenShiftProject).svc
|
||||
MarketingApiUrl: http://$(MarketingApiHostName):8080
|
||||
|
37
deploy/aro/locations-api/azure-pipelines.yml
Normal file
37
deploy/aro/locations-api/azure-pipelines.yml
Normal file
@ -0,0 +1,37 @@
|
||||
variables:
|
||||
OpenShiftServiceConnection: 'OpenShift on ARO'
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- dev
|
||||
paths:
|
||||
include:
|
||||
- deploy/aro/basket-api/*
|
||||
- deploy/aro/openshift-templates/*
|
||||
stages:
|
||||
- stage: development
|
||||
displayName: Development
|
||||
variables:
|
||||
OpenShiftProject: development
|
||||
SourceImageRegistryProjectName: development
|
||||
EnvironmentName: dev
|
||||
IdentityPublicHostName: identity$(EnvironmentName)
|
||||
jobs:
|
||||
- job: LocationsApiDeployment
|
||||
displayName: 'Locations API 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/locationsapi-deploy-template.yml -p IMAGE_REGISTRY_PROJECT_NAME=$(SourceImageRegistryProjectName) -p MONGO_DB_CONNECTION_STRING=$(MongoConnectionString) -p LOCATIONS_DB_NAME=$(LocationsDbName) -p IDENTITY_URL_EXTERNAL=$(IdentityUrlExternal) -p IDENTITY_URL=$(IdentityApiUrl) -p RABBITMQ_HOSTNAME=$(RabbitMqHostname) | oc apply -f-'
|
||||
failOnStderr: true
|
||||
displayName: 'Ensure Locations API OpenShift DeploymentConfig and Service'
|
120
deploy/aro/openshift-templates/locationsapi-deploy-template.yml
Normal file
120
deploy/aro/openshift-templates/locationsapi-deploy-template.yml
Normal file
@ -0,0 +1,120 @@
|
||||
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: ConnectionString
|
||||
value: ${MONGO_DB_CONNECTION_STRING}
|
||||
- name: Database
|
||||
value: ${LOCATIONS_DB_NAME}
|
||||
- name: IdentityUrl
|
||||
value: ${IDENTITY_URL}
|
||||
- name: IdentityUrlExternal
|
||||
value: ${IDENTITY_URL_EXTERNAL}
|
||||
- name: EventBusConnection
|
||||
value: ${RABBITMQ_HOSTNAME}
|
||||
- name: PATH_BASE
|
||||
value: /locations-api
|
||||
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: locationsapi
|
||||
- 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: locationsapi-deploy-template
|
||||
- description: The connection string to the MongoDB Marketing database
|
||||
displayName: MongoDB Connection String
|
||||
name: MONGO_DB_CONNECTION_STRING
|
||||
required: true
|
||||
- description: The Locations database name
|
||||
displayName: Locations Database Name
|
||||
name: LOCATIONS_DB_NAME
|
||||
required: true
|
||||
- description: The cluster internal URL of the Identity endpoint
|
||||
displayName: Identity URL
|
||||
name: IDENTITY_URL
|
||||
required: true
|
||||
- description: The external URL of the Identity endpoint
|
||||
displayName: Identity URL External
|
||||
name: IDENTITY_URL_EXTERNAL
|
||||
required: true
|
||||
- description: The hostname of the RabbitMQ service
|
||||
displayName: RabbitMQ Hostname
|
||||
name: RABBITMQ_HOSTNAME
|
||||
required: true
|
Loading…
x
Reference in New Issue
Block a user