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.
-
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
- 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:
-
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 la 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 Cómo otorgar acceso a la instancia a los usuarios.
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 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.
Si es necesario, autentícate con tus credenciales de Secure Source Manager.
Haz clic en el ícono + Crear repositorio nuevo en la parte superior derecha del menú de navegación.
Completa los detalles del repositorio:
ID del repositorio: Ingresa un nombre para el repositorio.
Descripción: (opcional) Es la descripción del repositorio.
Inicializar repositorio: Opcional. Selecciona esta opción si deseas inicializar el repositorio y agregar los archivos .gitignore, license 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.
Rama predeterminada: Es el nombre de la rama predeterminada.
Haz clic en Enviar.
gcloud
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 esmain
.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
condefault
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
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 elREPOSITORY_ID
que estableciste en el comando de creación. El campouris
contiene las URLs para acceder al repositorio a través del navegador web o del acceso HTTPS al protocolo de Git.
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?
- Cómo otorgar acceso a los usuarios al repositorio
- Usa la administración de código fuente de Git con Secure Source Manager.
- Enumera y visualiza repositorios en la interfaz web de Secure Source Manager.