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 has creado tu instancia de Secure Source Manager, consulta el artículo Crear una instancia de Secure Source Manager para empezar.

Antes de empezar

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

Roles obligatorios

Para obtener los permisos que necesitas para crear un repositorio, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Para obtener información sobre cómo conceder roles de Secure Source Manager, consulta los artículos Control de acceso con gestión de identidades y accesos y Conceder acceso a instancias a los usuarios.

Crear un repositorio

Interfaz web

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

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

    Haz los cambios siguientes:

    • INSTANCE_ID con el nombre de la instancia.
    • PROJECT_NUMBER con el número de proyecto de la instancia. Google Cloud Para obtener información sobre cómo identificar proyectos, consulta el artículo Identificar 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 icono + Crear repositorio, situado en la parte superior derecha del menú de navegación.

  4. Rellena los detalles del repositorio:

    1. ID de repositorio: introduce un nombre para el repositorio.

    2. Descripción: opcional. Descripción del repositorio.

    3. Inicializar repositorio: opcional. Selecciona esta opción si quieres inicializar el repositorio y añadir los archivos .gitignore, license y README.

    4. .gitignore: opcional. Elige los archivos que no quieras monitorizar con las plantillas del menú desplegable.

    5. license: opcional. Selecciona una licencia de Creative Commons en el menú desplegable.

    6. Rama predeterminada: nombre de la rama predeterminada.

  5. Haz clic en Enviar.

gcloud

  1. Crea un repositorio con gcloud CLI ejecutando 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
    

    Haz los cambios siguientes:

    • REPOSITORY_ID con el nombre del repositorio.

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

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

    • INSTANCE_ID con el ID de la instancia en la que vas a crear el repositorio. Para enumerar las instancias de Secure Source Manager de tu proyecto, consulta Listar y ver instancias.

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

    • BRANCH con el nombre de rama predeterminado. Es opcional y se puede omitir. Si no se define ningún nombre, el nombre de la rama predeterminada es main.

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

    • LICENSE con el nombre de la plantilla de licencia para aplicarla a tu repositorio. Esta información es opcional y se puede omitir. Para ver la lista completa de plantillas de licencia 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. Esta información es opcional y se puede omitir. Si se omite, no se creará ningún archivo README.

API

  1. Crea un repositorio mediante una llamada REST ejecutando el siguiente 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"}'
    

    Haz los cambios siguientes:

    • REGION es la región de tu instancia de Secure Source Manager. Para obtener información sobre las ubicaciones admitidas, consulta Ubicaciones.
    • INSTANCE_ID es el ID de tu instancia de Secure Source Manager.
    • PROJECT_ID es el ID de proyecto de tu instancia de Secure Source Manager. Consulta el artículo sobre cómo identificar proyectos para saber dónde encontrar el ID de tu proyecto.
    • REPOSITORY_ID es el nombre de tu repositorio.

    Se pueden especificar valores adicionales mediante la marca de datos HTTP POST,-d'{}' como inicializar el repositorio, añadir un archivo específico.gitignore o licencias. Consulta la documentación de referencia para obtener más información.

    Si quieres que la salida sea legible, puedes enviarla a JSON mediante 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"
        }
    }
    

    Donde:

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

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

El rol de administrador de repositorio (roles/securesourcemanager.repoAdmin) se te asigna cuando creas un repositorio. El nuevo permiso de gestión de identidades y accesos puede tardar hasta 2 minutos en propagarse, por lo que, si aparece un error de permisos al intentar acceder al repositorio después de crearlo, espera unos minutos y vuelve a intentarlo.

Los repositorios que has creado se muestran en la interfaz web de Secure Source Manager, en la página Mis repositorios.

Siguientes pasos