Consommation et publication de packages Swift - 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.

Consommation et publication de packages Swift

Consommer des packages Swift à partir de CodeArtifact

Utilisez la procédure suivante pour utiliser des packages Swift à partir d'un AWS CodeArtifact dépôt.

Pour utiliser des packages Swift à partir d'un CodeArtifact dépôt
  1. Si ce n'est pas le cas, suivez les étapes ci-dessous Configurez le gestionnaire de packages Swift avec CodeArtifact pour configurer le Swift Package Manager afin d'utiliser votre CodeArtifact référentiel avec les informations d'identification appropriées.

    Note

    Le jeton d'autorisation généré est valide pendant 12 heures. Vous devrez en créer un nouveau si 12 heures se sont écoulées depuis la création du jeton.

  2. Modifiez le Package.swift fichier dans le dossier du projet de votre application pour mettre à jour les dépendances des packages à utiliser par votre projet.

    1. Si le Package.swift fichier ne contient pas de dependencies section, ajoutez-en une.

    2. Dans la dependencies section du Package.swift fichier, ajoutez le package que vous souhaitez utiliser en ajoutant son identifiant de package. L'identifiant du package se compose de la portée et du nom du package séparés par un point. Consultez l'extrait de code suivant une étape ultérieure pour un exemple.

      Astuce

      Pour trouver l'identifiant du package, vous pouvez utiliser la CodeArtifact console. Recherchez la version du package que vous souhaitez utiliser et consultez les instructions du raccourci d'installation sur la page de version du package.

    3. Si le Package.swift fichier ne contient pas de targets section, ajoutez-en une.

    4. Dans la targets section, ajoutez les cibles qui devront utiliser la dépendance.

      L'extrait suivant est un exemple d'extrait illustrant les sections configurées dependencies et les targets sections d'un fichier : Package.swift

      ... ], dependencies: [ .package(id: "my_scope.package_name", from: "1.0.0") ], targets: [ .target( name: "MyApp", dependencies: ["package_name"] ),... ], ...
  3. Maintenant que tout est configuré, utilisez la commande suivante pour télécharger les dépendances du package depuis CodeArtifact.

    swift package resolve

Consommation de packages Swift depuis CodeArtifact Xcode

Utilisez la procédure suivante pour utiliser des packages Swift à partir d'un CodeArtifact dépôt dans Xcode.

Pour consommer des packages Swift à partir d'un CodeArtifact dépôt dans Xcode
  1. Si ce n'est pas le cas, suivez les étapes ci-dessous Configurez le gestionnaire de packages Swift avec CodeArtifact pour configurer le Swift Package Manager afin d'utiliser votre CodeArtifact référentiel avec les informations d'identification appropriées.

    Note

    Le jeton d'autorisation généré est valide pendant 12 heures. Vous devrez en créer un nouveau si 12 heures se sont écoulées depuis la création du jeton.

  2. Ajoutez les packages en tant que dépendance dans votre projet dans Xcode.

    1. Choisissez Fichier > Ajouter des packages.

    2. Recherchez votre package à l'aide de la barre de recherche. Votre recherche doit figurer dans le formulairepackage_scope.package_name.

    3. Une fois trouvé, choisissez le package et choisissez Ajouter un package.

    4. Une fois le package vérifié, choisissez les produits du package que vous souhaitez ajouter en tant que dépendance, puis choisissez Ajouter un package.

Si vous rencontrez des problèmes lors de l'utilisation de votre CodeArtifact dépôt avec Xcode, consultez Résolution rapide des problèmes les problèmes courants et les solutions possibles.

Publication de packages Swift sur CodeArtifact

CodeArtifact recommande Swift 5.9 ou version ultérieure et utilise la swift package-registry publish commande pour publier des packages Swift. Si vous utilisez une version antérieure, vous devez utiliser une commande Curl pour publier les packages Swift dans. CodeArtifact

Publier CodeArtifact des packages à l'aide de la swift package-registry publish commande

Utilisez la procédure suivante avec Swift 5.9 ou version ultérieure pour publier des packages Swift dans un CodeArtifact référentiel à l'aide du Swift Package Manager.

  1. Si ce n'est pas le cas, suivez les étapes ci-dessous Configurez le gestionnaire de packages Swift avec CodeArtifact pour configurer le Swift Package Manager afin d'utiliser votre CodeArtifact référentiel avec les informations d'identification appropriées.

    Note

    Le jeton d'autorisation généré est valide pendant 12 heures. Vous devrez en créer un nouveau si 12 heures se sont écoulées depuis sa création.

  2. Accédez au répertoire du projet Swift qui contient le Package.swift fichier de votre package.

  3. Exécutez la swift package-registry publish commande suivante pour publier le package. La commande crée une archive source de package et la publie dans votre CodeArtifact dépôt.

    swift package-registry publish packageScope.packageName packageVersion

    Par exemple :

    swift package-registry publish myScope.myPackage 1.0.0
  4. Vous pouvez vérifier que le package a été publié et qu'il existe dans le référentiel en vérifiant dans la console ou en utilisant la aws codeartifact list-packages commande suivante :

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

    Vous pouvez répertorier la version unique du package à l'aide de la aws codeartifact list-package-versions commande suivante :

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

