Consumir y publicar paquetes de Swift - 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.

Consumir y publicar paquetes de Swift

Consumir paquetes Swift desde CodeArtifact

Utilice el siguiente procedimiento para consumir paquetes Swift de un AWS CodeArtifact repositorio.

Para consumir paquetes Swift de un CodeArtifact repositorio
  1. Si no lo has hecho, sigue los pasos que se indican Configure el Swift Package Manager con CodeArtifact a continuación para configurar el Swift Package Manager para que utilice tu CodeArtifact repositorio con las credenciales adecuadas.

    nota

    El token de autorización generado es válido durante 12 horas. Deberá crear uno nuevo si han pasado 12 horas desde que se creó el token.

  2. Edite el archivo Package.swift en la carpeta del proyecto de su aplicación para actualizar las dependencias del paquete que utilizará su proyecto.

    1. Si el archivo Package.swift no contiene una sección dependencies, añada una.

    2. En la sección dependencies del archivo Package.swift, añada el paquete que desee utilizar añadiendo su identificador de paquete. El identificador del paquete consiste en el ámbito y el nombre del paquete separados por un punto. Consulte el fragmento de código que sigue a un paso posterior para ver un ejemplo.

      sugerencia

      Para encontrar el identificador del paquete, puedes usar la CodeArtifact consola. Busque la versión específica del paquete que desea utilizar y consulte las instrucciones de acceso directo de instalación en la página de la versión del paquete.

    3. Si el archivo Package.swift no contiene una sección targets, añada una.

    4. En la sección targets, añada los destinos que necesitarán usar la dependencia.

      El siguiente fragmento es un ejemplo de fragmento que muestra las secciones dependencies y targets configuradas en un archivo Package.swift:

      ... ], dependencies: [ .package(id: "my_scope.package_name", from: "1.0.0") ], targets: [ .target( name: "MyApp", dependencies: ["package_name"] ),... ], ...
  3. Ahora que todo está configurado, usa el siguiente comando para descargar las dependencias del paquete. CodeArtifact

    swift package resolve

Consumir paquetes Swift desde CodeArtifact Xcode

Utilice el siguiente procedimiento para consumir paquetes Swift de un CodeArtifact repositorio en Xcode.

Para consumir paquetes Swift de un CodeArtifact repositorio en Xcode
  1. Si no lo has hecho, sigue los pasos que se indican Configure el Swift Package Manager con CodeArtifact a continuación para configurar el Swift Package Manager para que utilice tu CodeArtifact repositorio con las credenciales adecuadas.

    nota

    El token de autorización generado es válido durante 12 horas. Deberá crear uno nuevo si han pasado 12 horas desde que se creó el token.

  2. Agregue los paquetes como una dependencia en su proyecto en Xcode.

    1. Seleccione Archivo > Añadir paquetes.

    2. Busque su paquete usando la barra de búsqueda. Su búsqueda debe estar en la forma package_scope.package_name.

    3. Una vez encontrado, elija el paquete y elija Añadir paquete.

    4. Una vez que se verifique el paquete, elija los productos del paquete que desea agregar como dependencia y elija Agregar paquete.

Si tienes problemas al usar tu CodeArtifact repositorio con Xcode, consulta Solución de problemas de Swift los problemas más comunes y las posibles soluciones.

Publicar paquetes de Swift en CodeArtifact

CodeArtifact recomienda Swift 5.9 o posterior y usar el swift package-registry publish comando para publicar paquetes de Swift. Si utiliza una versión anterior, debe utilizar un comando Curl para publicar los paquetes de Swift en ella. CodeArtifact

Publicar CodeArtifact paquetes con el comando swift package-registry publish

Utilice el siguiente procedimiento con Swift 5.9 o posterior para publicar paquetes de Swift en un CodeArtifact repositorio con Swift Package Manager.

  1. Si no lo has hecho, sigue los pasos que se indican Configure el Swift Package Manager con CodeArtifact a continuación para configurar el Swift Package Manager para que utilice tu CodeArtifact repositorio con las credenciales adecuadas.

    nota

    El token de autorización generado es válido durante 12 horas. Deberá crear uno nuevo si han pasado 12 horas desde su creación.

  2. Navegue hasta el directorio del proyecto Swift que contiene el archivo Package.swift de su paquete.

  3. Ejecute el comando siguiente, para publicar el paquete swift package-registry publish. El comando crea un archivo fuente del paquete y lo publica en su CodeArtifact repositorio.

    swift package-registry publish packageScope.packageName packageVersion

    Por ejemplo:

    swift package-registry publish myScope.myPackage 1.0.0
  4. Puede confirmar que el paquete se publicó y existe en el repositorio comprobando en la consola o usando el comando aws codeartifact list-packages de la siguiente manera:

    aws codeartifact list-packages --domain my_domain --repository my_repo

    Puede enumerar la versión única del paquete usando el comando aws codeartifact list-package-versions de la siguiente manera:

    aws codeartifact list-package-versions --domain my_domain --repository my_repo \ --format swift --namespace my_scope --package package_name

Publicar CodeArtifact paquetes con Curl

Aunque se recomienda usar el swift package-registry publish comando que viene con Swift 5.9 o una versión posterior, también puedes usar Curl para publicar paquetes de Swift en él. CodeArtifact

