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.
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"PD: Añadir Powershell
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo yum install -y powershell
0 comentarios