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
- 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.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init - Instala el componente
betade Google Cloud CLI:gcloud components install alpha
Roles obligatorios
Para obtener los permisos que necesitas para crear un repositorio, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Rol de creador de repositorios de instancias de Secure Source Manager (
roles/securesourcemanager.instanceRepositoryCreator) en la instancia de Secure Source Manager -
Rol de creador de repositorios de Secure Source Manager (
roles/securesourcemanager.repoCreator) en el proyecto de instancia
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 Otorga a los usuarios acceso a la instancia.
Crea un repositorio
Interfaz web
-
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 del navegador.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devReemplaza 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 la identificación de proyectos, consulta Identifica proyectos.
- LOCATION por la región de la instancia.
Autentícate con tus credenciales de Secure Source Manager si es necesario.
Haz clic en el ícono + Crear repositorio nuevo en la esquina superior derecha del menú de navegación.
Completa los detalles del repositorio:
ID del repositorio: Ingresa un nombre para el repositorio.
Descripción: (opcional) Descripción del repositorio.
Rama predeterminada: Nombre de la rama predeterminada.
Inicializar repositorio: Opcional. Selecciona esta opción si deseas inicializar el repositorio y agregar archivos .gitignore, de licencia y README.
.gitignore: Opcional. Elige qué archivos no deseas hacer un seguimiento con las plantillas del menú desplegable.
license: Opcional. Selecciona una licencia común en el menú desplegable.
Haz clic en Crear repositorio.
gcloud
Para crear un repositorio con gcloud CLI, ejecuta el siguiente comando:
gcloud source-manager repos create REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --description=DESCRIPTION \ --default-branch=BRANCH \ --gitignores=GITIGNORES \ --license=LICENSE \ --readme=READMEReemplaza lo siguiente:
REPOSITORY_IDpor el nombre de tu repositorio.LOCATIONpor la región en la que deseas crear el repositorio. Para obtener información sobre las ubicaciones compatibles, consulta Ubicaciones.PROJECT_IDpor el ID del proyecto de la instancia de Secure Source Manager en la que deseas crear el repositorio.INSTANCE_IDpor el ID de la instancia en la que creas el repositorio. Para enumerar las instancias de Secure Source Manager en tu proyecto, consulta Enumera y visualiza instancias.DESCRIPTIONcon una descripción del repositorio. Esto es opcional y se puede omitir.BRANCHcon el nombre de la rama predeterminada. Esto es opcional y se puede omitir. El nombre de la rama predeterminada cuando no está configurado esmain.GITIGNOREScon una lista separada por comas de nombres de plantillas de gitignore. Esto 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.LICENSEcon el nombre de la plantilla de licencia que se aplicará a tu repositorio. Esto 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.READMEcondefaultpara crear un archivo README a partir de la plantilla predeterminada. Esto es opcional y se puede omitir. Si se omite, no se creará un archivo README.
API
Para crear un repositorio con una llamada a REST, ejecuta 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"}'Reemplaza lo siguiente:
REGIONes la región de tu instancia de Secure Source Manager. Para obtener información sobre las ubicaciones compatibles, consulta Ubicaciones.INSTANCE_IDes el ID de tu instancia de Secure Source Manager.PROJECT_IDes el ID del proyecto de tu instancia de Secure Source Manager. Consulta Identifica proyectos para obtener información sobre dónde encontrar el ID del proyecto.REPOSITORY_IDes el nombre de tu repositorio.
Se pueden especificar valores adicionales con la marca de datos HTTP POST,
Google Cloud Deben incluir solo letras minúsculas, números o guiones, deben comenzar con una letra y no se pueden cambiar después de crear el repositorio.-d'{}'incluida la inicialización del repositorio, la adición de un archivo específico.gitignoreo licencias. Consulta la documentación de referencia para obtener más información.Si deseas 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_ppLa 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í:
654987321654es el número del proyecto del repositorio.my-project-ides el ID del proyecto del repositorio.my-repoes elREPOSITORY_IDque estableciste en el comando create. El campouriscontiene las URLs para acceder al repositorio a través del navegador web o a través del acceso HTTPS del protocolo Git.
Accede a tu nuevo repositorio con el URI HTML en la respuesta. La revisión de código, el seguimiento de problemas y las solicitudes de extracción son compatibles con la interfaz web de Secure Source Manager.
El repositorio se crea en tu instancia de Secure Source Manager.
Se te otorga el rol de administrador de repositorios (roles/securesourcemanager.repoAdmin) 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 intentas acceder al repositorio después de la creación, 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?
- Otorga a los usuarios acceso al repositorio
- Usa la administración del código fuente de Git con Secure Source Manager.
- Enumera y visualiza repositorios en la interfaz web de Secure Source Manager.