Publication de CodeArtifact packages avec Curl

Bien qu'il soit recommandé d'utiliser la swift package-registry publish commande fournie avec Swift 5.9 ou version ultérieure, vous pouvez également utiliser Curl pour publier des packages Swift dans. CodeArtifact

Utilisez la procédure suivante pour publier des packages Swift dans un AWS CodeArtifact dépôt avec Curl.

  1. Si ce n'est pas le cas, créez et mettez à jour les variables d'CODEARTIFACT_REPOenvironnement CODEARTIFACT_AUTH_TOKEN et en suivant les étapes décrites dansConfigurez le gestionnaire de packages Swift avec CodeArtifact.

    Note

    Le jeton d'autorisation est valide pendant 12 heures. Vous devrez actualiser votre variable d'CODEARTIFACT_AUTH_TOKENenvironnement avec de nouvelles informations d'identification si 12 heures se sont écoulées depuis sa création.

  2. Tout d'abord, si aucun package Swift n'a été créé, vous pouvez le faire en exécutant les commandes suivantes :

    mkdir testDir && cd testDir swift package init git init . swift package archive-source
  3. Utilisez la commande Curl suivante pour publier votre package Swift sur : 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. Vous pouvez vérifier que le package a été publié et qu'il existe dans le référentiel en vérifiant dans la console ou en utilisant la aws codeartifact list-packages commande suivante :

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

    Vous pouvez répertorier la version unique du package à l'aide de la aws codeartifact list-package-versions commande suivante :

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

Récupération de packages Swift depuis GitHub et republication vers CodeArtifact

Utilisez la procédure suivante pour récupérer un package Swift GitHub et le republier dans un CodeArtifact dépôt.

Pour récupérer un package Swift GitHub et le republier dans CodeArtifact
  1. Si ce n'est pas le cas, suivez les étapes ci-dessous Configurez le gestionnaire de packages Swift avec CodeArtifact pour configurer le Swift Package Manager afin d'utiliser votre CodeArtifact référentiel avec les informations d'identification appropriées.

    Note

    Le jeton d'autorisation généré est valide pendant 12 heures. Vous devrez en créer un nouveau si 12 heures se sont écoulées depuis la création du jeton.

  2. Clonez le dépôt git du package Swift que vous souhaitez récupérer et republier à l'aide de la commande suivantegit clone. Pour plus d'informations sur le clonage de GitHub référentiels, consultez la section Clonage d'un référentiel dans la documentation. GitHub

    git clone repoURL
  3. Accédez au référentiel que vous venez de cloner :

    cd repoName
  4. Créez le package et publiez-le sur CodeArtifact.

    1. Recommandé : Si vous utilisez Swift 5.9 ou une version ultérieure, vous pouvez utiliser la swift package-registry publish commande suivante pour créer le package et le publier dans votre CodeArtifact référentiel configuré.

      swift package-registry publish packageScope.packageName versionNumber

      Par exemple :

      swift package-registry publish myScope.myPackage 1.0.0
    2. Si vous utilisez une version de Swift antérieure à la version 5.9, vous devez utiliser la swift archive-source commande pour créer le package, puis utiliser une commande Curl pour le publier.

      1. Si vous n'avez pas configuré les variables d'CODEARTIFACT_REPOenvironnement CODEARTIFACT_AUTH_TOKEN et, ou si cela fait plus de 12 heures que vous ne l'avez pas fait, suivez les étapes décrites dansConfigurer Swift sans la commande de connexion.

      2. Créez le package Swift à l'aide de la swift package archive-source commande :

        swift package archive-source

        En cas de succès, vous le verrez Created package_name.zip dans la ligne de commande.

      3. Utilisez la commande Curl suivante pour publier le package Swift sur : 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. Vous pouvez vérifier que le package a été publié et qu'il existe dans le référentiel en vérifiant dans la console ou en utilisant la aws codeartifact list-packages commande suivante :

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

    Vous pouvez répertorier la version unique du package à l'aide de la aws codeartifact list-package-versions commande suivante :

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