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.
Configurar Swift Package Manager con CodeArtifact
Para usar Swift Package Manager para publicar paquetes o consumir paquetes de AWS CodeArtifact, primero tendrá que configurar las credenciales para acceder a su repositorio de CodeArtifact. El método recomendado para configurar la CLI de Swift Package Manager con sus credenciales de CodeArtifact y el punto de conexión del repositorio es mediante el comando aws codeartifact login. También puede configurar Swift Package Manager manualmente.
Configurar Swift con el comando login
Utilice el comando aws codeartifact login para configurar Swift Package Manager con CodeArtifact.
nota
Para usar el comando de inicio de sesión, se requiere Swift 5.8 o posterior y se recomienda Swift 5.9 o posterior.
El comando aws codeartifact login hará lo siguiente:
-
Obtenga un token de autenticación de CodeArtifact y guárdelo en su entorno. La forma en que se almacenan las credenciales depende del sistema operativo del entorno:
macOS: se crea una entrada en la aplicación MacOS Keychain.
Linux y Windows: se crea una entrada en el archivo
~/.netrc.
En todos los sistemas operativos, si existe una entrada de credenciales, este comando la reemplaza por un nuevo token.
Busque la URL del punto de conexión del repositorio de CodeArtifact y agréguela a su archivo de configuración de Swift. El comando añade la URL del punto de conexión del repositorio al archivo de configuración a nivel de proyecto ubicado en
/path/to/project/.swiftpm/configuration/registries.json.
nota
El comando aws codeartifact login llama a comandos swift package-registry que deben ejecutarse desde el directorio que contiene el archivo Package.swift. Por ello, debe ejecutarse el comando aws codeartifact login desde el proyecto Swift.
Para configurar Swift con el comando login
Navegue hasta el directorio del proyecto Swift que contiene el archivo
Package.swiftde su proyecto.Ejecute el comando
aws codeartifact loginsiguiente.Si va a acceder a un repositorio de un dominio de su propiedad, no tiene que incluir
--domain-owner. Para obtener más información, consulte Dominios entre cuentas.aws codeartifact login --toolswift--domainmy_domain\ --domain-owner111122223333--repositorymy_repo\ [--namespacemy_namespace]
La opción --namespace configura la aplicación para que solo consuma paquetes de su repositorio de CodeArtifact si están en el espacio de nombres designado. Los espacios de nombres CodeArtifact son sinónimos de ámbitos y se utilizan para organizar el código en grupos lógicos y evitar las colisiones de nombres que pueden producirse cuando la base de código incluye varias bibliotecas.
El período de autorización predeterminado después de una llamada login es de 12 horas y login debe invocarse para actualizar periódicamente el token. Para obtener más información sobre el token de autorización creado con el comando login, consulte Tokens creados con el comando login.
Configurar Swift sin el comando login
Si bien se recomienda configurar Swift con el comando aws codeartifact login, también puede configurar Swift Package Manager sin el comando login actualizando manualmente la configuración de Swift Package Manager.
En el siguiente procedimiento, utilizará la AWS CLI para hacer lo siguiente:
Obtenga un token de autenticación de CodeArtifact y guárdelo en su entorno. La forma en que se almacenan las credenciales depende del sistema operativo del entorno:
macOS: se crea una entrada en la aplicación MacOS Keychain.
Linux y Windows: se crea una entrada en el archivo
~/.netrc.
Obtenga la URL del punto de conexión de su repositorio de CodeArtifact.
En el archivo de configuración
~/.swiftpm/configuration/registries.json, añada una entrada con la URL del punto de conexión del repositorio y el tipo de autenticación.
Para configurar Swift sin el comando login
En una línea de comandos, utilice el siguiente comando para obtener un token de autorización de CodeArtifact y almacenarlo en una variable de entorno.
Sustituya
my_domainpor su nombre de dominio de CodeArtifact.Sustituya
111122223333por el ID de la cuenta de AWS del propietario del dominio. Si va a acceder a un repositorio de un dominio de su propiedad, no tiene que incluir--domain-owner. Para obtener más información, consulte Dominios entre cuentas.
Obtenga el siguiente comando para obtener el punto de conexión del repositorio de CodeArtifact. El punto de conexión de su repositorio se utiliza para dirigir Swift Package Manager a su repositorio para consumir o publicar paquetes.
Sustituya
my_domainpor su nombre de dominio de CodeArtifact.Sustituya
111122223333por el ID de la cuenta de AWS del propietario del dominio. Si va a acceder a un repositorio de un dominio de su propiedad, no tiene que incluir--domain-owner. Para obtener más información, consulte Dominios entre cuentas.Sustituya
my_repopor el nombre de su repositorio de CodeArtifact.
La siguiente URL es un punto de conexión de repositorio de ejemplo.
https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my_repo/nota
Si quiere utilizar un punto de conexión de pila doble, use el punto de conexión
codeartifact..region.on.awsimportante
Debe añadir
loginal final del punto de conexión de la URL del repositorio cuando se utilice para configurar Swift Package Manager. Esto se hace automáticamente en los comandos de este procedimiento.Con estos dos valores almacenados en variables de entorno, páselos a Swift usando el comando
swift package-registry loginde la siguiente manera:A continuación, actualice el registro de paquetes utilizado por su aplicación para que cualquier dependencia se extraiga del repositorio de CodeArtifact. Este comando debe ejecutarse en el directorio del proyecto en el que intenta resolver la dependencia del paquete:
La opción
--scopeconfigura la aplicación para que solo consuma paquetes de su repositorio de CodeArtifact si están dentro del ámbito designado. Los ámbitos son sinónimos de los espacios de nombres de CodeArtifact y se utilizan para organizar el código en grupos lógicos y evitar las colisiones de nombres que pueden producirse cuando la base de código incluye varias bibliotecas.-
Para confirmar que la configuración se ha configurado correctamente, consulte el contenido del archivo
.swiftpm/configuration/registries.jsona nivel de proyecto ejecutando el siguiente comando en el directorio del proyecto:$ cat .swiftpm/configuration/registries.json { "authentication" : { }, "registries" : { "[default]" : { "url" : "https://my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my-repo/" } }, "version" : 1 }
Ahora que ha configurado Swift Package Manager con su repositorio de CodeArtifact, puede usarlo para publicar y consumir paquetes Swift desde y hacia él. Para obtener más información, consulte Consumir y publicar paquetes de Swift.