Untitled
unknown
plain_text
a year ago
8.1 kB
5
Indexable
trigger: none
parameters:
- name: IsDeploy
displayName: Select Yes If Deployment is required
type: string
default: Yes
values:
- Yes
- No
resources:
repositories:
- repository: templates
type: git
name: Genesis/ADO_Onboard
ref: refs/heads/genesis-release-v1
variables:
- group: DevOpscfpush
- name: reponame
value: aurora-cdx
- name: microservice_name
value: aurora-cdx-cdr-svc
- name: dockerspace
value: convatec-devops
- name: imagerepo
value: aurora-cdx-cdr-int-repo
- name: containerRegistryServiceConnection
value: TnIDockerRegistryCF
- name: java_version
value: '21'
- name: cfpushimagename
value: aurora-cdx-cdr-int-svc
- name: manifest_memory_size
value: '2048M'
- name: manifest_disk_size
value: '1024M'
- name: env
value: int
pool:
vmImage: 'ubuntu-latest'
stages:
- stage: Build
jobs:
- job: Install_Build
displayName: Install, Build and docker push
steps:
#-- To checkout ADO_Onboard all the templates and other files --#
- checkout: templates
#-- To avoid confusion between ADO_Onboard and aurora-cdx checkout self repo --#
- checkout: self
fetchDepth: 0
- template: Templates/install/Install_gitversion.yml@templates
#-- Since we are checkingout two repos repo name should be given to calculate gitversion --#
- template: Templates/semanticversioning/gitexecute.yml@templates
parameters:
path: $(reponame)
- template: Templates/install/install_trivy.yml@templates
- template: Templates/install/install_syft.yml@templates
- template: Templates/install/install_java.yml@templates
parameters:
java_version: $(java_version)
- template: Templates/install/install_checkstyle.yml@templates
parameters:
path: '$(reponame)/$(microservice_name)'
- template: Templates/dependency_scan/git_leaks.yml@templates
parameters:
sourcedirectory: '$(reponame)/$(microservice_name)'
- template: Templates/build/update_pom_file.yml@templates
parameters:
POM: '$(reponame)/$(microservice_name)/pom.xml'
version: $(GitVersion.FullSemVer)
- template: Templates/build/maven_build_service.yml@templates
parameters:
jdkversion: 'jdk-$(java_version)'
POM: '$(reponame)/$(microservice_name)/pom.xml'
settings_file: 'ADO_Onboard/tools/maven_settings_file/settings.xml'
- template: Templates/universal_packages/publish_package.yml@templates
parameters:
publishdirectory: '$(reponame)/$(microservice_name)/target'
feedtopublish: '40866c42-fa42-465b-9f0d-ac353a6fb06b/c81e3c6b-5774-494a-af9a-2c8ab7f6de42'
version: '$(Versioninlowercase)'
PackageName: '$(microservice_name)-$(env)'
- template: Templates/install/install_jacoco.yml@templates
parameters:
microservice_name: '$(reponame)/$(microservice_name)'
java_version: $(java_version)
- template: Templates/publish_reports/publish_unit_test_results.yml@templates
parameters:
junit_file_path: '**/*/jacoco.xml'
- template: Templates/docker/docker_login.yml@templates
parameters:
dockerregistry: $(containerRegistryServiceConnection)
#-- Since we have convatecdevops/convatec-dev devided the docker URL and created docker space variable --#
- template: Templates/docker/docker_build.yml@templates
parameters:
microservice: '$(reponame)/$(microservice_name)'
docker_registry: $(containerRegistryServiceConnection)
dockerspace: '$(dockerspace)/$(imagerepo)'
buildId: $(GitVersion.FullSemVer)
arguments: $(env)
- template: Templates/docker/docker_images_listing.yml@templates
- template: Templates/docker/docker_push.yml@templates
parameters:
buildId: $(GitVersion.FullSemVer)
microservice: $(imagerepo)
dockerspace: $(dockerspace)
- template: Templates/dependency_scan/docker_syft.yml@templates
parameters:
microservice: $(imagerepo)
tag: $(GitVersion.FullSemVer)
dockerspace: $(dockerspace)
- template: Templates/publish_reports/publish_trivy_artifacts.yml@templates
parameters:
microservice: $(imagerepo)
tag: $(GitVersion.FullSemVer)
dockerspace: $(dockerspace)
- template: Templates/publish_reports/publish_artifacts.yml@templates
parameters:
directory: syft_report
artifact_name: syft
- template: Templates/publish_reports/Publish_checkstylereport.yml@templates
parameters:
path: $(microservice_name)
- script: |
echo "##vso[task.setvariable variable=BUILD_ID;isOutput=true]$(GitVersion.FullSemVer)"
name: Exportvar
displayName: Save the variable
- stage: Deploy
dependsOn: Build
condition: and(succeeded(), eq('${{ parameters.IsDeploy }}', 'Yes'))
variables:
Fullversion_buildID: $[ stageDependencies.Build.Install_Build.outputs['Exportvar.BUILD_ID'] ]
jobs:
- deployment: CF_deploy
environment: cvt-int
strategy:
runOnce:
deploy:
steps:
- checkout: self
- script: |
echo $(Fullversion_buildID)
displayName: Print_buildID
- template: Templates/cloudfoundry/update_manifestfile.yml@templates
parameters:
MEMORY: $(manifest_memory_size)
DISK: $(manifest_disk_size)
manifestfile_path: '$(microservice_name)/$(microservice_name)-manifest.yml'
env: 'int'
- template: Templates/cloudfoundry/cfpush.yml@templates
parameters:
cfusername: $(cfusername)
cfpassword: $(cfpassword)
cforg: 'client-convatec'
cfspace: 'cvt-$(env)'
imagerepo: '$(dockerspace)/$(imagerepo)'
buildID: $(Fullversion_buildID)
microservice: $(microservice_name)
cfpushimagename: $(cfpushimagename)
manifestfile: '$(microservice_name)/$(microservice_name)-manifest.yml'
#-- Running network policy creation below --#
- template: Templates/cloudfoundry/cf_network_policy.yml@templates
parameters:
cfusername: $(cfusername)
cfpassword: $(cfpassword)
cforg: 'client-convatec'
cfspace: 'cvt-$(env)'
externalappname: 'aurora-cdx-cdr-int-svc'
internalappname: 'aurora-sec-audit-int-svc'
mappingport: '8505'
- template: Templates/cloudfoundry/cf_network_policy.yml@templates
parameters:
cfusername: $(cfusername)
cfpassword: $(cfpassword)
cforg: 'client-convatec'
cfspace: 'cvt-$(env)'
externalappname: 'aurora-cdx-cdr-int-svc'
internalappname: 'aurora-cdx-s3-int-svc'
mappingport: '8517'
- template: Templates/cloudfoundry/cf_network_policy.yml@templates
parameters:
cfusername: $(cfusername)
cfpassword: $(cfpassword)
cforg: 'client-convatec'
cfspace: 'cvt-$(env)'
externalappname: 'aurora-cdx-cdr-int-svc'
internalappname: 'aurora-cdx-cfg-int-svc'
mappingport: '8080' Editor is loading...
Leave a Comment