Crie um repositório

Esta página descreve como criar um repositório através da interface Web do Secure Source Manager ou da API Secure Source Manager.

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

  1. 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.
  2. Install the Google Cloud CLI.

  3. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  4. To initialize the gcloud CLI, run the following command:

    gcloud init
  5. Instale o componente da betaCLI 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:

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

  1. 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.

  2. Se necessário, faça a autenticação com as suas credenciais do Secure Source Manager.

  3. Clique no ícone + Criar novo repositório na parte superior direita do menu de navegação.

  4. Preencha os detalhes do repositório:

    1. ID do repositório: introduza um nome para o repositório.

    2. Descrição: opcional. Descrição do repositório.

    3. Agência predefinida: nome da agência predefinida.

    4. Inicializar repositório: opcional. Selecione esta opção se quiser inicializar o repositório e adicionar ficheiros .gitignore, license e README.

    5. .gitignore: opcional. Escolha os ficheiros que não quer monitorizar através dos modelos do menu pendente.

    6. license: opcional. Selecione uma licença comum no menu pendente.

  5. Clique em Criar repositório.

gcloud

  1. 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 com default 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

  1. 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 é o REPOSITORY_ID que definiu no comando de criação. O campo uris contém os URLs para aceder ao repositório através do navegador de Internet ou através do acesso HTTPS do protocolo Git.
  2. 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?