diff --git a/sdk/cosmos/azure-cosmos-benchmark/ctl-image-build.yml b/sdk/cosmos/azure-cosmos-benchmark/ctl-image-build.yml new file mode 100644 index 000000000000..e49bb7f1634c --- /dev/null +++ b/sdk/cosmos/azure-cosmos-benchmark/ctl-image-build.yml @@ -0,0 +1,45 @@ +jobs: + - job: Cosmos CTL + timeoutInMinutes: 20 + variables: + - template: /eng/pipelines/templates/variables/globals.yml + pool: + vmImage: 'ubuntu-18.04' + + # java-cosmos-container-registry-pwd + variables: + ContainerRegistryName: 'javactl' + ContainerRegistryUserName: 'javactl' + ContainerRegistryUrl: 'javactl.azurecr.io' + + steps: + - task: Maven@3 + displayName: 'Build Cosmos and Benchmark' + inputs: + mavenPomFile: pom.xml + jdkVersionOption: $(JavaBuildVersion) + jdkArchitectureOption: 'x64' + # The -Ppackage-assembly profile packages up both libraries into one package + options: '$(DefaultOptions) -Ppackage-assembly -DskipTests -Dgpg.skip -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Dspotbugs.skip=true -Drevapi.skip=true -pl com.azure:azure-cosmos,com.azure:azure-cosmos-benchmark' + + - task: CopyFiles@2 + displayName: 'Copy benchmark jar' + inputs: + SourceFolder: '$(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-benchmark/target' + Contents: '*' + TargetFolder: $(Agent.TempDirectory)/ctl + + - task: CopyFiles@2 + displayName: 'Copy docker config files' + inputs: + SourceFolder: '$(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-benchmark/ctl' + TargetFolder: $(Agent.TempDirectory)/ctl + + # Below will build the image and push it to azure container registry + - pwsh: | + cd $(Agent.TempDirectory)/ctl + docker build . -t java-ctl + az acr login --name $(ContainerRegistryName) -u $(ContainerRegistryUserName) -p $(java-cosmos-container-registry-pwd) + docker tag java-ctl $(ContainerRegistryUrl)/javactl/benchmark + docker push $(ContainerRegistryUrl)/javactl/benchmark + displayName: 'Build and push docker image to registry'