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
|
LocationsApiHostName: locationsapi.$(OpenShiftProject).svc
|
||||||
LocationsApiUrl: http://$(LocationsApiHostName):8080
|
LocationsApiUrl: http://$(LocationsApiHostName):8080
|
||||||
LocationsApiHc: $(LocationsApiUrl)/hc
|
LocationsApiHc: $(LocationsApiUrl)/hc
|
||||||
|
LocationsDbName: LocationsDb
|
||||||
CampaignDetailFunctionUri:
|
CampaignDetailFunctionUri:
|
||||||
MarketingApiHostName: marketingapi.$(OpenShiftProject).svc
|
MarketingApiHostName: marketingapi.$(OpenShiftProject).svc
|
||||||
MarketingApiUrl: http://$(MarketingApiHostName):8080
|
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