A partire dal 17 giugno 2024, Cloud Source Repositories non è disponibile per i nuovi clienti. Se la tua organizzazione non ha mai utilizzato Cloud Source Repositories, non puoi attivare l'API o utilizzare Cloud Source Repositories. I nuovi progetti non collegati a un'organizzazione non possono attivare l'API Cloud Source Repositories. Questa modifica non interessa le organizzazioni che hanno utilizzato Cloud Source Repositories prima del 17 giugno 2024.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questo argomento descrive come eseguire il mirroring di un repository GitHub in Cloud Source Repositories.
Con questa configurazione, i commit che esegui push nel repository GitHub vengono copiati o sottoposti a mirroring in un repository ospitato in Cloud Source Repositories.
Solo i repository Bitbucket Cloud e GitHub Cloud possono essere sottoposti a mirroring in Cloud Source Repositories. Il mirroring di Bitbucket e GitHub self-hosted non è supportato.
Se esegui il mirroring del tuo repository GitHub in Cloud Source Repositories per integrarlo con Cloud Build e non hai bisogno di altre funzionalità di Cloud Source Repositories, segui le istruzioni di Cloud Build su come creare repository da GitHub.
Prima di iniziare
Quando esegui il mirroring di un repository, devi fornire le credenziali di autenticazione di GitHub. Queste credenziali consentono a Cloud Source Repositories di accedere ai contenuti del repository GitHub.
Se utilizzi le
organizzazioni GitHub,
ti consigliamo di utilizzare un
account utente macchina
espressamente dedicato alle attività automatizzate,
come il mirroring di un repository. Questo account deve disporre dell'accesso amministrativo al tuo repository.
Esegui il mirroring di un repository GitHub
Questa sezione mostra come eseguire il mirroring di un repository GitHub in Cloud Source Repositories.
Creare un repository sottoposto a mirroring
In questa procedura, devi disporre delle credenziali dell'utente della macchina GitHub per concedere
Google Cloud l'accesso in lettura al repository GitHub.
Nella Google Cloud console, apri Cloud Source Repositories.
Viene visualizzata la pagina Aggiungi un repository.
Seleziona Connetti repository esterno e fai clic su Continua.
Si apre la pagina Collega repository esterno.
Nell'elenco a discesa Progetto, seleziona il progetto Google Cloud
a cui appartiene il repository sottoposto a mirroring.
Se non hai un progetto, puoi fare clic su Crea progetto per crearne uno.
Nell'elenco a discesa Provider Git, seleziona GitHub.
Seleziona la casella di controllo per autorizzare Cloud Source Repositories a memorizzare le tue credenziali.
Fai clic su Connetti a GitHub.
Accedi a GitHub con le credenziali dell'utente della macchina.
Fai clic su Autorizza GoogleCloudPlatform.
Questa opzione concede Google Cloud l'accesso in lettura a tutti i repository dell'account utente GitHub.
Al termine dell'autorizzazione, viene visualizzata nuovamente la pagina Collega repository esterno. Viene visualizzato un elenco di repository.
Nell'elenco dei repository, seleziona quello di cui vuoi creare un mirror.
Fai clic su Connetti repository selezionato.
Si apre la pagina del repository principale. Questa pagina contiene un elenco dei repository per questo Google Cloud progetto, incluso il nuovo repository che hai appena creato.
Identificare i repository GitHub
Cloud Source Repositories indica chiaramente quali dei tuoi repository sono
mirror dei repository GitHub:
Ogni repository GitHub è rappresentato dal logo GitHub.
All'inizio del nome del repository è stato aggiunto github_.
Forzare la sincronizzazione di un repository
Dopo aver configurato il mirroring, Cloud Source Repositories sincronizza automaticamente il tuo repository con quello sottoposto a mirroring quando un utente esegue il commit di una modifica.
Cloud Source Repositories ti consente di visualizzare l'ultima volta che il repository sottoposto a mirroring è stato sincronizzato e di forzare manualmente una sincronizzazione, se necessario.
Nella Google Cloud console, vai al repository GitHub sottoposto a mirroring.
Fai clic su Impostazionisettings.
Viene visualizzato lo stato della sincronizzazione.
Per forzare manualmente una sincronizzazione dei repository, fai clic su Sincronizza da GitHub.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[],[],null,["# Mirroring a GitHub repository\n\nThis topic describes how to mirror a GitHub repository to Cloud Source Repositories.\nWith this configuration, commits that you push to the GitHub repository are\ncopied, or *mirrored*, into a repository hosted in Cloud Source Repositories.\n\nOnly Bitbucket Cloud and GitHub Cloud repositories can be mirrored to\nCloud Source Repositories; self-hosted Bitbucket and GitHub mirroring are not\nsupported.\n\nIf you are mirroring your GitHub repository to Cloud Source Repositories to integrate\nwith Cloud Build and do not need any other Cloud Source Repositories features,\nfollow the Cloud Build instructions on\n[building repositories from GitHub](/build/docs/automating-builds/build-repos-from-github)\ninstead.\n\nBefore you begin\n----------------\n\nWhen you mirror a repository, you must provide GitHub authentication\ncredentials. These credentials let Cloud Source Repositories access the\ncontents of the GitHub repository.\n\nIf you're using\n[GitHub organizations](https://help.github.com/articles/about-organizations/),\nwe recommend that you use a\n[machine user account](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users)\nspecifically dedicated to automated tasks,\nsuch as mirroring a repository. This account must have administrative access\nto your repository.\n\nMirror a GitHub repository\n--------------------------\n\nThis section shows how to mirror a GitHub repository to\nCloud Source Repositories.\n| **Note:** Make sure you're signed out of GitHub before you mirror a repository. Signing out helps ensure you select the right GitHub account when you connect the GitHub repository to Cloud Source Repositories.\n\n### Create a mirrored repository\n\nIn this process, you need your GitHub machine user credentials to grant\nGoogle Cloud read access to the GitHub repository.\n\n1. In the Google Cloud console, open Cloud Source Repositories.\n\n [Open Cloud Source Repositories](https://source.cloud.google.com/repos)\n2. Click **Add repository**.\n\n The **Add a repository** page opens.\n3. Select **Connect external repository** and click **Continue**.\n\n The **Connect external repository** page opens.\n4. In the **Project** drop-down list, select the Google Cloud\n project to which the mirrored repository belongs.\n\n If you don't have a project, you can click **Create project** to\n [create a project](https://cloud.google.com/source-repositories/docs/creating-an-empty-repository#creating_a_project).\n5. In the **Git provider** drop-down list, select **GitHub**.\n\n6. Select the checkbox to authorize Cloud Source Repositories to store your\n credentials.\n\n7. Click **Connect to GitHub**.\n\n8. Sign in to GitHub with your machine user credentials.\n\n9. Click **Authorize GoogleCloudPlatform**.\n\n This option grants Google Cloud read access to all repositories in the\n GitHub user account.\n\n When authorization finishes, you're returned to the **Connect external\n repository** page. A list of repositories opens.\n10. From the list of repositories, select the repository you want to mirror.\n\n11. Click **Connect Selected Repository**.\n\n The main repository page opens. This page contains a list of the\n repositories for this Google Cloud project, including the new\n repository you just created.\n\n### Identify GitHub repositories\n\nCloud Source Repositories makes it clear which of your repositories are\nmirrors of GitHub repositories:\n\n- Each GitHub repository is represented with the GitHub logo.\n- The name of the repository has `github_` added to the beginning of its name.\n\nForce a repository sync\n-----------------------\n\nAfter you set up mirroring, Cloud Source Repositories automatically syncs\nyour repository with the mirrored repository when a user commits a change.\nCloud Source Repositories lets you view the last time your mirrored\nrepository was synced and manually force a sync if necessary.\n\n1. In the Google Cloud console, browse to the mirrored GitHub repository.\n\n2. Click\n **Settings** *settings*.\n\n The sync status is displayed.\n\n3. To manually force a sync of the repositories, click **Sync from GitHub**.\n\n| **Note:** Repositories connected using an older version of the connected repository service may not have these options."]]