@ -0,0 +1,39 @@ | |||
variables: | |||
OpenShiftServiceConnection: 'OpenShift on ARO' | |||
stages: | |||
- stage: development | |||
displayName: Development | |||
variables: | |||
OpenShiftProject: development | |||
SourceImageRegistryProjectName: development | |||
SqlHostName: mssql-server-linux.$(OpenShiftProject).svc | |||
jobs: | |||
- job: Infrastructure_Containers_Deployment | |||
displayName: 'Infrastructure Containers Deployment' | |||
variables: | |||
CatalogDbConnection: Server=$(SqlHostName);Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=$(SqlUsername);Password=$(SqlPassword) | |||
IdentityDbConnection: Server=$(SqlHostName);Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=$(SqlUsername);Password=$(SqlPassword) | |||
MarketingDbConnection: Server=$(SqlHostName);Database=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=$(SqlUsername);Password=$(SqlPassword) | |||
OrderingDbConnection: Server=$(SqlHostName);Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=$(SqlUsername);Password=$(SqlPassword) | |||
WebhooksDbConnection: Server=$(SqlHostName);Database=Microsoft.eShopOnContainers.Services.WebhooksDb;User Id=$(SqlUsername);Password=$(SqlPassword) | |||
pool: | |||
vmImage: 'windows-latest' | |||
steps: | |||
- task: AzureKeyVault@1 | |||
displayName: 'Azure Key Vault: openshift-demo-vault' | |||
inputs: | |||
azureSubscription: 'Azure OpenShift Demo' | |||
KeyVaultName: 'openshift-demo-vault' | |||
- 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/secrets-deploy-template.yml -p IDENTITY_DB_CONNECTION_SECRET=$(IdentityDbConnection) -p MARKETING_DB_CONNECTION_SECRET=$(MarketingDbConnection) -p ORDERING_DB_CONNECTION_SECRET=$(OrderingDbConnection) -p SQL_PASSWORD_SECRET=$(SqlPassword) -p WEBHOOKS_DB_CONNECTION_SECRET=$(WebhooksDbConnection) | oc apply -f-' | |||
failOnStderr: true | |||
displayName: 'Secrets Deployment' | |||
- script: 'oc process -f ./deploy/aro/openshift-templates/rabbitmq-image-deploy-template.yml -p APPLICATION_NAME=$(AppName) -p IMAGE_REGISTRY_PROJECT_NAME=$(SourceImageRegistryProjectName) | oc apply -f-' | |||
failOnStderr: true | |||
displayName: 'RabbitMQ Deployment' |
@ -0,0 +1,142 @@ | |||
apiVersion: template.openshift.io/v1 | |||
kind: Template | |||
metadata: | |||
name: ${TEMPLATE_NAME} | |||
objects: | |||
- apiVersion: apps.openshift.io/v1 | |||
kind: DeploymentConfig | |||
metadata: | |||
generation: 2 | |||
labels: | |||
app: ${APPLICATION_NAME} | |||
template: ${TEMPLATE_NAME} | |||
name: ${APPLICATION_NAME} | |||
spec: | |||
replicas: 1 | |||
revisionHistoryLimit: 10 | |||
selector: | |||
app: ${APPLICATION_NAME} | |||
deploymentconfig: ${APPLICATION_NAME} | |||
strategy: | |||
activeDeadlineSeconds: 21600 | |||
resources: {} | |||
rollingParams: | |||
intervalSeconds: 1 | |||
maxSurge: 25% | |||
maxUnavailable: 25% | |||
timeoutSeconds: 600 | |||
updatePeriodSeconds: 1 | |||
type: Rolling | |||
template: | |||
metadata: | |||
labels: | |||
app: ${APPLICATION_NAME} | |||
deploymentconfig: ${APPLICATION_NAME} | |||
spec: | |||
containers: | |||
- image: ${APPLICATION_NAME}:latest | |||
imagePullPolicy: IfNotPresent | |||
name: ${APPLICATION_NAME} | |||
ports: | |||
- containerPort: 5672 | |||
protocol: TCP | |||
- containerPort: 15671 | |||
protocol: TCP | |||
- containerPort: 15672 | |||
protocol: TCP | |||
- containerPort: 25672 | |||
protocol: TCP | |||
- containerPort: 4369 | |||
protocol: TCP | |||
- containerPort: 5671 | |||
protocol: TCP | |||
resources: {} | |||
terminationMessagePath: /dev/termination-log | |||
terminationMessagePolicy: File | |||
volumeMounts: | |||
- mountPath: /var/lib/rabbitmq | |||
name: ${APPLICATION_NAME}-volume-1 | |||
dnsPolicy: ClusterFirst | |||
restartPolicy: Always | |||
schedulerName: default-scheduler | |||
securityContext: {} | |||
terminationGracePeriodSeconds: 30 | |||
volumes: | |||
- emptyDir: {} | |||
name: ${APPLICATION_NAME}-volume-1 | |||
triggers: | |||
- type: ConfigChange | |||
- imageChangeParams: | |||
automatic: true | |||
containerNames: | |||
- ${APPLICATION_NAME} | |||
from: | |||
kind: ImageStreamTag | |||
name: '${APPLICATION_NAME}:3-management-alpine' | |||
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: 4369-tcp | |||
port: 4369 | |||
protocol: TCP | |||
targetPort: 4369 | |||
- name: 5671-tcp | |||
port: 5671 | |||
protocol: TCP | |||
targetPort: 5671 | |||
- name: 5672-tcp | |||
port: 5672 | |||
protocol: TCP | |||
targetPort: 5672 | |||
- name: 15671-tcp | |||
port: 15671 | |||
protocol: TCP | |||
targetPort: 15671 | |||
- name: 15672-tcp | |||
port: 15672 | |||
protocol: TCP | |||
targetPort: 15672 | |||
- name: 25672-tcp | |||
port: 25672 | |||
protocol: TCP | |||
targetPort: 25672 | |||
selector: | |||
app: ${APPLICATION_NAME} | |||
deploymentconfig: ${APPLICATION_NAME} | |||
sessionAffinity: None | |||
type: ClusterIP | |||
status: | |||
loadBalancer: {} | |||
- apiVersion: image.openshift.io/v1 | |||
kind: ImageStream | |||
metadata: | |||
labels: | |||
app: ${APPLICATION_NAME} | |||
template: ${TEMPLATE_NAME} | |||
name: ${APPLICATION_NAME} | |||
spec: | |||
lookupPolicy: | |||
local: false | |||
parameters: | |||
- description: The name for the application. | |||
displayName: Application Name | |||
name: APPLICATION_NAME | |||
required: true | |||
value: rabbitmq | |||
- 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: rabbitmq-image-deploy-template |
@ -0,0 +1,77 @@ | |||
apiVersion: template.openshift.io/v1 | |||
kind: Template | |||
metadata: | |||
name: ${TEMPLATE_NAME} | |||
objects: | |||
- apiVersion: v1 | |||
kind: Secret | |||
stringData : | |||
ConnectionString: ${CATALOG_DB_CONNECTION_SECRET} | |||
metadata: | |||
name: catalog-db-connection-secret | |||
type: Opaque | |||
- apiVersion: v1 | |||
kind: Secret | |||
stringData : | |||
ConnectionString: ${IDENTITY_DB_CONNECTION_SECRET} | |||
metadata: | |||
name: identity-db-connection-secret | |||
type: Opaque | |||
- apiVersion: v1 | |||
kind: Secret | |||
stringData : | |||
ConnectionString: ${MARKETING_DB_CONNECTION_SECRET} | |||
metadata: | |||
name: marketing-db-connection-secret | |||
type: Opaque | |||
- apiVersion: v1 | |||
kind: Secret | |||
stringData : | |||
ConnectionString: ${ORDERING_DB_CONNECTION_SECRET} | |||
metadata: | |||
name: ordering-db-connection-secret | |||
type: Opaque | |||
- apiVersion: v1 | |||
kind: Secret | |||
stringData : | |||
ConnectionString: ${SQL_PASSWORD_SECRET} | |||
metadata: | |||
name: sql-password--secret | |||
type: Opaque | |||
- apiVersion: v1 | |||
kind: Secret | |||
stringData : | |||
ConnectionString: ${WEBHOOKS_DB_CONNECTION_SECRET} | |||
metadata: | |||
name: webhooks-db-connection-secret | |||
type: Opaque | |||
parameters: | |||
- description: The Catalog database connection string. | |||
displayName: Catalog Database Connection String | |||
name: CATALOG_DB_CONNECTION_SECRET | |||
required: true | |||
- description: The Identity database connection string. | |||
displayName: Identity Database Connection String | |||
name: IDENTITY_DB_CONNECTION_SECRET | |||
required: true | |||
- description: The Marketing database connection string. | |||
displayName: Marketing Database Connection String | |||
name: MARKETING_DB_CONNECTION_SECRET | |||
required: true | |||
- description: The Ordering database connection string. | |||
displayName: Ordering Database Connection String | |||
name: ORDERING_DB_CONNECTION_SECRET | |||
required: true | |||
- description: The SQL Server sa password. | |||
displayName: SQL Server SA password | |||
name: SQL_PASSWORD_SECRET | |||
required: true | |||
- description: The Webhooks database connection string. | |||
displayName: Webhooks Database Connection String | |||
name: WEBHOOKS_DB_CONNECTION_SECRET | |||
required: true | |||
- description: The template name. | |||
displayName: Template Name | |||
name: TEMPLATE_NAME | |||
required: true | |||
value: secrets-template |