Introducción

Azure Artifacts es un servicio de Azure DevOps que permite a los equipos de desarrollo crear, alojar y compartir paquetes con otros equipos. Es compatible con varios tipos de paquetes, incluidos NuGet, npm, Maven y Python. Azure Artifacts facilita la gestión de dependencias y la integración continua, mejorando la eficiencia y la colaboración en el desarrollo de software.

Contenidos

  1. ¿Qué son los Artefactos de Azure?
  2. Configuración de Azure Artifacts
  3. Publicación de paquetes en Azure Artifacts
  4. Consumo de paquetes desde Azure Artifacts
  5. Ejemplo práctico
  6. Ejercicio práctico
  7. Conclusión

  1. ¿Qué son los Artefactos de Azure?

Azure Artifacts es un sistema de gestión de paquetes que permite a los desarrolladores:

  • Crear y alojar paquetes: Puedes crear paquetes de código y alojarlos en Azure Artifacts.
  • Compartir paquetes: Los paquetes pueden ser compartidos con otros equipos dentro de la organización.
  • Gestionar dependencias: Facilita la gestión de dependencias de proyectos, asegurando que todos los desarrolladores utilicen las mismas versiones de los paquetes.

Tipos de paquetes soportados

Tipo de Paquete Descripción
NuGet Paquetes para proyectos .NET.
npm Paquetes para proyectos Node.js.
Maven Paquetes para proyectos Java.
Python Paquetes para proyectos Python.

  1. Configuración de Azure Artifacts

Paso 1: Crear un feed de Azure Artifacts

  1. Navega a tu proyecto en Azure DevOps.
  2. Selecciona Artifacts en el menú lateral.
  3. Haz clic en New Feed.
  4. Introduce un nombre para el feed y selecciona las opciones de visibilidad.
  5. Haz clic en Create.

Paso 2: Configurar el feed en tu proyecto

Para configurar el feed en tu proyecto, debes agregar la fuente del paquete en tu archivo de configuración de dependencias. Aquí hay ejemplos para diferentes tipos de paquetes:

NuGet (Visual Studio)

<configuration>
  <packageSources>
    <add key="MyAzureArtifactsFeed" value="https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/nuget/v3/index.json" />
  </packageSources>
</configuration>

npm (Node.js)

npm set registry https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/npm/registry/

Maven (Java)

<repositories>
  <repository>
    <id>MyAzureArtifactsFeed</id>
    <url>https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/maven/v1</url>
  </repository>
</repositories>

Python

pip config set global.index-url https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/pypi/simple/

  1. Publicación de paquetes en Azure Artifacts

Publicar un paquete NuGet

  1. Crea un archivo .nuspec para tu paquete.
  2. Usa el comando nuget pack para crear el paquete.
  3. Publica el paquete usando el comando nuget push:
nuget push {package}.nupkg -Source "MyAzureArtifactsFeed"

Publicar un paquete npm

  1. Crea un archivo package.json para tu paquete.
  2. Usa el comando npm publish para publicar el paquete:
npm publish --registry https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/npm/registry/

  1. Consumo de paquetes desde Azure Artifacts

Consumir un paquete NuGet

  1. Agrega la fuente del paquete en tu archivo NuGet.config.
  2. Usa el comando nuget install para instalar el paquete:
nuget install {packageName} -Source "MyAzureArtifactsFeed"

Consumir un paquete npm

  1. Configura el registro de npm.
  2. Usa el comando npm install para instalar el paquete:
npm install {packageName}

  1. Ejemplo práctico

Publicar y consumir un paquete npm

Paso 1: Crear y publicar el paquete

  1. Crea un nuevo proyecto npm:
mkdir my-npm-package
cd my-npm-package
npm init -y
  1. Agrega un archivo index.js con el siguiente contenido:
module.exports = function() {
  console.log("Hello from my npm package!");
};
  1. Publica el paquete en Azure Artifacts:
npm publish --registry https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/npm/registry/

Paso 2: Consumir el paquete

  1. Crea un nuevo proyecto npm:
mkdir my-npm-app
cd my-npm-app
npm init -y
  1. Configura el registro de npm y instala el paquete:
npm set registry https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/npm/registry/
npm install my-npm-package
  1. Usa el paquete en tu aplicación:
const myPackage = require('my-npm-package');
myPackage();

  1. Ejercicio práctico

Ejercicio: Publicar y consumir un paquete NuGet

Instrucciones

  1. Crea un paquete NuGet con una clase que tenga un método que devuelva un saludo.
  2. Publica el paquete en Azure Artifacts.
  3. Crea una aplicación de consola que consuma el paquete y muestre el saludo en la consola.

Solución

  1. Crea el paquete NuGet:
// MyPackage.cs
public class MyPackage
{
    public string GetGreeting()
    {
        return "Hello from my NuGet package!";
    }
}
  1. Crea el archivo .nuspec y empaqueta el proyecto:
<?xml version="1.0"?>
<package>
  <metadata>
    <id>MyNuGetPackage</id>
    <version>1.0.0</version>
    <authors>YourName</authors>
    <description>A sample NuGet package</description>
  </metadata>
</package>
nuget pack MyPackage.csproj
  1. Publica el paquete:
nuget push MyNuGetPackage.1.0.0.nupkg -Source "MyAzureArtifactsFeed"
  1. Crea la aplicación de consola y consume el paquete:
// Program.cs
using System;
using MyNuGetPackage;

class Program
{
    static void Main()
    {
        var myPackage = new MyPackage();
        Console.WriteLine(myPackage.GetGreeting());
    }
}
nuget install MyNuGetPackage -Source "MyAzureArtifactsFeed"

  1. Conclusión

En esta sección, hemos aprendido sobre Azure Artifacts, cómo configurarlo, publicar y consumir paquetes. Azure Artifacts es una herramienta poderosa para la gestión de dependencias y la colaboración en equipos de desarrollo. Con la práctica y el uso continuo, se convertirá en una parte esencial de tu flujo de trabajo de desarrollo en Azure DevOps.

© Copyright 2024. Todos los derechos reservados