Se a instância do Secure Source Manager ainda não foi criada, consulte Criar uma instância do Secure Source Manager para começar.
Antes de começar
- Crie ou solicite acesso a uma instância do Secure Source Manager. Para mais informações, consulte Criar uma instância do Secure Source Manager.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Instale o componente
beta
da Google Cloud CLI:gcloud components install alpha
Funções exigidas
Para receber as permissões necessárias para criar um repositório, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Papel de criador de repositórios de instâncias do Secure Source Manager (
roles/securesourcemanager.instanceRepositoryCreator
) na instância do Secure Source Manager -
Papel de criador de repositórios do Secure Source Manager (
roles/securesourcemanager.repoCreator
) no projeto da instância
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Para informações sobre como conceder papéis do Secure Source Manager, consulte Controle de acesso com o IAM e Conceder acesso à instância aos usuários.
Criar um repositório
Interface da Web
-
Para acessar a instância do Secure Source Manager pela interface da Web, copie o seguinte URL na barra de endereço do navegador.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev
Substitua:
- INSTANCE_ID pelo nome da instância.
- PROJECT_NUMBER pelo número do projeto Google Cloud da instância. Para informações sobre como identificar projetos, consulte Identificar projetos.
- LOCATION com a região da instância.
Autentique usando suas credenciais do Secure Source Manager, se necessário.
Clique no ícone + Criar repositório no canto superior direito do menu de navegação.
Preencha os detalhes do repositório:
ID do repositório: insira um nome para o repositório.
Descrição: opcional. Descrição do repositório.
Inicializar repositório: opcional. Selecione essa opção se quiser inicializar o repositório e adicionar arquivos .gitignore, de licença e README.
.gitignore: opcional. Escolha quais arquivos não rastrear usando os modelos de menu suspenso.
license: opcional. Selecione uma licença comum no menu suspenso.
Ramificação padrão: nome da ramificação padrão.
Clique em Enviar.
gcloud
Crie um repositório usando a CLI gcloud executando o seguinte comando:
gcloud alpha source-manager repos create REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --description=DESCRIPTION \ --default-branch=BRANCH \ --gitignores=GITIGNORES \ --license=LICENSE \ --readme=README
Substitua:
REPOSITORY_ID
com o nome do repositório.LOCATION
com a região em que você quer criar o repositório. Para informações sobre os locais compatíveis, consulte Locais.PROJECT_ID
pelo ID do projeto da instância do Secure Source Manager em que você quer criar o repositório.INSTANCE_ID
com o ID da instância em que você está criando o repositório. Para listar as instâncias do Secure Source Manager no seu projeto, consulte Listar e visualizar instâncias.DESCRIPTION
com uma descrição do repositório. Isso é opcional e pode ser omitido.BRANCH
com o nome da ramificação padrão. Isso é opcional e pode ser omitido. O nome da ramificação padrão quando não definido émain
.GITIGNORES
com uma lista separada por vírgulas de nomes de modelos do gitignore. Isso é opcional e pode ser omitido. Para conferir a lista completa de modelos disponíveis, consulte a referência de configuração de inicialização do repositório.LICENSE
com o nome do modelo de licença a ser aplicado ao repositório. Isso é opcional e pode ser omitido. Para conferir a lista completa de modelos de licença disponíveis, consulte a referência de configuração de inicialização do repositório.README
comdefault
para criar um arquivo README com base no modelo padrão. Isso é opcional e pode ser omitido. Se omitido, um arquivo README não será criado.
API
Crie um repositório usando uma chamada REST executando o seguinte comando:
curl \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/repositories?repository_id=REPOSITORY_ID \ -d '{"instance": "projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID"}'
Substitua:
REGION
é a região da sua instância do Secure Source Manager. Para informações sobre os locais compatíveis, consulte Locais.INSTANCE_ID
é o ID da instância do Secure Source Manager.PROJECT_ID
é o ID do projeto da sua instância do Secure Source Manager. Consulte Identificar projetos para saber onde encontrar o ID do projeto.REPOSITORY_ID
é o nome do repositório.
Outros valores podem ser especificados usando a flag de dados HTTP POST,
-d'{}'
, incluindo a inicialização do repositório, a adição de um arquivo.gitignore
específico ou licenças. Consulte a documentação de referência para mais informações.Se quiser que a saída seja legível por humanos, transmita-a para JSON usando
json_pp
.Exemplo:
curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/my-project-id/locations/us-central1/repositories?repository_id=my-repo \ -d '{"instance": "projects/my-project-id/locations/us-central1/instances/prod-test-instance", "initialConfig":{"defaultBranch":"main"}}' | json_pp
A resposta será semelhante a esta:
{ "name": "operations/266bf4c7-13fe-11ed-be24-da823b7355d0", "metadata": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata", "createTime": "2022-08-04T14:02:59.810496928Z", "endTime": "2022-08-04T14:03:00.558354528Z", "target": "projects/654987321654/locations/us-central1/repositories/my-repo", "verb": "create", "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Repository", "name": "projects/my-project-id/locations/us-central1/repositories/my-repo", "instance": "projects/654987321654/locations/us-central1/instances/prod-test-instance", "createTime": "2022-08-04T14:03:00Z", "uris": { "html": "https://prod-test-instance-654987321654.us-central1.sourcemanager.dev/my-project-id/my-repo", "gitHttps": "https://prod-test-instance-654987321654-git.us-central1.sourcemanager.dev/my-project-id/my-repo.git" } }
Em que:
654987321654
é o número do projeto do repositório.my-project-id
é o ID do projeto do repositório.my-repo
é oREPOSITORY_ID
definido no comando de criação. O campouris
contém os URLs para acessar o repositório pelo navegador da Web ou pelo acesso HTTPS do protocolo Git.
Acesse o novo repositório com o URI HTML na resposta. A revisão de código, o rastreamento de problemas e as solicitações de envio são compatíveis com a interface da Web do Secure Source Manager.
O repositório é criado na sua instância do Secure Source Manager.
O papel de administrador do repositório (roles/securesourcemanager.repoAdmin
) é concedido a você
quando você cria um repositório. A nova permissão do IAM pode levar até dois minutos para ser propagada. Por isso, se você receber um erro de permissões ao tentar acessar o repositório após a criação, aguarde alguns minutos e tente de novo.
Os repositórios que você criou são listados na interface da Web do Secure Source Manager na página Meus repositórios.
A seguir
- Conceder acesso ao repositório aos usuários
- Use o gerenciamento de código-fonte do Git com o Secure Source Manager.
- Liste e veja repositórios na interface da Web do Secure Source Manager.