メインコンテンツへスキップ
スナップショットのセットアップ中に Artifacts を使用するには、リポジトリ構成時に、それらへのアクセス用の認証情報を設定する必要があります。 セッション実行中に Artifact にアクセスする必要がある場合は、Devin Settings 内の secrets store を使用してください。以下に AWS、Azure、Jfrog 向けのセクションがあります。 Artifacts がプライベートネットワーク上にある場合は、VPC Deployment を参照してください。

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 Enterprise Architecture

AWS リポジトリのセットアップ

手順 2: アーティファクトのダウンロード
#!/bin/bash

# 変数
ARTIFACT_ID="example-artifact-id"  # 実際のアーティファクトIDに置き換えてください
# ステップ1: レポートダウンロード用のアーティファクトURLを取得
echo "アーティファクトID: $ARTIFACT_ID のダウンロードURLを取得中"
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 リポジトリのセットアップ

ステップ 2: PAT の生成 次に、Personal Access Token (PAT) を作成する必要があります。
  1. Azure DevOps ポータル にログインします。
  2. 画面右上のプロフィールをクリックし、Security を選択します。
  3. Personal Access Tokens セクションで、New Token をクリックします。
  4. トークンのスコープを設定します。Azure Artifacts にアクセスするには、少なくとも “Packaging (read)” スコープが必要です。
  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 の利用を開始するには、エンタープライズ営業チームまでお問い合わせください。