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 de CodeArtifact

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

Para consumir paquetes Swift de un repositorio de CodeArtifact
  1. Si no lo ha hecho, siga los pasos de Configurar Swift Package Manager con CodeArtifact para configurar Swift Package Manager para usar su repositorio de CodeArtifact 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, puede usar la consola CodeArtifact. 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, use el siguiente comando para descargar las dependencias del paquete desde CodeArtifact.

    swift package resolve

Consumir paquetes Swift de CodeArtifact en Xcode

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

Para consumir paquetes Swift de un repositorio de CodeArtifact en Xcode
  1. Si no lo ha hecho, siga los pasos de Configurar Swift Package Manager con CodeArtifact para configurar Swift Package Manager para usar su repositorio de CodeArtifact 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 tiene problemas al usar su repositorio de CodeArtifact con Xcode, consulte Solución de problemas de Swift para ver los problemas más comunes y las posibles soluciones.

Publicar paquetes Swift en CodeArtifact

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

Publicar paquetes CodeArtifact con el comando swift package-registry publish

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

  1. Si no lo ha hecho, siga los pasos de Configurar Swift Package Manager con CodeArtifact para configurar Swift Package Manager para usar su repositorio de CodeArtifact 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 swift package-registry publish siguiente para publicar el paquete. El comando crea un archivo fuente del paquete y lo publica en su repositorio de CodeArtifact.

    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 comprobándolo 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 paquetes de CodeArtifact con Curl

Si bien se recomienda usar el comando swift package-registry publish que viene con Swift 5.9 o posterior, también puede usar Curl para publicar paquetes Swift en CodeArtifact.

Utilice el siguiente procedimiento para publicar paquetes Swift en un repositorio de AWS CodeArtifact 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 Configurar 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. Use el siguiente comando Curl para publicar su 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 comprobándolo 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

Obtener paquetes Swift de GitHub y volver a publicarlos en CodeArtifact

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

Para obtener un paquete Swift de GitHub y volver a publicarlo en CodeArtifact
  1. Si no lo ha hecho, siga los pasos de Configurar Swift Package Manager con CodeArtifact para configurar Swift Package Manager para usar su repositorio de CodeArtifact 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 comando git clone siguiente. Para obtener información sobre cómo clonar repositorios de GitHub, consulte Clonación de un repositorio en GitHub Docs.

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

    cd repoName
  4. Cree el paquete y publíquelo en CodeArtifact.

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

      swift package-registry publish packageScope.packageName versionNumber

      Por ejemplo:

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

      1. Si no ha 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. Use 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 comprobándolo 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