Uso de paquetes npm en CodeBuild - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de paquetes npm en CodeBuild

Los siguientes pasos se han probado con los sistemas operativos que figuran en las imágenes de Docker proporcionadas por. CodeBuild

Configure los permisos necesarios para los roles de IAM

Estos pasos son necesarios cuando se utilizan paquetes npm desde CodeArtifact dentro. CodeBuild

  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en. https://console.aws.amazon.com/iam/

  2. Seleccione Roles en el panel de navegación. En la página de roles, edite el rol que usa su proyecto de CodeBuild compilación. Este rol debe tener los siguientes permisos.

    { "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" } } } ] }
    importante

    Si también quieres usarlo CodeBuild para publicar paquetes, añade el codeartifact:PublishPackageVersion permiso.

    Para obtener información, consulte Modificación de un rol en la Guía del usuario de IAM.

Regístrese y utilice npm

Para usar los paquetes npm de CodeBuild, ejecuta el login comando de la pre-build sección de tu proyecto desde la buildspec.yaml que deseas npm configurar la búsqueda de paquetes. CodeArtifact Para obtener más información, consulte Autenticación con npm.

Una vez que se haya ejecutado login correctamente, puede ejecutar los comandos npm de la sección build para instalar los paquetes npm.

Linux

nota

Solo es necesario actualizarlo pip3 install awscli --upgrade --user si está utilizando una imagen anterior CodeBuild . AWS CLI Si está utilizando las versiones de imagen más recientes, puede eliminar esa línea.

pre_build: commands: - pip3 install awscli --upgrade --user - aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo build: commands: - npm install

Windows

version: 0.2 phases: install: commands: - '[Net.ServicePointManager]::SecurityProtocol = "Tls12"; Invoke-WebRequest https://awscli.amazonaws.com/AWSCLIV2.msi -OutFile $env:TEMP/AWSCLIV2.msi' - Start-Process -Wait msiexec "/i $env:TEMP\AWSCLIV2.msi /quiet /norestart" pre_build: commands: - '&"C:\Program Files\Amazon\AWSCLIV2\aws" codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo' build: commands: - npm install