Accès aux référentiels de code privés
Un référentiel de code, tel que GitHub ou GitLab, stocke du code source. Grâce à Code Engine, vous pouvez ajouter un accès à un référentiel de code privé, puis référencer ce référentiel à partir de votre génération.
Lorsque vous avez créé l'accès à votre référentiel de code privé, vous pouvez extraire du code du référentiel, en générer et déployer une application ou un travail avec IBM Cloud® Code Engine.
Création d'un accès à un référentiel de code
Lorsque vous créez un accès à un référentiel de code privé, vous sauvegardez des données d'identification dans Code Engine. Ces données d'identification sont appelées secrets SSH.
Avant de commencer
- Configurez votre environnement d'interface de ligne de commande Code Engine.
- Créez et utilisez un projet.
- Choisissez une clé SSH à utiliser.
Choix d'une clé SSH pour le référentiel de code
Pour GitHub et GitLab, vous avez le choix entre deux types de clés SSH pour vous connecter à votre référentiel source.
-
Une clé SSH associée au référentiel de code source ; cette clé n'a accès qu'aux référentiels où vous l'avez enregistrée. Cet accès est en lecture seule, par défaut, ce qui est le niveau requis par Code Engine pour télécharger le code source. Vous pouvez sélectionner l'accès en écriture, si nécessaire. Envisagez de choisir cette option pour définir une clé SSH dont la portée est limitée à des référentiels spécifiques pour contrôler l'accès aux référentiels spécifiés seulement.
-
Une clé SSH associée à un utilisateur, par exemple, votre propre compte utilisateur ou un ID fonctionnel disponible dans votre organisation. Cette clé SSH dispose des droits d'accès au référentiel du compte utilisateur. Code Engine requiert un accès en lecture pour télécharger le code source.
Étant donné que la définition d'une clé SSH portée sur un compte utilisateur permet d'accéder au compte en totalité, il est important d'être totalement conscient des implications en matière de sécurité lorsque vous choisissez cette option.
Ne créez pas votre fichier de clés SSH avec une phrase passe sécurisée car cette action entraîne l'échec de la commande build.
Ajout d'un accès à un référentiel privé à partir de la console
Avant de commencer, créez un projet.
- Une fois que votre projet est en statut actif, cliquez sur le nom de votre projet sur la page Code Engine Projects.
- Sur la page Composants, cliquez sur Secrets et mappes de configuration.
- Sur la page Secrets et mappes de configuration, cliquez sur Créer pour créer votre secret.
- Dans la page Créer un secret ou une mappe de configuration, procédez comme suit:
- Sélectionnez SSH secret et cliquez sur Suivant.
- Indiquez un nom; par exemple,
mysecret-ssh. - Ajoutez la clé privée SSH pour ce secret.
- Cliquez sur Créer pour créer le secret.
Maintenant que votre secret est créé à partir de la console, allez à la page Secrets et cartes de configuration pour voir la liste des secrets et cartes de configuration définis. Vous pouvez appliquer des filtres pour personnaliser la liste en fonction de vos besoins.
Vous pouvez créer un accès lorsque vous générez une image.
Ajout d'un accès au référentiel privé avec l'interface de ligne de commande
À partir de la version de l'interface de programmation 1.42.0, la définition et l'utilisation des secrets dans l'interface de programmation sont unifiées sous le groupe de commandes secret sous le groupe de commandes
Voir les commandes ibmcloud ce secret. Utilisez l'option --format pour spécifier la catégorie du secret, par exemple basic_auth,
generic, hmac, ssh, tls, ou registry. Bien que vous puissiez continuer à utiliser le groupe de commande repo vous pouvez continuer à utiliser
le groupe de commande, mais vous pouvez aussi tirer parti du groupe de commande unifié secret unifié. Pour créer un secret permettant d'accéder à un service avec une clé SSH, par exemple pour s'authentifier
auprès d'un dépôt Git tel que GitHub ou GitLab,, utilisez la commande ibmcloud ce secret create --format ssh commande. Un secret SSH est
également utilisé comme secret d'accès au référentiel Git. Pour en savoir plus sur le travail avec les secrets dans Code Engine, voir Travailler avec des secrets.
Un secret SSH contient les informations d'identification pour accéder au dépôt privé qui contient le code source pour construire votre image de conteneur. Un secret SSH est également utilisé comme secret d'accès au référentiel Git.
Pour créer un secret SSH à l'aide de l'interface de ligne de commande, utilisez la commande secret create --format ssh. Cette commande requiert un nom et un chemin de clé et autorise également d'autres arguments
facultatifs, tels que le chemin d'accès au fichier hosts connu. Pour obtenir la liste complète des options, voir la commande ibmcloud ce secret create --format ssh.
Par exemple, la commande suivante crée un secret SSH appelé myrepossh vers un référentiel à l'adresse github.com qui utilise votre clé privée SSH personnelle qui se trouve à l'emplacement par défaut sur votre système.
Mac OS ou Linux
ibmcloud ce secret create --format ssh --name myrepossh --key-path $HOME/.ssh/id_rsa --known-hosts-path $HOME/.ssh/known_hosts
Windows
ibmcloud ce secret create --format ssh --name myrepossh --key-path "%HOMEPATH%\.ssh\id_rsa" --known-hosts-path "%HOMEPATH%\.ssh\known_hosts"
Le tableau ci-dessous récapitule les options utilisées avec la commande repo create dans cet exemple. Pour plus d'informations sur la commande et ses options, voir la commande ibmcloud ce repo create.
| Option | Description |
|---|---|
--name |
Nom du secret ssh. Utilisez un nom unique dans le projet. Cette valeur est requise.
|
--key-path |
Chemin d'accès local à la clé SSH privée non chiffrée. Si vous utilisez votre clé SSH privée personnelle, ce fichier se trouve généralement dans $HOME/.ssh/id_rsa (Mac OS ou Linux) ou %HOMEPATH%.ssh\id_rsa (Windows).
Cette valeur est obligatoire. |
--known-hosts-path |
Chemin d'accès à votre fichier hosts qui recense les hôtes connus. Cette valeur est une fonction de sécurité qui permet de s'assurer que la clé privée est utilisée uniquement pour s'authentifier sur des hôtes auxquels vous avez accédé
précédemment, les hôtes GitHub ou GitLab. Ce fichier se trouve généralement sur $HOME/.ssh/known_hosts (Mac OS ou Linux) ou sur %HOMEPATH%.ssh\known_hosts (Windows). |
Référencement d'un référentiel Git privé dans une génération
Vous pouvez référencer un accès existant ou créer un accès lorsque vous générez une image à partir de la console.
Référencement d'un référentiel Git privé dans une génération à partir de la console
Pour référencer votre référentiel Git privé dans une génération,
- Accédez au tableau de bord Code Engine.
- Sélectionnez un projet (ou créez-en un).
- Sur la page du projet, cliquez sur Générations d'image.
- Dans l'onglet Génération d'image, cliquez sur Créer.
- Pour spécifier un référentiel privé et ajouter un accès, entrez l'URL d'accès au référentiel dans la zone URL du référentiel de code, puis sélectionnez votre accès au référentiel de code existant ou choisissez de créer un accès.
- Entrez les informations relatives à votre génération, puis cliquez sur Terminé.
Pour plus d'informations sur la génération d'images, voir Génération d'une image de conteneur.
Le code repo URL doit être un SSH URL tel que git@github.com:IBM/CodeEngine.git au lieu d'un HTTPS URL tel que https://github.com/IBM/CodeEngine.git.
Référencement d'un secret SSH dans une génération à l'aide de l'interface de ligne de commande
Pour utiliser un secret SSH dans une compilation, utilisez l'option --git-repo-secret lorsque vous exécutez la commande build create ou la commande build update lorsque
vous exécutez la commande Un secret SSH est également utilisé comme secret d'accès au référentiel Git.
Si vous disposez d'une génération existante, vous pouvez la mettre à jour à l'aide de la commande build update,
ibmcloud ce build update --name mybuild --git-repo-secret myrepossh
Si vous souhaitez créer une nouvelle génération, voir Création d'une configuration de génération via l'interface de ligne de commande.
Prochaines étapes pour l'accès aux dépôts Git
Après avoir créé votre secret SSH pour accéder à un référentiel Git, vous pouvez générer des images à partir du code source dans votre référentiel privé. Spécifiez votre secret SSH lorsque
vous exécutez la commande build create avec l'option --git-repo-secret.