├── .gitattributes
├── LICENSE
├── README.md
├── build.sh
├── dirs.sh
├── images
└── vsts.png
├── latest.tag
├── push.sh
├── tags-md.sh
├── ubuntu
├── 14.04
│ ├── Dockerfile
│ ├── docker
│ │ ├── 17.06.0-ce
│ │ │ ├── Dockerfile
│ │ │ └── standard
│ │ │ │ └── Dockerfile
│ │ ├── 17.12.0-ce
│ │ │ ├── Dockerfile
│ │ │ └── standard
│ │ │ │ └── Dockerfile
│ │ └── 18.06.1-ce
│ │ │ ├── Dockerfile
│ │ │ └── standard
│ │ │ └── Dockerfile
│ ├── standard
│ │ └── Dockerfile
│ ├── start.sh
│ └── tfs
│ │ ├── 2017
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2018
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2017-u1
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2018-u1
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2018-u2
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ ├── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 18.06.1-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ └── 2018-u3
│ │ ├── Dockerfile
│ │ ├── docker
│ │ ├── 17.12.0-ce
│ │ │ ├── Dockerfile
│ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ └── start.sh
│ │ └── 18.06.1-ce
│ │ │ ├── Dockerfile
│ │ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ │ └── start.sh
│ │ ├── standard
│ │ ├── Dockerfile
│ │ └── start.sh
│ │ └── start.sh
├── 16.04
│ ├── Dockerfile
│ ├── docker
│ │ ├── 17.06.0-ce
│ │ │ ├── Dockerfile
│ │ │ └── standard
│ │ │ │ └── Dockerfile
│ │ ├── 17.12.0-ce
│ │ │ ├── Dockerfile
│ │ │ └── standard
│ │ │ │ └── Dockerfile
│ │ └── 18.06.1-ce
│ │ │ ├── Dockerfile
│ │ │ └── standard
│ │ │ └── Dockerfile
│ ├── standard
│ │ └── Dockerfile
│ ├── start.sh
│ └── tfs
│ │ ├── 2017
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2018
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2017-u1
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2018-u1
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ ├── 2018-u2
│ │ ├── Dockerfile
│ │ ├── docker
│ │ │ ├── 17.06.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ ├── 17.12.0-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ │ ├── Dockerfile
│ │ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ │ └── 18.06.1-ce
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ │ └── start.sh
│ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ └── start.sh
│ │ └── 2018-u3
│ │ ├── Dockerfile
│ │ ├── docker
│ │ ├── 17.12.0-ce
│ │ │ ├── Dockerfile
│ │ │ ├── standard
│ │ │ │ ├── Dockerfile
│ │ │ │ └── start.sh
│ │ │ └── start.sh
│ │ └── 18.06.1-ce
│ │ │ ├── Dockerfile
│ │ │ ├── standard
│ │ │ ├── Dockerfile
│ │ │ └── start.sh
│ │ │ └── start.sh
│ │ ├── standard
│ │ ├── Dockerfile
│ │ └── start.sh
│ │ └── start.sh
├── Dockerfile.template
├── docker
│ ├── Dockerfile.template
│ └── versions
├── standard
│ ├── Dockerfile.template
│ └── versions
├── start.sh
├── tfs
│ ├── Dockerfile.template
│ ├── releases
│ └── start.sh
└── versions
├── update.sh
└── windows
└── servercore
└── 10.0.14393
├── Dockerfile
├── Start.cmd
├── Start.ps1
└── standard
├── VS2015
└── Dockerfile
└── VS2017
└── Dockerfile
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.sh text eol=lf
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright (c) Microsoft Corporation
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy
5 | of this software and associated documentation files (the "Software"), to deal
6 | in the Software without restriction, including without limitation the rights
7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the Software is
9 | furnished to do so, subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in all
12 | copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | SOFTWARE.
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | cd "$(dirname $0)"
5 |
6 | count=0
7 | start=$(date +%s)
8 |
9 | while read dir; do
10 | echo "Building $dir"
11 | docker build -q -t microsoft/vsts-agent:${dir//\//-} $dir
12 | _=$((count+=1))
13 | done < <(./dirs.sh $1)
14 |
15 | LATEST_TAG=$(cat latest.tag)
16 | if [ -n "$(docker images -f reference=microsoft/vsts-agent:$LATEST_TAG -q)" ]; then
17 | docker tag microsoft/vsts-agent:$LATEST_TAG microsoft/vsts-agent
18 | fi
19 |
20 | end=$(date +%s)
21 | ((seconds=end-start))
22 |
23 | if (( $seconds > 3600 )) ; then
24 | ((hours=seconds/3600))
25 | ((minutes=(seconds%3600)/60))
26 | ((seconds=(seconds%3600)%60))
27 | echo "Built $count images in $hours hour(s), $minutes minute(s) and $seconds second(s)"
28 | elif (( $seconds > 60 )) ; then
29 | ((minutes=(seconds%3600)/60))
30 | ((seconds=(seconds%3600)%60))
31 | echo "Built $count images in $minutes minute(s) and $seconds second(s)"
32 | else
33 | echo "Built $count images in $seconds seconds"
34 | fi
--------------------------------------------------------------------------------
/dirs.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | cd "$(dirname $0)"
5 |
6 | ubuntu() {
7 | cd ubuntu
8 |
9 | dirs() {
10 | BASE_DIR=$1
11 | echo $BASE_DIR
12 | while read TARGET_UBUNTU_VERSION na; do
13 | if [ -n "$(echo $BASE_DIR | grep ^ubuntu/$TARGET_UBUNTU_VERSION)" ]; then
14 | echo $BASE_DIR/standard
15 | fi
16 | done < <(cat standard/versions | sed 's/\r//')
17 | while read DOCKER_VERSION na; do
18 | DOCKER_DIR=$BASE_DIR/docker/$DOCKER_VERSION
19 | echo $DOCKER_DIR
20 | while read TARGET_UBUNTU_VERSION na; do
21 | if [ -n "$(echo $DOCKER_DIR | grep ^ubuntu/$TARGET_UBUNTU_VERSION)" ]; then
22 | echo $DOCKER_DIR/standard
23 | fi
24 | done < <(cat standard/versions | sed 's/\r//')
25 | done < <(cat docker/versions | sed 's/\r//')
26 | }
27 |
28 | while read UBUNTU_VERSION na; do
29 | dirs ubuntu/$UBUNTU_VERSION
30 | while read VSTS_AGENT_RELEASE na; do
31 | dirs ubuntu/$UBUNTU_VERSION/${VSTS_AGENT_RELEASE/-/\/}
32 | done < <(cat tfs/releases | sed 's/\r//')
33 | done < <(cat versions | sed 's/\r//')
34 |
35 | cd ..
36 | }
37 |
38 | ${1:-ubuntu}
39 |
--------------------------------------------------------------------------------
/images/vsts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/vsts-agent-docker/1a305c85471df1c61cab9ea15de26301b661f234/images/vsts.png
--------------------------------------------------------------------------------
/latest.tag:
--------------------------------------------------------------------------------
1 | ubuntu-16.04-docker-18.06.1-ce-standard
--------------------------------------------------------------------------------
/push.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | cd "$(dirname $0)"
5 |
6 | while read dir; do
7 | docker push microsoft/vsts-agent:${dir//\//-}
8 | done < <(./dirs.sh)
9 |
10 | if [ -n "$(docker images -f reference=microsoft/vsts-agent:latest -q)" ]; then
11 | docker push microsoft/vsts-agent:latest
12 | fi
13 |
--------------------------------------------------------------------------------
/tags-md.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | cd "$(dirname $0)"
5 |
6 | GIT_COMMIT=${1:-$(git rev-parse HEAD)}
7 | GITHUB_BASE_URL="https://github.com/microsoft/vsts-agent-docker/blob/$GIT_COMMIT"
8 | LATEST_TAG=$(cat latest.tag)
9 |
10 | while read dir; do
11 | DOCKER_TAG=${dir//\//-}
12 | DOCKERFILE_URL=$dir/Dockerfile
13 | MD="[\`$DOCKER_TAG\`]($GITHUB_BASE_URL/$DOCKERFILE_URL)"
14 | if [ "$DOCKER_TAG" == "$LATEST_TAG" ]; then
15 | MD="$MD, [\`latest\`]($GITHUB_BASE_URL/$DOCKERFILE_URL)"
16 | fi
17 | echo "- $MD [($DOCKERFILE_URL)]($GITHUB_BASE_URL/$DOCKERFILE_URL)"
18 | done < <(./dirs.sh $1)
19 |
--------------------------------------------------------------------------------
/ubuntu/14.04/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:14.04
2 |
3 | # To make it easier for build and release pipelines to run apt-get,
4 | # configure apt to not require confirmation (assume the -y argument by default)
5 | ENV DEBIAN_FRONTEND=noninteractive
6 | RUN echo "APT::Get::Assume-Yes \"true\";" > /etc/apt/apt.conf.d/90assumeyes
7 |
8 | # Trusty needs an updated backport of apt to avoid hash sum mismatch errors
9 | RUN [ "trusty" = "trusty" ] \
10 | && curl -s https://packagecloud.io/install/repositories/computology/apt-backport/script.deb.sh | bash \
11 | && apt-get update \
12 | && apt-get install apt=1.2.10 \
13 | && rm -rf /var/lib/apt/lists/* \
14 | && rm -rf /etc/apt/sources.list.d/* \
15 | || echo -n
16 |
17 | RUN apt-get update \
18 | && apt-get install -y --no-install-recommends \
19 | software-properties-common \
20 | && apt-add-repository ppa:git-core/ppa \
21 | && apt-get update \
22 | && apt-get install -y --no-install-recommends \
23 | apt-utils \
24 | curl \
25 | git \
26 | jq \
27 | libcurl3 \
28 | libicu52 \
29 | libunwind8 \
30 | netcat \
31 | && curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash \
32 | && apt-get install -y --no-install-recommends git-lfs \
33 | && rm -rf /var/lib/apt/lists/* \
34 | && rm -rf /etc/apt/sources.list.d/*
35 |
36 | # Accept the TEE EULA
37 | RUN mkdir -p "/root/.microsoft/Team Foundation/4.0/Configuration/TEE-Mementos" \
38 | && cd "/root/.microsoft/Team Foundation/4.0/Configuration/TEE-Mementos" \
39 | && echo '' > "com.microsoft.tfs.client.productid.xml"
40 |
41 | WORKDIR /vsts
42 |
43 | COPY ./start.sh .
44 | RUN chmod +x start.sh
45 |
46 | CMD ["./start.sh"]
47 |
--------------------------------------------------------------------------------
/ubuntu/14.04/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.06.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.15.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/14.04/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.06.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.15.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/14.04/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.12.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.18.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/14.04/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.12.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.18.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/14.04/docker/18.06.1-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 18.06.1-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.22.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/14.04/docker/18.06.1-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 18.06.1-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.22.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.14.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.14.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.14.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.14.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.14.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.14.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017-u1/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.14.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.14.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.14.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.14.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.14.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.14.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2017/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.14.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.14.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.14.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.14.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.14.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.14.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u1/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/18.06.1-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-18.06.1-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/18.06.1-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-18.06.1-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/18.06.1-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/docker/18.06.1-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u2/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/18.06.1-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-18.06.1-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/18.06.1-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-18.06.1-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/18.06.1-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/docker/18.06.1-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018-u3/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.14.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.14.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.14.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.14.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.14.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-14.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.14.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/14.04/tfs/2018/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:16.04
2 |
3 | # To make it easier for build and release pipelines to run apt-get,
4 | # configure apt to not require confirmation (assume the -y argument by default)
5 | ENV DEBIAN_FRONTEND=noninteractive
6 | RUN echo "APT::Get::Assume-Yes \"true\";" > /etc/apt/apt.conf.d/90assumeyes
7 |
8 | # Trusty needs an updated backport of apt to avoid hash sum mismatch errors
9 | RUN [ "xenial" = "trusty" ] \
10 | && curl -s https://packagecloud.io/install/repositories/computology/apt-backport/script.deb.sh | bash \
11 | && apt-get update \
12 | && apt-get install apt=1.2.10 \
13 | && rm -rf /var/lib/apt/lists/* \
14 | && rm -rf /etc/apt/sources.list.d/* \
15 | || echo -n
16 |
17 | RUN apt-get update \
18 | && apt-get install -y --no-install-recommends \
19 | software-properties-common \
20 | && apt-add-repository ppa:git-core/ppa \
21 | && apt-get update \
22 | && apt-get install -y --no-install-recommends \
23 | apt-utils \
24 | curl \
25 | git \
26 | jq \
27 | libcurl3 \
28 | libicu55 \
29 | libunwind8 \
30 | netcat \
31 | && curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash \
32 | && apt-get install -y --no-install-recommends git-lfs \
33 | && rm -rf /var/lib/apt/lists/* \
34 | && rm -rf /etc/apt/sources.list.d/*
35 |
36 | # Accept the TEE EULA
37 | RUN mkdir -p "/root/.microsoft/Team Foundation/4.0/Configuration/TEE-Mementos" \
38 | && cd "/root/.microsoft/Team Foundation/4.0/Configuration/TEE-Mementos" \
39 | && echo '' > "com.microsoft.tfs.client.productid.xml"
40 |
41 | WORKDIR /vsts
42 |
43 | COPY ./start.sh .
44 | RUN chmod +x start.sh
45 |
46 | CMD ["./start.sh"]
47 |
--------------------------------------------------------------------------------
/ubuntu/16.04/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.06.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.15.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/16.04/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.06.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.15.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/16.04/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.12.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.18.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/16.04/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 17.12.0-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.18.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/16.04/docker/18.06.1-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 18.06.1-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.22.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/16.04/docker/18.06.1-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION 18.06.1-ce
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION 1.22.0
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.16.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.16.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.16.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.16.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.16.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-ubuntu.16.04-x64-2.116.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017-u1/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.16.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.16.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.16.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.16.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.16.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.105.7/vsts-agent-ubuntu.16.04-x64-2.105.7.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2017/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.16.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.16.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.16.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.16.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.16.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.2/vsts-agent-ubuntu.16.04-x64-2.122.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u1/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/18.06.1-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-18.06.1-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/18.06.1-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-18.06.1-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/18.06.1-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/docker/18.06.1-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u2/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/18.06.1-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-18.06.1-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/18.06.1-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-18.06.1-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/18.06.1-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/docker/18.06.1-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018-u3/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.16.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.06.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.16.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.06.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.06.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.16.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.06.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.06.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.12.0-ce/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.16.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.12.0-ce/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-docker-17.12.0-ce-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.16.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.12.0-ce/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/docker/17.12.0-ce/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/standard/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:ubuntu-16.04-standard
2 |
3 | RUN set -x \
4 | && curl -fSL https://github.com/Microsoft/vsts-agent/releases/download/v2.122.1/vsts-agent-ubuntu.16.04-x64-2.122.1.tar.gz -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/standard/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/16.04/tfs/2018/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/Dockerfile.template:
--------------------------------------------------------------------------------
1 | FROM ubuntu:$(UBUNTU_VERSION)
2 |
3 | # To make it easier for build and release pipelines to run apt-get,
4 | # configure apt to not require confirmation (assume the -y argument by default)
5 | ENV DEBIAN_FRONTEND=noninteractive
6 | RUN echo "APT::Get::Assume-Yes \"true\";" > /etc/apt/apt.conf.d/90assumeyes
7 |
8 | # Trusty needs an updated backport of apt to avoid hash sum mismatch errors
9 | RUN [ "$(UBUNTU_RELEASE)" = "trusty" ] \
10 | && curl -s https://packagecloud.io/install/repositories/computology/apt-backport/script.deb.sh | bash \
11 | && apt-get update \
12 | && apt-get install apt=1.2.10 \
13 | && rm -rf /var/lib/apt/lists/* \
14 | && rm -rf /etc/apt/sources.list.d/* \
15 | || echo -n
16 |
17 | RUN apt-get update \
18 | && apt-get install -y --no-install-recommends \
19 | software-properties-common \
20 | && apt-add-repository ppa:git-core/ppa \
21 | && apt-get update \
22 | && apt-get install -y --no-install-recommends \
23 | apt-utils \
24 | curl \
25 | git \
26 | jq \
27 | libcurl3 \
28 | libicu$(LIBICU_VERSION) \
29 | libunwind8 \
30 | netcat \
31 | && curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash \
32 | && apt-get install -y --no-install-recommends git-lfs \
33 | && rm -rf /var/lib/apt/lists/* \
34 | && rm -rf /etc/apt/sources.list.d/*
35 |
36 | # Accept the TEE EULA
37 | RUN mkdir -p "/root/.microsoft/Team Foundation/4.0/Configuration/TEE-Mementos" \
38 | && cd "/root/.microsoft/Team Foundation/4.0/Configuration/TEE-Mementos" \
39 | && echo '' > "com.microsoft.tfs.client.productid.xml"
40 |
41 | WORKDIR /vsts
42 |
43 | COPY ./start.sh .
44 | RUN chmod +x start.sh
45 |
46 | CMD ["./start.sh"]
47 |
--------------------------------------------------------------------------------
/ubuntu/docker/Dockerfile.template:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:$(VSTS_AGENT_TAG)
2 |
3 | ENV DOCKER_CHANNEL stable
4 | ENV DOCKER_VERSION $(DOCKER_VERSION)
5 |
6 | RUN set -ex \
7 | && curl -fL "https://download.docker.com/linux/static/${DOCKER_CHANNEL}/`uname -m`/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
8 | && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin \
9 | && rm docker.tgz \
10 | && docker -v
11 |
12 | ENV DOCKER_COMPOSE_VERSION $(DOCKER_COMPOSE_VERSION)
13 |
14 | RUN set -x \
15 | && curl -fSL "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" -o /usr/local/bin/docker-compose \
16 | && chmod +x /usr/local/bin/docker-compose \
17 | && docker-compose -v
18 |
--------------------------------------------------------------------------------
/ubuntu/docker/versions:
--------------------------------------------------------------------------------
1 | 17.12.0-ce 1.18.0
2 | 18.06.1-ce 1.22.0
3 |
--------------------------------------------------------------------------------
/ubuntu/standard/versions:
--------------------------------------------------------------------------------
1 | 14.04 trusty 8
2 | 16.04 xenial 8
3 |
--------------------------------------------------------------------------------
/ubuntu/tfs/Dockerfile.template:
--------------------------------------------------------------------------------
1 | FROM microsoft/vsts-agent:$(VSTS_AGENT_TAG)
2 |
3 | RUN set -x \
4 | && curl -fSL $(VSTS_AGENT_URL) -o agent.tgz \
5 | && mkdir agent \
6 | && cd agent \
7 | && tar -xz --no-same-owner -f ../agent.tgz \
8 | && cd .. \
9 | && rm agent.tgz
10 |
11 | COPY ./start.sh .
12 | RUN chmod +x start.sh
13 |
14 | CMD ["./start.sh"]
15 |
--------------------------------------------------------------------------------
/ubuntu/tfs/releases:
--------------------------------------------------------------------------------
1 | tfs-2018-u2 https://vstsagentpackage.azureedge.net/agent/2.131.0/vsts-agent-linux-x64-2.131.0.tar.gz
2 | tfs-2018-u3 https://vstsagentpackage.azureedge.net/agent/2.140.2/vsts-agent-linux-x64-2.140.2.tar.gz
3 |
--------------------------------------------------------------------------------
/ubuntu/tfs/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | if [ -z "$TFS_HOST" -a -z "$TFS_URL" ]; then
5 | echo 1>&2 error: missing TFS_HOST environment variable
6 | exit 1
7 | fi
8 |
9 | if [ -z "$TFS_URL" ]; then
10 | export TFS_URL=https://$TFS_HOST/tfs
11 | fi
12 |
13 | if [ -z "$VSTS_TOKEN_FILE" ]; then
14 | if [ -z "$VSTS_TOKEN" ]; then
15 | echo 1>&2 error: missing VSTS_TOKEN environment variable
16 | exit 1
17 | fi
18 | VSTS_TOKEN_FILE=/vsts/.token
19 | echo -n $VSTS_TOKEN > "$VSTS_TOKEN_FILE"
20 | fi
21 | unset VSTS_TOKEN
22 |
23 | if [ -n "$VSTS_AGENT" ]; then
24 | export VSTS_AGENT="$(eval echo $VSTS_AGENT)"
25 | fi
26 |
27 | if [ -n "$VSTS_WORK" ]; then
28 | export VSTS_WORK="$(eval echo $VSTS_WORK)"
29 | mkdir -p "$VSTS_WORK"
30 | fi
31 |
32 | cd /vsts/agent
33 |
34 | web-server() {
35 | while true; do
36 | printf 'HTTP/1.1 302 Found\r\nLocation: $TFS_URL/_admin/_AgentPool\r\n\r\n' | nc -l -p 80 -q 0 > /dev/null
37 | done
38 | }
39 |
40 | cleanup() {
41 | ./bin/Agent.Listener remove --unattended \
42 | --auth PAT \
43 | --token $(cat "$VSTS_TOKEN_FILE")
44 | }
45 |
46 | if [ -e .agent ]; then
47 | echo "Removing existing VSTS agent configuration..."
48 | cleanup
49 | fi
50 |
51 | trap 'cleanup; exit 130' INT
52 | trap 'cleanup; exit 143' TERM
53 |
54 | export VSO_AGENT_IGNORE=_,MAIL,OLDPWD,PATH,PWD,VSTS_AGENT,TFS_HOST,TFS_URL,VSTS_TOKEN_FILE,VSTS_TOKEN,VSTS_POOL,VSTS_WORK,VSO_AGENT_IGNORE
55 | if [ -n "$VSTS_AGENT_IGNORE" ]; then
56 | export VSO_AGENT_IGNORE=$VSO_AGENT_IGNORE,VSTS_AGENT_IGNORE,$VSTS_AGENT_IGNORE
57 | fi
58 |
59 | source ./env.sh
60 |
61 | ./bin/Agent.Listener configure --unattended \
62 | --agent "${VSTS_AGENT:-$(hostname)}" \
63 | --url "$TFS_URL" \
64 | --auth PAT \
65 | --token $(cat "$VSTS_TOKEN_FILE") \
66 | --pool "${VSTS_POOL:-Default}" \
67 | --work "${VSTS_WORK:-_work}" \
68 | --replace & wait $!
69 |
70 | web-server &
71 | ./bin/Agent.Listener run & wait $!
72 |
--------------------------------------------------------------------------------
/ubuntu/versions:
--------------------------------------------------------------------------------
1 | 14.04 trusty 52
2 | 16.04 xenial 55
3 |
--------------------------------------------------------------------------------
/windows/servercore/10.0.14393/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM microsoft/windowsservercore:10.0.14393.1358
2 | ENV WINDOWS_IMAGE_VERSION=10.0.14393
3 |
4 | RUN mkdir C:\BuildAgent
5 | WORKDIR C:/BuildAgent
6 | COPY ./Start.* ./
7 |
8 | CMD ["Start.cmd"]
--------------------------------------------------------------------------------
/windows/servercore/10.0.14393/Start.cmd:
--------------------------------------------------------------------------------
1 | PowerShell.exe -ExecutionPolicy ByPass .\Start.ps1
2 |
--------------------------------------------------------------------------------