netty5/docker/docker-compose.yaml
Norman Maurer 414de53226 Use profile for overriding properties when building on the CI (#11232)
Motivation:

0f25213918 introduced some properties that were used to make builds more stable on the ci. All of these properties were duplicated everywhere, this made it hard to maintain

Modifications:

- Add profile which sets the properties.
- Just use the profile when build on the ci

Result:

Easier to maintain custom properties for the ci build
2021-05-07 18:25:51 +02:00

67 lines
2.1 KiB
YAML

version: "3"
services:
runtime-setup:
image: netty:default
build:
context: .
dockerfile: Dockerfile.centos6
common: &common
image: netty:default
depends_on: [runtime-setup]
volumes:
- ~/.ssh:/root/.ssh
- ~/.gnupg:/root/.gnupg
- ~/.m2:/root/.m2
- ..:/code
working_dir: /code
build-leak:
<<: *common
command: /bin/bash -cl "./mvnw -Pci,leak clean install -Dio.netty.testsuite.badHost=netty.io"
build:
<<: *common
command: /bin/bash -cl "./mvnw -Pci clean install -Dio.netty.testsuite.badHost=netty.io"
deploy:
<<: *common
command: /bin/bash -cl "./mvnw -Pci clean deploy -DskipTests=true"
stage-snapshot:
<<: *common
volumes:
- ~/.ssh:/root/.ssh
- ~/.gnupg:/root/.gnupg
- ~/.m2:/root/.m2
- ~/local-staging:/root/local-staging
- ..:/code
command: /bin/bash -cl "./mvnw -Pci clean package org.sonatype.plugins:nexus-staging-maven-plugin:deploy -DaltStagingDirectory=/root/local-staging -DskipRemoteStaging=true -DskipTests=true"
stage-release:
<<: *common
environment:
- GPG_KEYNAME
- GPG_PASSPHRASE
- GPG_PRIVATE_KEY
volumes:
- ~/.ssh:/root/.ssh
- ~/.m2:/root/.m2
- ~/local-staging:/root/local-staging
- ..:/code
command: /bin/bash -cl "cat <(echo -e \"${GPG_PRIVATE_KEY}\") | gpg --batch --import && ./mvnw -Pci clean javadoc:jar package gpg:sign org.sonatype.plugins:nexus-staging-maven-plugin:deploy -DnexusUrl=https://oss.sonatype.org -DserverId=sonatype-nexus-staging -DaltStagingDirectory=/root/local-staging -DskipRemoteStaging=true -DskipTests=true -Dgpg.passphrase=${GPG_PASSPHRASE} -Dgpg.keyname=${GPG_KEYNAME}"
build-boringssl-static:
<<: *common
command: /bin/bash -cl "./mvnw -Pci,boringssl clean install -Dio.netty.testsuite.badHost=netty.io -Dxml.skip=true"
build-leak-boringssl-static:
<<: *common
command: /bin/bash -cl "./mvnw -Pci,boringssl,leak clean install -Dio.netty.testsuite.badHost=netty.io -Dxml.skip=true"
shell:
<<: *common
entrypoint: /bin/bash