Saltar al contenido principal
Para usar artefactos durante la configuración del snapshot, tendrás que autenticarte frente a ellos durante la configuración del repositorio. Si necesitas almacenar secretos para la autenticación de artefactos, puedes guardarlos directamente en el sistema de archivos de la máquina (por ejemplo, en un archivo o exportando variables de entorno) o usar el Administrador de Secretos de Devin. A continuación se incluyen secciones para AWS, Azure y JFrog. Si tus artefactos están en una red privada, consulta Implementación en VPC

Configuración de la máquina de Devin

Para integrarte con tus repositorios de artefactos, deberás configurar tu máquina de Devin con las credenciales y herramientas adecuadas. Hay dos formas principales de hacerlo:
  1. Usa la Terminal integrada en Devin para instalar y configurar directamente en la máquina las herramientas para repositorios de artefactos.
  2. Usa la pestaña Setup Agent (ubicada en la columna central de la máquina de Devin durante la configuración del repositorio) y pídele a Devin que te ayude con la configuración.
Ejemplo de uso de la configuración del repositorio de JFrog

Ejemplo de uso de la Terminal integrada para la configuración del repositorio de JFrog

Jfrog Artifactory

Paso 1: Descarga de la CLI

curl -fL https://getcli.jfrog.io | sh
sudo mv jfrog /usr/local/bin/
jfrog config add
jfrog rt config

Paso 2: Descargar artefacto

#!/bin/bash

# Configura las variables para tu instancia de Artifactory y los detalles del artefacto
ARTIFACTORY_URL="https://your-artifactory-instance.jfrog.io/artifactory"  # Cambia esto por tu URL de Artifactory
REPO="my-repository"  # Reemplaza con el nombre de tu repositorio
ARTIFACT_PATH="my-artifact/my-package/1.0.0/my-package-1.0.0.jar"  # Ruta al artefacto en Artifactory
OUTPUT_DIR="./downloads"  # Directorio donde guardar el artefacto descargado

## Paso 1: Descargar el artefacto
echo "Descargando artefacto $ARTIFACT_PATH desde $ARTIFACTORY_URL"
jfrog rt dl "$REPO/$ARTIFACT_PATH" "$OUTPUT_DIR/"

## Paso 2: Verificar si la descarga fue exitosa
if [ $? -eq 0 ]; then
  echo "Artefacto descargado correctamente en $OUTPUT_DIR/"
else
  echo "Error al descargar el artefacto."
  exit 1
fi

AWS CodeArtifact

Paso 1: Descarga de la CLI

#!/bin/bash

# Variables
ROLE_NAME="robot-artifact-iam-role"
POLICY_ARN="arn:aws:iam::aws:policy/AWSArtifactReadOnlyAccess"
KEY_PAIR_NAME="robot-artifact-key-pair"

# Step 1: Create IAM Role for AWS Artifact
echo "Creating IAM Role: $ROLE_NAME"
aws iam create-role \
  --role-name "$ROLE_NAME" \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Principal": {
          "Service": "artifact.amazonaws.com"
        }
      }
    ]
  }' > create_role_output.json

# Check if IAM Role was created successfully
if [ $? -eq 0 ]; then
  echo "IAM Role $ROLE_NAME created successfully."
else
  echo "Failed to create IAM Role $ROLE_NAME."
  exit 1
fi

# Step 2: Attach Policy to Role for Artifact Access
echo "Attaching AWSArtifactReadOnlyAccess policy to IAM Role $ROLE_NAME"
aws iam attach-role-policy \
  --role-name "$ROLE_NAME" \
  --policy-arn "$POLICY_ARN"

if [ $? -eq 0 ]; then
  echo "Policy attached successfully."
else
  echo "Failed to attach policy."
  exit 1
fi

# Step 3: Create IAM Access Keys (for programmatic access)
echo "Creating Access Keys for IAM Role: $ROLE_NAME"
aws iam create-access-key \
  --user-name "$ROLE_NAME" \
  > access_keys_output.json

# Check if keys were created
if [ $? -eq 0 ]; then
  echo "Access keys created successfully."
  ACCESS_KEY_ID=$(jq -r '.AccessKey.AccessKeyId' access_keys_output.json)
  SECRET_ACCESS_KEY=$(jq -r '.AccessKey.SecretAccessKey' access_keys_output.json)

  echo "Access Key ID: $ACCESS_KEY_ID"
  echo "Secret Access Key: $SECRET_ACCESS_KEY"
else
  echo "Failed to create access keys."
  exit 1
fi

# Paso 4: Mostrar la información del rol de IAM y las claves de acceso
echo "El rol de IAM $ROLE_NAME ha sido creado con la política: $POLICY_ARN"
echo "ID de clave de acceso: $ACCESS_KEY_ID"
echo "Clave de acceso secreta: $SECRET_ACCESS_KEY"

Paso 2: Descargar el artefacto

#!/bin/bash

# Variables
ARTIFACT_ID="example-artifact-id"  # Reemplazar con el ID de artefacto real
# Paso 1: Obtener la URL del artefacto para descargar el informe
echo "Fetching artifact download URL for Artifact ID: $ARTIFACT_ID"
DOWNLOAD_URL=$(aws artifact describe-artifact \
  --artifact-id "$ARTIFACT_ID" \
  --query "artifactDetails[0].downloadUrl" \
  --output text)

Azure Artifacts

Paso 1: Descargar la CLI

# Instalar repositorio de paquetes de Microsoft
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

# Actualizar listas de paquetes e instalar el SDK de .NET
sudo apt update
sudo apt install -y dotnet-sdk-8.0
dotnet tool install -g AzureArtifactsCredentialProvider

Paso 2: Generar un PAT

A continuación, deberás generar un token de acceso personal (PAT).
  1. Inicia sesión en tu portal de Azure DevOps.
  2. En la esquina superior derecha, haz clic en tu perfil y selecciona Security.
  3. En la sección Personal Access Tokens, haz clic en New Token.
  4. Configura los ámbitos (scopes) del token. Necesitarás como mínimo el ámbito “Packaging (read)” para acceder a Azure Artifacts.
  5. Guarda tu PAT de forma segura, ya que no podrás verlo de nuevo.

Paso 3: Configura el archivo .npmrc

echo "//pkgs.dev.azure.com/your-organization-name/_packaging/your-feed-name/npm/registry/:username=AzureDevOps" >> ~/.npmrc
echo "//pkgs.dev.azure.com/your-organization-name/_packaging/your-feed-name/npm/registry/:_password=$(echo -n your-PAT | base64)" >> ~/.npmrc
Si estás trabajando con NuGet, necesitarás lo siguiente:
mkdir -p ~/.nuget
cat <<EOL > ~/.nuget/nuget.config
<configuration>
  <packageSources>
    <add key="Azure Artifacts" value="https://pkgs.dev.azure.com/your-organization-name/_packaging/your-feed-name/nuget/v3/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <Azure_Artifacts>
      <add key="Username" value="AzureDevOps" />
      <add key="ClearTextPassword" value="your-PAT" />
    </Azure_Artifacts>
  </packageSourceCredentials>
</configuration>
EOL
Si necesitas artefactos de Docker de Azure:
echo your-PAT | docker login https://your-organization-name.azurecr.io --username your-username --password-stdin
Para empezar a usar Devin Enterprise, ponte en contacto con nuestro equipo de ventas Enterprise.