Crear un repositorio

En esta página, se describe cómo crear un repositorio con la interfaz web o la API de Secure Source Manager.

Si aún no se creó tu instancia de Secure Source Manager, consulta Crea una instancia de Secure Source Manager para comenzar.

Antes de comenzar

  1. Crea una instancia de Secure Source Manager o solicita acceso a una. Para obtener más información, consulta Crea una instancia de Secure Source Manager.
  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. Instala el componente beta de Google Cloud CLI:
    gcloud components install alpha

Roles requeridos

Para obtener los permisos que necesitas para crear un repositorio, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Para obtener información sobre cómo otorgar roles de Secure Source Manager, consulta Control de acceso con IAM y Cómo otorgar acceso a la instancia a los usuarios.

Crea un repositorio

Interfaz web

  1. Para acceder a la instancia de Secure Source Manager a través de su interfaz web, copia la siguiente URL en la barra de direcciones de tu navegador.

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

    Reemplaza lo siguiente:

    • INSTANCE_ID por el nombre de la instancia.
    • PROJECT_NUMBER por el número de proyecto de la instancia Google CloudPara obtener información sobre cómo identificar proyectos, consulta Identifica proyectos.
    • LOCATION con la región de la instancia.

  2. Si es necesario, autentícate con tus credenciales de Secure Source Manager.

  3. Haz clic en el ícono + Crear repositorio nuevo en la parte superior derecha del menú de navegación.

  4. Completa los detalles del repositorio:

    1. ID del repositorio: Ingresa un nombre para el repositorio.

    2. Descripción: (opcional) Es la descripción del repositorio.

    3. Inicializar repositorio: Opcional. Selecciona esta opción si deseas inicializar el repositorio y agregar los archivos .gitignore, license y README.

    4. .gitignore: Opcional. Elige qué archivos no deseas hacer un seguimiento con las plantillas del menú desplegable.

    5. license: Opcional. Selecciona una licencia común en el menú desplegable.

    6. Rama predeterminada: Es el nombre de la rama predeterminada.

  5. Haz clic en Enviar.

gcloud

  1. Para crear un repositorio con gcloud CLI, ejecuta el siguiente 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
    

    Reemplaza lo siguiente:

    • REPOSITORY_ID por el nombre de tu repositorio.

    • LOCATION por la región en la que deseas crear el repositorio Para obtener información sobre las ubicaciones compatibles, consulta Ubicaciones.

    • PROJECT_ID por el ID del proyecto de la instancia de Secure Source Manager en la que deseas crear el repositorio.

    • INSTANCE_ID por el ID de la instancia en la que crearás el repositorio. Para enumerar las instancias de Secure Source Manager en tu proyecto, consulta Cómo enumerar y ver instancias.

    • DESCRIPTION con una descripción del repositorio. Este campo es opcional y se puede omitir.

    • BRANCH con el nombre de la rama predeterminada. Este parámetro es opcional y se puede omitir. El nombre de la rama predeterminada cuando no se establece es main.

    • GITIGNORES con una lista separada por comas de nombres de plantillas de gitignore. Este campo es opcional y se puede omitir. Para ver la lista completa de plantillas disponibles, consulta la referencia de configuración de inicialización del repositorio.

    • LICENSE por el nombre de la plantilla de licencia que se aplicará a tu repositorio. Este campo es opcional y se puede omitir. Para ver la lista completa de plantillas de licencias disponibles, consulta la referencia de configuración de inicialización del repositorio.

    • README con default para crear un archivo README a partir de la plantilla predeterminada. Este campo es opcional y se puede omitir. Si se omite, no se creará un archivo README.

API

  1. Ejecuta el siguiente comando para crear un repositorio con una llamada a la API de REST:

    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"}'
    

    Reemplaza lo siguiente:

    • REGION es la región de tu instancia de Secure Source Manager. Para obtener información sobre las ubicaciones compatibles, consulta Ubicaciones.
    • INSTANCE_ID es el ID de tu instancia de Secure Source Manager.
    • PROJECT_ID es el ID del proyecto de tu instancia de Secure Source Manager. Consulta Identifica proyectos para obtener información sobre dónde encontrar el ID de tu proyecto.
    • REPOSITORY_ID es el nombre de tu repositorio.

    Se pueden especificar valores adicionales con la marca de datos HTTP POST, -d'{}', lo que incluye la inicialización del repositorio, la adición de un archivo .gitignore específico o licencias. Consulta la documentación de referencia para obtener más información.

    Si quieres que el resultado sea legible, puedes canalizarlo a JSON con json_pp.

    Por ejemplo:

    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
    

    La respuesta será similar a la siguiente:

    {
      "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"
        }
    }
    

    Aquí:

    • 654987321654 es el número del proyecto del repositorio.
    • my-project-id es el ID del proyecto del repositorio.
    • my-repo es el REPOSITORY_ID que estableciste en el comando de creación. El campo uris contiene las URLs para acceder al repositorio a través del navegador web o del acceso HTTPS al protocolo de Git.
  2. Accede a tu nuevo repositorio con el URI HTML en la respuesta. La interfaz web de Secure Source Manager admite la revisión de código, el seguimiento de problemas y las solicitudes de extracción.

El repositorio se crea en tu instancia de Secure Source Manager.

El rol de administrador de repositorios (roles/securesourcemanager.repoAdmin) se te otorga cuando creas un repositorio nuevo. El nuevo permiso de IAM puede tardar hasta 2 minutos en propagarse, por lo que, si recibes un error de permisos cuando intentes acceder al repositorio después de crearlo, espera unos minutos y vuelve a intentarlo.

Los repositorios que creaste se enumeran en la interfaz web de Secure Source Manager en la página Mis repositorios.

¿Qué sigue?