Files
quarkus/ci-templates/native-build-steps.yaml
2020-02-20 23:01:25 +00:00

66 lines
3.7 KiB
YAML

parameters:
poolSettings: {}
expectUseVMs: true
modules: []
name: ''
postgres: false
dynamodb: false
keycloak: false
mysql: false
neo4j: false
timeoutInMinutes: 80
jobs:
- job: ${{ parameters.name }}
condition: and(eq(variables.LINUX_USE_VMS, ${{parameters.expectUseVMs}}),succeeded())
displayName: ${{ join(', ', parameters.modules) }}
timeoutInMinutes: ${{parameters.timeoutInMinutes}}
pool: ${{parameters.poolSettings}}
workspace:
clean: all
variables:
imageName: 'quarkus:$(build.buildId)'
steps:
- script: docker rm -f $(docker ps -qa) || true
displayName: 'Docker Cleanup'
- task: DownloadPipelineArtifact@1
inputs:
artifact: $(Build.SourceVersion)-BuiltMavenRepo
targetPath: $(Pipeline.Workspace)/.m2/repository/
- bash: (cd $(Pipeline.Workspace)/.m2/repository/$(Build.SourceVersion)-BuiltMavenRepo/; mv * ..)
- ${{ if eq(parameters.postgres, 'true') }}:
- script: docker run --rm --publish 5432:5432 --name build-postgres -e POSTGRES_USER=hibernate_orm_test -e POSTGRES_PASSWORD=hibernate_orm_test -e POSTGRES_DB=hibernate_orm_test -d postgres:10.5
displayName: 'start postgres'
- ${{ if eq(parameters.dynamodb, 'true') }}:
- script: docker run --rm --publish 8000:8000 --name build-dynamodb -d amazon/dynamodb-local:1.11.477
displayName: 'start dynamodb'
- ${{ if eq(parameters.keycloak, 'true') }}:
- script: docker run --rm --publish 8180:8080 --name build-keycloak -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e JAVA_OPTS="-server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dkeycloak.profile.feature.upload_scripts=enabled" -d quay.io/keycloak/keycloak:9.0.0
displayName: 'start keycloak'
- ${{ if eq(parameters.neo4j, 'true') }}:
- script: docker run --rm --publish 7687:7687 --name build-neo4j -e NEO4J_AUTH=neo4j/secret -e NEO4J_dbms_memory_pagecache_size=10M -e NEO4J_dbms_memory_heap_initial__size=10M -d neo4j/neo4j-experimental:4.0.0-rc01
displayName: 'start neo4j'
- ${{ if eq(parameters.mysql, 'true') }}:
- bash: |
sudo service mysql stop || true
docker run --rm --publish 3306:3306 --name build-mysql -e MYSQL_USER=hibernate_orm_test -e MYSQL_PASSWORD=hibernate_orm_test -e MYSQL_DATABASE=hibernate_orm_test -e MYSQL_RANDOM_ROOT_PASSWORD=true -e MYSQL_DATABASE=hibernate_orm_test -d mysql:5 --skip-ssl
displayName: 'start mysql'
- ${{ if eq(parameters.mariadb, 'true') }}:
- bash: |
sudo service mysql stop || true
docker run --rm --publish 3308:3306 --name build-mariadb -e MYSQL_USER=hibernate_orm_test -e MYSQL_PASSWORD=hibernate_orm_test -e MYSQL_DATABASE=hibernate_orm_test -e MYSQL_RANDOM_ROOT_PASSWORD=true -d mariadb:10.4
displayName: 'start mariadb'
- ${{ if eq(parameters.mssql, 'true') }}:
- script: docker run --rm --publish 1433:1433 --name build-mssql -e ACCEPT_EULA=Y -e SA_PASSWORD=ActuallyRequired11Complexity -d microsoft/mssql-server-linux:2017-CU12
displayName: 'start microsoft sql server'
- task: Maven@3
displayName: 'Maven Build'
inputs:
goals: 'install'
mavenOptions: $(MAVEN_OPTS)
options: '-pl integration-tests/${{ join('',integration-tests/'', parameters.modules) }} -B --settings azure-mvn-settings.xml -Dquarkus.native.container-build=true -Dtest-postgresql -Dtest-elasticsearch -Dtest-keycloak -Dtest-dynamodb -Dtest-mysql -Dtest-vault -Dtest-neo4j -Dtest-mssql -Dtest-mariadb -Dmariadb.url="jdbc:mariadb://localhost:3308/hibernate_orm_test" -Dnative-image.xmx=6g -Dnative -Dno-format'