Utilice el siguiente procedimiento para publicar paquetes de Swift en un AWS CodeArtifact repositorio con Curl.

  1. Si no lo ha hecho, cree y actualice las variables de entorno CODEARTIFACT_AUTH_TOKEN y CODEARTIFACT_REPO siguiendo los pasos que se indican en Configure el Swift Package Manager con CodeArtifact.

    nota

    El token de autorización es válido durante 12 horas. Deberá actualizar la variable de entorno CODEARTIFACT_AUTH_TOKEN con nuevas credenciales si han pasado 12 horas desde su creación.

  2. En primer lugar, si no tiene un paquete Swift creado, puede hacerlo ejecutando los siguientes comandos:

    mkdir testDir && cd testDir swift package init git init . swift package archive-source
  3. Usa el siguiente comando Curl para publicar tu paquete Swift en: CodeArtifact

    macOS and Linux
    curl -X PUT --user "aws:$CODEARTIFACT_AUTH_TOKEN" \ -H "Accept: application/vnd.swift.registry.v1+json" \ -F source-archive="@test_dir_package_name.zip" \ "${CODEARTIFACT_REPO}my_scope/package_name/packageVersion"
    Windows
    curl -X PUT --user "aws:%CODEARTIFACT_AUTH_TOKEN%" \ -H "Accept: application/vnd.swift.registry.v1+json" \ -F source-archive="@test_dir_package_name.zip" \ "%CODEARTIFACT_REPO%my_scope/package_name/packageVersion"
  4. Puede confirmar que el paquete se publicó y existe en el repositorio comprobando en la consola o usando el comando aws codeartifact list-packages de la siguiente manera:

    aws codeartifact list-packages --domain my_domain --repository my_repo

    Puede enumerar la versión única del paquete usando el comando aws codeartifact list-package-versions de la siguiente manera:

    aws codeartifact list-package-versions --domain my_domain --repository my_repo \ --format swift --namespace my_scope --package package_name

Extraer paquetes de Swift GitHub y volver a publicarlos en CodeArtifact

Utilice el siguiente procedimiento para obtener un paquete Swift de un repositorio GitHub y volver a publicarlo en él. CodeArtifact

Para obtener un paquete de Swift GitHub y volver a publicarlo en CodeArtifact
  1. Si no lo has hecho, sigue los pasos que se indican Configure el Swift Package Manager con CodeArtifact a continuación para configurar el Swift Package Manager para que utilice tu CodeArtifact repositorio con las credenciales adecuadas.

    nota

    El token de autorización generado es válido durante 12 horas. Deberá crear uno nuevo si han pasado 12 horas desde que se creó el token.

  2. Clone el repositorio git del paquete Swift que desea recuperar y volver a publicar con el siguiente comando git clone. Para obtener información sobre la clonación de GitHub repositorios, consulta Cómo clonar un repositorio en los documentos. GitHub

    git clone repoURL
  3. Navegue hasta el repositorio que acaba de clonar:

    cd repoName
  4. Crea el paquete y publícalo en. CodeArtifact

    1. Recomendado: Si utilizas Swift 5.9 o una versión posterior, puedes usar el siguiente swift package-registry publish comando para crear el paquete y publicarlo en el CodeArtifact repositorio que hayas configurado.

      swift package-registry publish packageScope.packageName versionNumber

      Por ejemplo:

      swift package-registry publish myScope.myPackage 1.0.0
    2. Si utilizas una versión de Swift anterior a la 5.9, debes usar el comando swift archive-source para crear el paquete y luego usar un comando Curl para publicarlo.

      1. Si no has configurado las variables de entorno CODEARTIFACT_AUTH_TOKEN y CODEARTIFACT_REPO o han pasado más de 12 horas desde que lo hizo, siga los pasos que se indican en Configurar Swift sin el comando login.

      2. Cree el paquete Swift mediante el siguiente comando swift package archive-source:

        swift package archive-source

        Si tiene éxito, verá Created package_name.zip en la línea de comandos.

      3. Usa el siguiente comando Curl para publicar el paquete Swift en: CodeArtifact

        macOS and Linux
        curl -X PUT --user "aws:$CODEARTIFACT_AUTH_TOKEN" \ -H "Accept: application/vnd.swift.registry.v1+json" \ -F source-archive="@package_name.zip" \ "${CODEARTIFACT_REPO}my_scope/package_name/packageVersion"
        Windows
        curl -X PUT --user "aws:%CODEARTIFACT_AUTH_TOKEN%" \ -H "Accept: application/vnd.swift.registry.v1+json" \ -F source-archive="@package_name.zip" \ "%CODEARTIFACT_REPO%my_scope/package_name/packageVersion"
  5. Puede confirmar que el paquete se publicó y existe en el repositorio comprobando en la consola o usando el comando aws codeartifact list-packages de la siguiente manera:

    aws codeartifact list-packages --domain my_domain --repository my_repo

    Puede enumerar la versión única del paquete usando el comando aws codeartifact list-package-versions de la siguiente manera:

    aws codeartifact list-package-versions --domain my_domain --repository my_repo \ --format swift --namespace my_scope --package package_name