VSO et Agent de build Docker

Prérequis

  • Serveur Docker DC/OS, swarm, Kubernetes ou docker machine

Version de docker

Tout d’abord sur le serveur docker que vous avez montés, il faut vérifier la version de docker disponible grâce à la commande suivante

docker version

Version

Choisir son agent

Microsoft vous met à disposition des images docker pour lancer un agent VSTS sous linux
Agent docker

Vous devez sélectionner l’agent en fonction de votre version docker sous peine de recevoir le message suivant durant la build

Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.23)

Dans le cas d’une installation DC/OS via Azure Container Service il faut utiliser docker 1.11.2

Personal token

Pour installer un agent dokcer vous devez générer un « Personal token »

Security

Access token

Création du Access token

Le token ne peut plus être retrouvé dans l’interface VSO il faudra en recréer un si vous le perdez

Installer l’agent

Via DC/OS

Création du service

Container

Variables

Volumes

Il est important de monter le volume docker.sock car sinon vous ne pourrez builder et receverez le message suivant

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Via une docker machine

docker run \
  -e VSTS_ACCOUNT=<name> \
  -e VSTS_TOKEN=<pat> \
  -v /var/run/docker.sock:/var/run/docker.sock
  -it microsoft/vsts-agent

Via une machine swarm

export DOCKER_HOST=:2375

docker run \
  -e VSTS_ACCOUNT=<name> \
  -e VSTS_TOKEN=<pat> \
  -v /var/run/docker.sock:/var/run/docker.sock
  -it microsoft/vsts-agent

La version actuelle ne supporte pas les commandes powershell donc adieu les tasks faites en script PS 🙁

Pool d’agents

Sur DC/OS une fois l’agent installé vous pouvez vérifier sa connexion

Container Agent

Puis dans l’interface VSO vous devez retrouver celui-ci dans la section « Default »

Agent Pool

Références

DCOS Installation
DCOS Connect
Agent docker

Suite

Partie 2