En pleno 2022 seguro que queréis trastear con AzureDevops y trastear con pipelines de azure. Pues que sepáis que con una cuenta personal Azure da capa gratuita de AzureDevops, es decir espacio para 1 repo y 5 pipelines (no recuerdo ahora el limite pero lo tiene). Ya pero aunque de gratis AzureDevops lo que no da gratis son las maquinas virtuales donde se ejecutan o despliegan dichas pipelines, esto es cierto, pero si las maquinas las pones tu la cosa cambia y no te cobra nada de nada. El resultado es que puedas jugar todo lo que quieras AzureDevops sin tener que pasar por caja.
Al lio.
Partimos de una maquina centos 7 actualizada.
Lo primero voy ha crear una maquina virtual con centos y vamos a crear un usuario que no sea root.
sudo adduser akaronte passwd akaronte
Añadir el usuario al grupode rooter que le permite ser root
yum install -y wget usermod -aG wheel akaronte
Instalar dependencias
yum install -y yum-utils sudo wget yum-config-manager --save --setopt=EfficiOS-RHEL7-x86-64.skip_if_unavailable=true yum-config-manager --disable EfficiOS-RHEL7-x86-64 yum install -y epel-release yum install -y lttng-ust yum install gssntlmssp -y
Ahora con el usuario que hemos creado nos dejargamos el agente AzureDevios y lo instalamos
sudo su - akaronte wget https://vstsagentpackage.azureedge.net/agent/2.193.1/vsts-agent-linux-x64-2.193.1.tar.gz tar xzvf vsts-agent-linux-x64-2.193.1.tar.gz sudo ./bin/installdependencies.sh
Esto es todo en cuanto a instalar dependencias. En la pagina de nuestro azure devops debemos de crear un token de acceso con permisos, es asi como la maquina accedera a los recursos de nuestra organizacion.
Despues tenemos que crear una PoolAgents que es un grupo de agentes yo lo voy a llamar LocalCentos y cuando me pregunto el nombre del host centos. Cuando hagamos pipelines usaremos el nombre del pool no el nombre especifico de la maquina.
Una vez echo procemos a añadir a nuestro pool
sudo su - akaronte export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 sudo su - akaronte sh ./config.sh
Ahora seguimos las instrucciones para añadir nuestra maquina al POOL
Nos pediría la url de nuestra organización
Enter server URL https://dev.azure.com/akzureops
Personal Access Token
Lo añadimos al crontab para que se ejecute al arrancar el pc
crontab -e @reboot sh /home/akaronte/run.sh
Configuramos el reboot y reiniciamos la maquina.
Con esto cuando el agente arranque automaticamente se unira al pool de agentes disponibles esperando para ser invocado para pipelines.
![](https://piensoluegoinstalo.com/wp-content/uploads/2022/04/AgentOnlinePNG-1024x182.png)
Me temo que el git de centos no le valia al agente linux de Azure devos porque lo que quitar el git que viene por defecto en centos e instalar una version mas avanzada
Quitar GIT
git --version rpm -qi git sudo yum -y remove git package git is not installed rpm -qi git
Instalar GIT
sudo yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm sudo yum install git
Ahora ya podemos ejecutar pipelines en nuestro agente local
stages: - stage: Test jobs: - job: Test pool: LocalCentos continueOnError: true steps: - script: echo "hello piensoluegoinstalo.com"
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo yum install -y powershell
0 comentarios