跳转到主要内容
要在快照设置期间使用制品,你需要在配置代码仓库时对这些制品进行身份验证。 如果你在会话运行时需要访问某个制品,请在 Devin 设置中使用机密存储(secrets store)。以下是针对 AWS、Azure 和 JFrog 的相关说明。 如果你的制品位于私有网络,请参阅 VPC 部署

AWS CodeArtifact

第 1 步:下载 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"

# 步骤 1:为 AWS Artifact 创建 IAM 角色
echo "正在创建 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

# 检查 IAM 角色是否创建成功
if [ $? -eq 0 ]; then
  echo "IAM 角色 $ROLE_NAME 创建成功。"
else
  echo "创建 IAM 角色 $ROLE_NAME 失败。"
  exit 1
fi

步骤 2:为角色附加 Artifact 访问策略
echo "正在将 AWSArtifactReadOnlyAccess 策略附加到 IAM 角色 $ROLE_NAME"
aws iam attach-role-policy \
  --role-name "$ROLE_NAME" \
  --policy-arn "$POLICY_ARN"

if [ $? -eq 0 ]; then
  echo "策略附加成功。"
else
  echo "附加策略失败。"
  exit 1
fi

步骤 3:创建 IAM 访问密钥(用于编程访问)
echo "正在为 IAM 角色创建访问密钥:$ROLE_NAME"
aws iam create-access-key \
  --user-name "$ROLE_NAME" \
  > access_keys_output.json

# 检查密钥是否创建成功
if [ $? -eq 0 ]; then
  echo "访问密钥创建成功。"
  ACCESS_KEY_ID=$(jq -r '.AccessKey.AccessKeyId' access_keys_output.json)
  SECRET_ACCESS_KEY=$(jq -r '.AccessKey.SecretAccessKey')

  echo "访问密钥 ID:$ACCESS_KEY_ID"
  echo "私密访问密钥:$SECRET_ACCESS_KEY"
else
  echo "创建访问密钥失败。"
  exit 1
fi

步骤 4:显示 IAM 角色和访问密钥信息
echo "IAM 角色 $ROLE_NAME 已创建,附加策略:$POLICY_ARN"
echo "访问密钥 ID:$ACCESS_KEY_ID"
echo "私密访问密钥:$SECRET_ACCESS_KEY"
Devin 企业架构

AWS 仓库设置

步骤 2:下载制品
#!/bin/bash

# 变量
ARTIFACT_ID="example-artifact-id"  # 替换为实际的 Artifact ID
# 步骤 1:获取用于下载报告的 Artifact URL
echo "正在获取 Artifact ID 的 Artifact 下载 URL:$ARTIFACT_ID"
DOWNLOAD_URL=$(aws artifact describe-artifact \
  --artifact-id "$ARTIFACT_ID" \
  --query "artifactDetails[0].downloadUrl" \
  --output text)

Jfrog Artifactory

第 1 步:下载 CLI
curl -fL https://getcli.jfrog.io | sh
sudo mv jfrog /usr/local/bin/
jfrog config add
jfrog rt config
Devin Enterprise Architecture

JFrog 仓库设置

步骤 2:下载制品
#!/bin/bash

# 设置 Artifactory 实例和制品详细信息的变量
ARTIFACTORY_URL="https://your-artifactory-instance.jfrog.io/artifactory"  # 修改为您的 Artifactory URL
REPO="my-repository"  # 替换为您的仓库名称
ARTIFACT_PATH="my-artifact/my-package/1.0.0/my-package-1.0.0.jar"  # 制品在 Artifactory 中的路径
OUTPUT_DIR="./downloads"  # 保存下载制品的目录

## 步骤 1:下载制品
echo "正在从 $ARTIFACTORY_URL 下载制品 $ARTIFACT_PATH"
jfrog rt dl "$REPO/$ARTIFACT_PATH" "$OUTPUT_DIR/"

## 步骤 2:检查下载是否成功
if [ $? -eq 0 ]; then
  echo "制品已成功下载到 $OUTPUT_DIR/"
else
  echo "制品下载失败。"
  exit 1
fi

Azure Artifacts

第 1 步:下载 CLI
# 安装 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

# 更新软件包列表并安装 .NET SDK
sudo apt update
sudo apt install -y dotnet-sdk-8.0
dotnet tool install -g AzureArtifactsCredentialProvider
Devin Enterprise Architecture

Azure Repo 设置

步骤 2:生成 PAT 接下来,你需要生成一个个人访问令牌(PAT)。
  1. 登录你的 Azure DevOps 门户
  2. 在右上角点击你的个人资料头像,然后选择 Security
  3. Personal Access Tokens 部分,点击 New Token
  4. 为令牌设置作用域。你至少需要 “Packaging (read)” 作用域来访问 Azure Artifacts。
  5. 将你的 PAT 安全保存起来,因为之后将无法再次查看。
步骤 3:配置 .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
如果你使用 NuGet,则需要准备以下内容:
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
如果你需要从 Azure 获取 Docker 制品:
echo your-PAT | docker login https://your-organization-name.azurecr.io --username your-username --password-stdin
如需开始使用 Devin Enterprise,请联系我们的企业销售团队