Se a sua instância do Secure Source Manager ainda não tiver sido criada, consulte o artigo Crie uma instância do Secure Source Manager para começar.
Antes de começar
- Crie ou peça acesso a uma instância do Secure Source Manager. Para mais
informações, consulte
Crie uma instância do Gestor de origens seguras.
-
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 da
beta
CLI do Google Cloud:gcloud components install alpha
Funções necessárias
Para receber as autorizações de que precisa para criar um repositório, peça ao seu administrador que lhe conceda as seguintes funções do IAM:
-
Função de criador do repositório de instâncias do Secure Source Manager (
roles/securesourcemanager.instanceRepositoryCreator
) na instância do Secure Source Manager -
Função de criador do repositório do Secure Source Manager (
roles/securesourcemanager.repoCreator
) no projeto da instância
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para obter informações sobre a concessão de funções do Secure Source Manager, consulte os artigos Controlo de acesso com o IAM e Conceda aos utilizadores acesso à instância.
Crie um repositório
Interface Web
-
Para aceder à instância do Secure Source Manager através da respetiva interface Web, copie o seguinte URL para a barra de endereço do navegador.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev
Substitua o seguinte:
- INSTANCE_ID com o nome da instância.
- PROJECT_NUMBER com o número do projeto Google Cloud da instância. Para obter informações sobre a identificação de projetos, consulte o artigo Identificar projetos.
- LOCATION com a região da instância.
Se necessário, faça a autenticação com as suas credenciais do Secure Source Manager.
Clique no ícone + Criar novo repositório na parte superior direita do menu de navegação.
Preencha os detalhes do repositório:
ID do repositório: introduza um nome para o repositório.
Descrição: opcional. Descrição do repositório.
Agência predefinida: nome da agência predefinida.
Inicializar repositório: opcional. Selecione esta opção se quiser inicializar o repositório e adicionar ficheiros .gitignore, license e README.
.gitignore: opcional. Escolha os ficheiros que não quer monitorizar através dos modelos do menu pendente.
license: opcional. Selecione uma licença comum no menu pendente.
Clique em Criar repositório.
gcloud
Crie um repositório através da 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 o seguinte:
REPOSITORY_ID
com o nome do seu repositório.LOCATION
com a região onde quer criar o repositório. Para ver informações sobre as localizações suportadas, consulte a secção Localizações.PROJECT_ID
com o ID do projeto da instância do Secure Source Manager na qual quer criar o repositório.INSTANCE_ID
com o ID da instância da instância na qual está a criar o repositório. Para listar as instâncias do Secure Source Manager no seu projeto, consulte o artigo Liste e veja instâncias.DESCRIPTION
com uma descrição do repositório. Esta ação é opcional e pode ser omitida.BRANCH
com o nome do ramo predefinido. Isto é opcional e pode ser omitido. O nome do ramo predefinido quando não está definido émain
.GITIGNORES
com uma lista separada por vírgulas de nomes de modelos .gitignore. Esta ação é opcional e pode ser omitida. Para ver 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 aplicar ao seu repositório. Esta ação é opcional e pode ser omitida. Para ver a lista completa de modelos de licenças disponíveis, consulte a referência de configuração de inicialização do repositório.README
comdefault
para criar um ficheiro README a partir do modelo predefinido. Esta ação é opcional e pode ser omitida. Se for omitido, não é criado um ficheiro README.
API
Crie um repositório através de 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 o seguinte:
REGION
é a região da sua instância do Secure Source Manager. Para ver informações sobre as localizações suportadas, consulte a secção Localizações.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 o artigo Identificar projetos para obter informações sobre onde encontrar o ID do projeto.REPOSITORY_ID
é o nome do seu repositório.
Podem ser especificados valores adicionais através da flag de dados HTTP POST,
-d'{}'
incluindo a inicialização do repositório, a adição de um ficheiro.gitignore
específico ou licenças. Consulte a documentação de referência para mais informações.Se quiser que o resultado seja legível, pode encaminhá-lo para JSON usando
json_pp
.Por 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 vai ser semelhante à seguinte:
{ "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" } }
Onde:
654987321654
é o número do projeto do repositório.my-project-id
é o ID do projeto do repositório.my-repo
é oREPOSITORY_ID
que definiu no comando de criação. O campouris
contém os URLs para aceder ao repositório através do navegador de Internet ou através do acesso HTTPS do protocolo Git.
Aceda ao novo repositório com o URI HTML na resposta. A revisão de código, o acompanhamento de problemas e os pedidos de obtenção são suportados na interface Web do Secure Source Manager.
O repositório é criado na sua instância do Secure Source Manager.
A função de administrador do repositório (roles/securesourcemanager.repoAdmin
) é-lhe concedida quando cria um novo repositório. A nova autorização do IAM pode demorar até 2 minutos a propagar-se. Por isso, se receber um erro de autorizações quando tentar aceder ao repositório após a criação, aguarde alguns minutos e tente novamente.
Os repositórios que criou são apresentados na interface Web do Secure Source Manager na página Os meus repositórios.
O que se segue?
- Conceda aos utilizadores acesso ao repositório
- Use a gestão de código-fonte do Git com o Secure Source Manager.
- Liste e veja repositórios na interface Web do Secure Source Manager.