| Click to DockerHub | Version |
|---|---|
For agent, you need to set these environment variables in /etc/profile:
export AZ_AGENT_WORK_PATH=agent-01
export AZ_AGENT_NAME=$(awk -v azhostname="$HOSTNAME" 'BEGIN {str=azhostname; split(str, arr, "."); { print arr[1]}}')
export AZ_DEPLOYMENT_GROUP_TAGS=qas # or prd Pay attention in environment where your machine belongs
export AZ_DEPLOYMENT_POOL_NAME=LZ-LINUX
export AZURE_DEVOPS_EXT_PAT=####your devops PAT#### #Execute
source /etc/profile
mkdir -p /var/$AZ_AGENT_WORK_PATHAZP_URL- Required. The Azure DevOps organizationAZP_TOKEN- Required. The personal access token PAT from Azure DevOps.AZP_POOL- The agent pool. Optional. Default value:DefaultAZP_AGENT_NAME- Name of agent to be displayed in DevOps Agent PoolAZP_WORK- Folder where the build will be executed. Default value:_work
Optionals environment variables:
HTTP_PROXY- If you have to use a proxy, this is where you should inform itNO_PROXY- List of domains that should not go through the proxy (serated by comma) Example: meudns.com,github.com (see "Attention, if you use proxy")PROXY_USER- If necessary, inform the username for proxy authenticationPROXY_PASSWORD- If necessary, inform the password for proxy authenticationAZP_DEPLOYMENT_POOL_NAME- If informed, a Deployment Pool type agent will be createdAZP_DEPLOYMENT_GROUP_TAGS- Used with AZP_DEPLOYMENT_POOL_NAME, to specify the comma separated list of tags for the deployment group agent - for example "web, db"
On a Mac, use Docker for Mac, or directy on Linux, run in bash:
To start a container in foreground mode: docker run -ti --rm
To start a container in detached mode:
docker run --name devops-$AZ_AGENT_WORK_PATH \
-d \
-e AZP_URL=https://dev.azure.com/your_subscription \
-e AZP_TOKEN=$AZURE_DEVOPS_EXT_PAT \
-e AZP_POOL=your agent pool name \
-e AZP_AGENT_NAME=$AZ_AGENT_NAME \
-e AZP_WORK=/agent/_work \
-e HTTP_PROXY=http://proxy.domain.com:80 \
-e NO_PROXY=domain.com \
-e PROXY_USER=myuser \
-e PROXY_PASSWORD=XYZ \
-v /var/$AZ_AGENT_WORK_PATH:/agent/_work \
lzocateli/devops-agent-pool-linux-x64:1.0.0To run a container with a deployment pool agent
docker run --name devops-$AZ_AGENT_WORK_PATH \
-d \
-e AZP_DEPLOYMENT_POOL_NAME=$AZ_DEPLOYMENT_POOL_NAME \
-e AZP_DEPLOYMENT_GROUP_TAGS=$AZ_DEPLOYMENT_GROUP_TAGS \
-e AZP_URL=https://dev.azure.com/your_subscription \
-e AZP_TOKEN=$AZURE_DEVOPS_EXT_PAT \
-e AZP_AGENT_NAME=$AZ_AGENT_NAME \
-e AZP_WORK=/agent/_work \
-e HTTP_PROXY=http://proxy.domain.com:80 \
-e NO_PROXY=domain.com \
-e PROXY_USER=myuser \
-e PROXY_PASSWORD=XYZ \
-v /var/$AZ_AGENT_WORK_PATH:/agent/_work \
lzocateli/devops-agent-pool-linux-x64:1.0.0 To podman:
-v /var/$AZ_AGENT_WORK_PATH:/agent/_work:zThe -v parameter indicates that a volume is being mounted on the container host, so it will be possible to keep the _work folder even if the container is not running.
If you do not want to use a volume on the host, just remove the -v line from docker run.
Remember if:
- Path to the left of : is the host path
- Path to the right of : is the path inside the container
Podman volumes:
- Use
:zin the volume mount instruction, or--security-opt label=disableif using a SELinux system, Example:
podman run --security-opt label=disable -v .....- If you are using a proxy, and you have domains in "NO_PROXY", you will need to do this step by step:
- git clone from this repository
- Create the
.proxybypassfile inside the/base-image/agent/folder - Run the command to create your image, as instructed in:
/base-image/agent/readme.md
Lincoln Zocateli: e-mail: lzocateli00@outlook.com, facebook: lzocateli00, twitter: lzocateli00