Saltar al contenido principal
Para usar artefactos durante la configuración de instantáneas, deberás autenticarte con ellos durante la configuración del repositorio. Si necesitas acceder a un artefacto durante el tiempo de ejecución de una sesión, usa el almacén de secretos dentro de la configuración de Devin. A continuación se muestran las secciones para AWS, Azure y JFrog. Si tus artefactos están en una red privada, consulta VPC Deployment.

AWS Code Artifact

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"

# Paso 1: Crear rol de IAM para AWS Artifact
echo "Creando rol de IAM: $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

# Verificar si el rol de IAM se creó exitosamente
if [ $? -eq 0 ]; then
  echo "Rol de IAM $ROLE_NAME creado exitosamente."
else
  echo "No se pudo crear el rol de IAM $ROLE_NAME."
  exit 1
fi

Paso 2: Asociar política al rol para acceso a Artifact
echo "Asociando política AWSArtifactReadOnlyAccess al rol de IAM $ROLE_NAME"
aws iam attach-role-policy \
  --role-name "$ROLE_NAME" \
  --policy-arn "$POLICY_ARN"

if [ $? -eq 0 ]; then
  echo "Política asociada exitosamente."
else
  echo "No se pudo asociar la política."
  exit 1
fi

Paso 3: Crear claves de acceso de IAM (para acceso programático)
echo "Creando claves de acceso para el rol de IAM: $ROLE_NAME"
aws iam create-access-key \
  --user-name "$ROLE_NAME" \
  > access_keys_output.json

# Verificar si se crearon las claves
if [ $? -eq 0 ]; then
  echo "Claves de acceso creadas exitosamente."
  ACCESS_KEY_ID=$(jq -r '.AccessKey.AccessKeyId' access_keys_output.json)
  SECRET_ACCESS_KEY=$(jq -r '.AccessKey.SecretAccessKey')

  echo "ID de clave de acceso: $ACCESS_KEY_ID"
  echo "Clave de acceso secreta: $SECRET_ACCESS_KEY"
else
  echo "No se pudieron crear las claves de acceso."
  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 se ha creado con la política: $POLICY_ARN"
echo "ID de clave de acceso: $ACCESS_KEY_ID"
echo "Clave de acceso secreta: $SECRET_ACCESS_KEY"
Devin Enterprise Architecture

Configuración del repositorio en AWS

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 reporte
echo "Obteniendo URL de descarga del artefacto para el ID de artefacto: $ARTIFACT_ID"
DOWNLOAD_URL=$(aws artifact describe-artifact \
  --artifact-id "$ARTIFACT_ID" \
  --query "artifactDetails[0].downloadUrl" \
  --output text)

JFrog Artifactory

Paso 1: Descargar la CLI
curl -fL https://getcli.jfrog.io | sh
sudo mv jfrog /usr/local/bin/
jfrog config add
jfrog rt config
Devin Enterprise Architecture

Configuración del repositorio de JFrog

Paso 2: Descargar el 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

Azure Artifacts

Paso 1: Descarga de la CLI
# Instalar el 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 las 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
Devin Enterprise Architecture

Configuración de Azure Repo

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 al menos 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: Configurar el archivo .npmrc:
echo "//pkgs.dev.azure.com/nombre-de-tu-organización/_packaging/nombre-de-tu-feed/npm/registry/:username=AzureDevOps" >> ~/.npmrc
echo "//pkgs.dev.azure.com/nombre-de-tu-organización/_packaging/nombre-de-tu-feed/npm/registry/:_password=$(echo -n tu-PAT | base64)" >> ~/.npmrc
Si trabajas 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 para empresas.