| #!/bin/sh -x |
| |
| #image: |
| PROXY=$(docker build -q - <<EOF |
| FROM ubuntu:18.10 |
| |
| RUN apt update && \ |
| apt --yes install squid |
| |
| RUN echo "acl maven dstdomain central.maven.org" >/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl ubuntu dstdomain security.ubuntu.com" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl ubuntu dstdomain archive.ubuntu.com" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl github dstdomain github.com" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl github dstdomain api.github.com" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl github dstdomain patch-diff.githubusercontent.com" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl netbeans dstdomain netbeans.osuosl.org" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl allowed_ports port 80" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "acl allowed_ports port 443" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "http_access allow maven allowed_ports" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "http_access allow ubuntu allowed_ports" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "http_access allow github allowed_ports" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "http_access allow netbeans allowed_ports" >>/etc/squid/conf.d/proxy.conf &&\ |
| echo "http_access deny all" >>/etc/squid/conf.d/proxy.conf |
| |
| ENTRYPOINT [ "squid", "--foreground" ] |
| EOF |
| ) |
| PROXY=`echo $PROXY | cut -d ':' -f 2` |
| |
| #container: |
| PROXY_CONTAINER=`docker run --rm -d $PROXY` |
| #docker container rename $PROXY_CONTAINER jackpot-proxy-$PROXY_CONTAINER |
| |
| #networking: |
| docker network create --driver bridge --internal jackpot-network-$PROXY_CONTAINER |
| docker network create --driver bridge jackpot-public-network-$PROXY_CONTAINER |
| |
| docker network disconnect bridge $PROXY_CONTAINER |
| docker network connect --alias jackpot-proxy jackpot-network-$PROXY_CONTAINER $PROXY_CONTAINER |
| docker network connect jackpot-public-network-$PROXY_CONTAINER $PROXY_CONTAINER |
| |
| WORKER=$(docker build -q -f - `dirname $0`/.. <<EOF |
| FROM ubuntu:18.10 |
| |
| RUN apt update && \ |
| apt --yes install openjdk-11-jdk build-essential maven ant gradle git |
| |
| RUN useradd -m compute |
| |
| COPY . /home/compute/handler |
| |
| RUN chown -R compute /home/compute/handler |
| |
| USER compute |
| |
| ENTRYPOINT [ "/home/compute/handler/bin/handler", "-Dhttp.proxyHost=jackpot-proxy", "-Dhttp.proxyPort=3128", "-Dhttps.proxyHost=jackpot-proxy", "-Dhttps.proxyPort=3128"] |
| EOF |
| ) |
| |
| docker run --rm --env PR_CONTENT --env OAUTH_TOKEN --env OAUTH_APP_TOKEN --network jackpot-network-$PROXY_CONTAINER --env "http_proxy=http://jackpot-proxy:3128/" --env "https_proxy=http://jackpot-proxy:3128/" --env "JACKPOT_PRS_EXTRA_JVM_OPTIONS=-Dhttp.proxyHost=jackpot-proxy -Dhttp.proxyPort=3128 -Dhttps.proxyHost=jackpot-proxy -Dhttps.proxyPort=3128" $WORKER |
| |
| docker container stop $PROXY_CONTAINER |
| docker network rm jackpot-network-$PROXY_CONTAINER jackpot-public-network-$PROXY_CONTAINER |
| |
| |