Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
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 Opciones de implementación
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:
- Usa la Terminal integrada en Devin para instalar y configurar directamente en la máquina las herramientas para repositorios de artefactos.
- 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.
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
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)
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
A continuación, deberás generar un token de acceso personal (PAT).
- Inicia sesión en tu portal de Azure DevOps.
- En la esquina superior derecha, haz clic en tu perfil y selecciona Security.
- En la sección Personal Access Tokens, haz clic en New Token.
- Configura los ámbitos (scopes) del token. Necesitarás como mínimo el ámbito “Packaging (read)” para acceder a Azure Artifacts.
- Guarda tu PAT de forma segura, ya que no podrás verlo de nuevo.
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