Accesso ai repository di codice privati
Un repository di codice, come GitHub o GitLab, memorizza il codice sorgente. Con Code Enginepuoi aggiungere l'accesso a un repository di codici privati e fare quindi riferimento a tale repository dalla tua build.
Dopo aver creato l'accesso al tuo repository di codice privato, puoi estrarre il codice dal repository, crearlo e distribuire un'applicazione o un lavoro con IBM Cloud® Code Engine.
Crea accesso al repository di codice
Quando crei l'accesso a un repository di codici privati, stai salvando le credenziali in Code Engine. Queste credenziali sono denominate segreti SSH.
Prima di iniziare
- Configura il tuo ambiente CLI Code Engine.
- Creare e utilizzare un progetto.
- Scegliere una chiave SSH da utilizzare.
Scelta di una chiave SSH per il repository di codice
Sia per GitHub che per GitLab, è possibile scegliere tra due tipi di chiavi SSH per connettersi al repository sorgente.
-
Una chiave SSH associata al repository del codice di origine, questa chiave ha accesso solo a quei repository in cui si registra la chiave SSH. Questo accesso è di sola lettura, per impostazione predefinita, che è il livello richiesto da Code Engine per scaricare il codice sorgente. È possibile selezionare l'accesso in scrittura, se necessario. Scegliere questa opzione per impostare una chiave SSH che sia nell'ambito di repository specifici per controllare l'accesso solo ai repository specificati.
-
Una chiave SSH associata a un utente, ad esempio, il tuo account utente o un ID funzionale disponibile nella tua organizzazione. Questa chiave SSH dispone delle autorizzazioni di repository dall'account utente. Code Engine richiede l'accesso in lettura per scaricare il codice sorgente.
Poiché l'impostazione di una chiave SSH nell'ambito di un account utente fornisce l'accesso all'account completo, è importante essere consapevoli delle implicazioni di sicurezza quando si sceglie questa opzione.
Non creare il file di chiavi SSH con una passphrase sicura poiché questa azione causa l'esito negativo del comando build
.
Aggiunta dell'accesso al repository privato dalla console
Prima di iniziare, creare un progetto.
- Dopo che il tuo progetto è nello stato Attivo, fai clic sul nome del tuo progetto nella pagina dei progettiCode Engine.
- Dalla pagina Componenti, fare clic su Segreti e mappe di configurazione.
- Dalla pagina Segreti e mappe di configurazione, fare clic su Crea per creare il segreto.
- Dalla pagina Crea segreto o configmap, completare la seguente procedura:
- Selezionare Segreto SSH e fare clic su Avanti.
- Fornire un nome, ad esempio
mysecret-ssh
. - Aggiungere la chiave privata SSH per questo segreto.
- Fare clic su Crea per creare il segreto.
Ora che il tuo segreto è stato creato dalla console, vai alla pagina Secrets and configmaps per visualizzare un elenco di segreti e configmap definiti. È possibile applicare filtri per personalizzare l'elenco in base alle proprie esigenze.
Puoi creare l'accesso quando crei un'immagine.
Aggiunta dell'accesso al repository privato con la CLI
A partire dalla versione della CLI 1.42.0, la definizione e l'utilizzo dei segreti nella CLI sono unificati nel gruppo di comandi secret
del gruppo di comandi. Consultare i comandi ibmcloud ce secret
.
Utilizzare l'opzione --format
per specificare la categoria del segreto, ad esempio basic_auth
, generic
, hmac
, ssh
, tls
, o registry
. Sebbene sia possibile
continuare a utilizzare il gruppo di comando repo
gruppo di comando, è possibile sfruttare il gruppo di comando unificato secret
gruppo di comando unificato. Per creare un segreto
per accedere a un servizio con una chiave SSH, ad esempio per autenticarsi in un repository Git come GitHub o GitLab,, usare il comando ibmcloud ce secret create --format ssh
il comando. Un segreto SSH viene usato anche come segreto di accesso al repository Git. Per saperne di più su come lavorare con i segreti in Code Engine, vedere Lavorare con i segreti.
Un segreto SSH contiene le credenziali per accedere al repository privato che contiene il codice sorgente per costruire l'immagine del contenitore. Un segreto SSH viene usato anche come segreto di accesso al repository Git.
Per creare un segreto SSH con la CLI, utilizza il comando secret create --format ssh
. Questo comando richiede un nome e un percorso chiave e consente anche altri argomenti facoltativi come il percorso del file
host noto. Per un elenco completo delle opzioni, consultare il comando ibmcloud ce secret create --format ssh
.
Ad esempio, il seguente comando crea un segreto SSH denominato myrepossh
in un repository in github.com
che utilizza la tua chiave privata SSH personale che si trova nell'ubicazione predefinita sul sistema.
Mac OS o 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"
La seguente tabella riepiloga le opzioni utilizzate con il comando repo create
in questo esempio. Per ulteriori informazioni sul comando e le sue opzioni, consultare il comando ibmcloud ce repo create
.
Opzione | Descrizione |
---|---|
--name |
Il nome del segreto ssh. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
|
--key-path |
Il percorso locale della chiave SSH privata non codificata. Se si utilizza la propria chiave SSH privata, questo file si trova solitamente in $HOME/.ssh/id_rsa ( Mac OS o Linux ) o in %HOMEPATH%.ssh\id_rsa (Windows).
Questo valore è obbligatorio. |
--known-hosts-path |
Il percorso del file hosts conosciuto. Questo valore è una funzione di sicurezza per garantire che la chiave privata venga utilizzata solo per l'autenticazione presso gli host a cui hai precedentemente eseguito l'accesso, in particolare,
gli host GitHub o GitLab. Questo file si trova solitamente in $HOME/.ssh/known_hosts ( Mac OS o Linux ) o in %HOMEPATH%.ssh\known_hosts (Windows). |
Riferimento a un repository Git privato in una build
Puoi fare riferimento all'accesso esistente o creare l'accesso quando crei un'immagine dalla console.
Riferimento a un repository Git privato in una build dalla console
Per fare riferimento al tuo repository Git privato in una build,
- Vai al dashboard Code Engine.
- Selezionare un progetto (o crearne uno).
- Dalla pagina del progetto, fare clic su Build immagine.
- Dalla scheda Image build, fai clic su Create.
- Per specificare un repository privato e aggiungere l'accesso, inserire l'indirizzo URL del repository nel campo Code repo URL e quindi selezionare l'accesso al repository di codice esistente o creare l'accesso.
- Completare la specifica delle informazioni per la build e fare clic su Fine.
Per ulteriori informazioni sulla creazione di immagini, vedi Creazione di un'immagine del contenitore.
Il repo di codice URL deve essere un SSH URL come git@github.com:IBM/CodeEngine.git
invece di un HTTPS URL come https://github.ibm.com/codeengine/ui
.
Riferimento a un segreto SSH in una build con la CLI
Per utilizzare un segreto SSH in una build, utilizzare l'opzione --git-repo-secret
quando si esegue il build create
o il comando build update
. Un segreto SSH viene usato
anche come segreto di accesso al repository Git.
Se si dispone di una build esistente, è possibile aggiornarla utilizzando il comando build update
,
ibmcloud ce build update --name mybuild --git-repo-secret myrepossh
Se vuoi creare una nuova build, vedi Creazione di una configurazione di build con la CLI.
Passi successivi per l'accesso al repository Git
Dopo aver creato il tuo segreto SSH per accedere a un repository Git, puoi creare immagini dal codice sorgente nel tuo repository privato. Specificare il segreto SSH quando si esegue
il comando build create
con l'opzione --git-repo-secret
.