Passer au contenu principal
Pour utiliser des artefacts pendant la configuration des snapshots, vous devrez vous y authentifier lors de la configuration du dépôt. Si vous avez besoin d’accéder à un artefact pendant l’exécution d’une session, utilisez le secrets store dans Devin Settings. Vous trouverez ci-dessous des sections pour AWS, Azure et JFrog. Si vos artefacts se trouvent sur un réseau privé, consultez la page VPC Deployment

AWS Code Artifact

Étape 1 : Téléchargement 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"

# Étape 1 : Créer le rôle IAM pour AWS Artifact
echo "Création du rôle 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

# Vérifier si le rôle IAM a été créé avec succès
if [ $? -eq 0 ]; then
  echo "Rôle IAM $ROLE_NAME créé avec succès."
else
  echo "Échec de la création du rôle IAM $ROLE_NAME."
  exit 1
fi

# Étape 2 : Attacher la politique au rôle pour l'accès à Artifact
echo "Attachement de la politique AWSArtifactReadOnlyAccess au rôle IAM $ROLE_NAME"
aws iam attach-role-policy \
  --role-name "$ROLE_NAME" \
  --policy-arn "$POLICY_ARN"

if [ $? -eq 0 ]; then
  echo "Politique attachée avec succès."
else
  echo "Échec de l'attachement de la politique."
  exit 1
fi

# Étape 3 : Créer les clés d'accès IAM (pour l'accès programmatique)
echo "Création des clés d'accès pour le rôle IAM : $ROLE_NAME"
aws iam create-access-key \
  --user-name "$ROLE_NAME" \
  > access_keys_output.json

# Vérifier si les clés ont été créées
if [ $? -eq 0 ]; then
  echo "Clés d'accès créées avec succès."
  ACCESS_KEY_ID=$(jq -r '.AccessKey.AccessKeyId' access_keys_output.json)
  SECRET_ACCESS_KEY=$(jq -r '.AccessKey.SecretAccessKey')

  echo "ID de clé d'accès : $ACCESS_KEY_ID"
  echo "Clé d'accès secrète : $SECRET_ACCESS_KEY"
else
  echo "Échec de la création des clés d'accès."
  exit 1
fi

# Étape 4 : Afficher les informations du rôle IAM et de la clé d'accès
echo "Le rôle IAM $ROLE_NAME a été créé avec la politique : $POLICY_ARN"
echo "ID de clé d'accès : $ACCESS_KEY_ID"
echo "Clé d'accès secrète : $SECRET_ACCESS_KEY"
Devin Enterprise Architecture

Configuration du dépôt AWS

Étape 2 : Téléchargement de l’artefact
#!/bin/bash

# Variables
ARTIFACT_ID="example-artifact-id"  # Remplacer par l'ID d'artefact réel
# Étape 1 : Récupérer l'URL de l'artefact pour télécharger le rapport
echo "Récupération de l'URL de téléchargement de l'artefact pour l'ID d'artefact : $ARTIFACT_ID"
DOWNLOAD_URL=$(aws artifact describe-artifact \
  --artifact-id "$ARTIFACT_ID" \
  --query "artifactDetails[0].downloadUrl" \
  --output text)

Jfrog Artifactory

Étape 1 : Téléchargement de l’interface CLI
curl -fL https://getcli.jfrog.io | sh
sudo mv jfrog /usr/local/bin/
jfrog config add
jfrog rt config
Devin Enterprise Architecture

Configuration du dépôt JFrog

Étape 2 : Télécharger l’artefact
#!/bin/bash

# Définir les variables pour votre instance Artifactory et les détails de l'artefact
ARTIFACTORY_URL="https://your-artifactory-instance.jfrog.io/artifactory"  # Modifier avec l'URL de votre Artifactory
REPO="my-repository"  # Remplacer par le nom de votre dépôt
ARTIFACT_PATH="my-artifact/my-package/1.0.0/my-package-1.0.0.jar"  # Chemin vers votre artefact dans Artifactory
OUTPUT_DIR="./downloads"  # Répertoire de sauvegarde de l'artefact téléchargé

## Étape 1 : Télécharger l'artefact
echo "Téléchargement de l'artefact $ARTIFACT_PATH depuis $ARTIFACTORY_URL"
jfrog rt dl "$REPO/$ARTIFACT_PATH" "$OUTPUT_DIR/"

## Étape 2 : Vérifier la réussite du téléchargement
if [ $? -eq 0 ]; then
  echo "Artefact téléchargé avec succès dans $OUTPUT_DIR/"
else
  echo "Échec du téléchargement de l'artefact."
  exit 1
fi

Azure Artifacts

Étape 1 : Télécharger la CLI
# Installer le dépôt de paquets 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

# Mettre à jour les listes de paquets et installer le SDK .NET
sudo apt update
sudo apt install -y dotnet-sdk-8.0
dotnet tool install -g AzureArtifactsCredentialProvider
Devin Enterprise Architecture

Configuration du dépôt Azure

Étape 2 : Génération d’un PAT Ensuite, vous devez générer un jeton d’accès personnel (PAT).
  1. Connectez-vous à votre portail Azure DevOps.
  2. Dans le coin supérieur droit, cliquez sur votre profil et sélectionnez Security.
  3. Dans la section Personal Access Tokens, cliquez sur New Token.
  4. Définissez les étendues (« scopes ») pour le jeton. Vous aurez besoin au minimum de l’étendue “Packaging (read)” pour accéder à Azure Artifacts.
  5. Enregistrez votre PAT en lieu sûr, car vous ne pourrez plus l’afficher par la suite.
Étape 3 : Configurer le fichier .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 vous utilisez NuGet, vous aurez besoin de ce qui suit :
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 vous avez besoin d’artefacts Docker provenant d’Azure :
echo your-PAT | docker login https://your-organization-name.azurecr.io --username your-username --password-stdin
Pour démarrer avec Devin Enterprise, contactez notre équipe commerciale pour les entreprises.