Utilisation de NuGet packages dans CodeBuild - CodeArtifact

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de NuGet packages dans CodeBuild

Les étapes suivantes ont été testées avec les systèmes d'exploitation répertoriés dans les images Docker fournies par CodeBuild.

Configurer des autorisations avec des rôles IAM

Ces étapes sont obligatoires lors de l'utilisation de NuGet packages depuis et CodeArtifact vers CodeBuild.

  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/l'adresse.

  2. Dans le panneau de navigation, choisissez Roles (Rôles). Sur la page Rôles, modifiez le rôle utilisé par votre projet de CodeBuild construction. Ce rôle doit disposer des autorisations suivantes.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:GetAuthorizationToken", "codeartifact:GetRepositoryEndpoint", "codeartifact:ReadFromRepository" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }
    Important

    Si vous souhaitez également utiliser pour CodeBuild publier des packages, ajoutez l'codeartifact:PublishPackageVersionautorisation.

    Pour plus d'informations, consultez la section Modification d'un rôle dans le guide de l'utilisateur IAM.

Consommez NuGet des colis

Pour utiliser des NuGet packages à partir de CodeBuild, incluez les éléments suivants dans le buildspec.yaml fichier de votre projet.

  1. Dans install cette section, installez le fournisseur CodeArtifact d'informations d'identification pour configurer des outils de ligne de commande tels que, ainsi que msbuild dotnet pour créer et publier des packages. CodeArtifact

  2. Dans la pre-build section, ajoutez votre CodeArtifact référentiel à votre NuGet configuration.

Consultez les buildspec.yaml exemples suivants. Pour de plus amples informations, veuillez consulter Utilisation CodeArtifact avec NuGet.

Une fois le fournisseur d'informations d'identification installé et la source de votre référentiel ajoutée, vous pouvez exécuter les commandes de l'outil NuGet CLI depuis la build section pour utiliser les NuGet packages.

Linux

Pour consommer des NuGet packages à l'aide de dotnet :

version: 0.2 phases: install: runtime-versions: dotnet: latest commands: - export PATH="$PATH:/root/.dotnet/tools" - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)"v3/index.json" build: commands: - dotnet add package <packageName> --source codeartifact

Windows

Pour consommer des NuGet packages à l'aide de dotnet :

version: 0.2 phases: install: commands: - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)v3/index.json" build: commands: - dotnet add package <packageName> --source codeartifact

Construire avec des NuGet packages

Pour créer avec des NuGet packages provenant de CodeBuild, incluez les éléments suivants dans le buildspec.yaml fichier de votre projet.

  1. Dans install cette section, installez le fournisseur CodeArtifact d'informations d'identification pour configurer des outils de ligne de commande tels que, ainsi que msbuild dotnet pour créer et publier des packages. CodeArtifact

  2. Dans la pre-build section, ajoutez votre CodeArtifact référentiel à votre NuGet configuration.

Consultez les buildspec.yaml exemples suivants. Pour de plus amples informations, veuillez consulter Utilisation CodeArtifact avec NuGet.

Une fois le fournisseur d'informations d'identification installé et la source de votre référentiel ajoutée, vous pouvez exécuter les commandes de l'outil NuGet CLI comme indiqué dotnet build dans la build section.

Linux

Pour créer des NuGet packages à l'aide de dotnet :

version: 0.2 phases: install: runtime-versions: dotnet: latest commands: - export PATH="$PATH:/root/.dotnet/tools" - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)"v3/index.json" build: commands: - dotnet build

Pour créer des NuGet packages à l'aide de msbuild :

version: 0.2 phases: install: runtime-versions: dotnet: latest commands: - export PATH="$PATH:/root/.dotnet/tools" - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)"v3/index.json" build: commands: - msbuild -t:Rebuild -p:Configuration=Release

Windows

Pour créer des NuGet packages à l'aide de dotnet :

version: 0.2 phases: install: commands: - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)v3/index.json" build: commands: - dotnet build

Pour créer des NuGet packages à l'aide de msbuild :

version: 0.2 phases: install: commands: - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)v3/index.json" build: commands: - msbuild -t:Rebuild -p:Configuration=Release

Publier des NuGet packages

Pour publier des NuGet packages CodeBuild, incluez les éléments suivants dans le buildspec.yaml fichier de votre projet.

  1. Dans install cette section, installez le fournisseur CodeArtifact d'informations d'identification pour configurer des outils de ligne de commande tels que, ainsi que msbuild dotnet pour créer et publier des packages. CodeArtifact

  2. Dans la pre-build section, ajoutez votre CodeArtifact référentiel à votre NuGet configuration.

Consultez les buildspec.yaml exemples suivants. Pour de plus amples informations, veuillez consulter Utilisation CodeArtifact avec NuGet.

Une fois le fournisseur d'informations d'identification installé et la source de votre référentiel ajoutée, vous pouvez exécuter les commandes de l'outil NuGet CLI depuis la build section et publier vos NuGet packages.

Linux

Pour publier des NuGet packages à l'aide de dotnet :

version: 0.2 phases: install: runtime-versions: dotnet: latest commands: - export PATH="$PATH:/root/.dotnet/tools" - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact $(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)"v3/index.json" build: commands: - dotnet pack -o . - dotnet nuget push *.nupkg -s codeartifact

Windows

Pour publier des NuGet packages à l'aide de dotnet :

version: 0.2 phases: install: commands: - dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider - dotnet codeartifact-creds install pre_build: commands: - dotnet nuget add source -n codeartifact "$(aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget --query repositoryEndpoint --output text)v3/index.json" build: commands: - dotnet pack -o . - dotnet nuget push *.nupkg -s codeartifact