Planificación del uso de espacios de trabajo
Planifique y diseñe los espacios de trabajo utilizando las siguientes preguntas como solicitudes:
- ¿Cómo relaciono los espacios de trabajo con repositorios Git ?
- ¿Cuántos espacios de trabajo necesita mi entorno de aplicación?
- ¿Cómo puedo reutilizar los archivos de configuración de Terraform en distintos entornos y espacios de trabajo?
- ¿Cómo controlo el acceso a mis espacios de trabajo y los administro?
Espacios de trabajo y repositorios Git
Los espacios de trabajo utilizan plantillas de Terraform de repositorios de Git privados o públicos como GitHub
, GitLab
, Bitbucket
y Azure DevOps. La tabla proporciona el formato del origen de los repositorios.
Repositorios Git | URL |
---|---|
GitHub |
https://github.com/<your_user_name>/<repo_name>/tree/<branch_name>/<folder_name> |
GitLab |
https://gitlab.com/<your_user_name>/<project_name>/tree/<branch_name>/<folder_name> |
Bitbucket |
https://bitbucket.org/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name> https://<username>@bitbucket.org/<workspace_name>/tf_cloudless_sleepy/src/master |
Azure DevOps |
https://azure.com/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name> https://visualstudio.com/<your_user_name>/<repo_name>/src/<branch_name>/<folder_name> |
¿Cuántos espacios de trabajo necesita mi entorno de aplicación?
El número de espacios de trabajo que necesita en IBM Cloud Schematics está determinado por la estructura de la aplicación y los entornos que necesita para desarrollar, probar y publicar la aplicación o microservicio.
Como regla general, considere espacios de trabajo separados para cada microservicio y los entornos que utilice. Por ejemplo, si tiene una aplicación de producto que consta de componentes de microservicio de búsqueda, pago y revisión, considere la posibilidad de crear espacios de trabajo separados para cada componente de microservicio y sus entornos de desarrollo, ensayo y producción. Con espacios de trabajo separados para cada componente y entorno, puede desarrollar, implementar y actualizar sus archivos de configuración de Terraform y los recursos de nube asociados sin afectar a otros componentes.
Revise la imagen siguiente, observando la estructura del espacio de trabajo IBM Cloud Schematics para una app que consta de tres microservicios.

En las organizaciones en las que las responsabilidades de infraestructura se distribuyen entre varios equipos, no se recomienda utilizar un espacio de trabajo para gestionar entornos completos de transición o producción. Cuando despliegas todos tus recursos en la nube utilizando un único espacio de trabajo, puede resultar difícil para varios equipos coordinar las actualizaciones y gestionar el acceso a estos recursos. Separar espacios de trabajo, compartir definiciones de infraestructura utilizando orígenes de datos de estado remoto proporciona un mecanismo para crear áreas de responsabilidad independientes.
¿Cómo estructuro mis repositorios de Git para mapear mis espacios de trabajo?
Estructure su repositorio de Git de manera que tenga un repositorio para todos sus archivos de configuración de Terraform que construyen su microservicio, y utilice variables de entrada en las ramas o directorios Schematics o GitHub para diferenciar entre sus entornos de desarrollo, ensayo y producción.
Revise la tabla siguiente para ver una lista de opciones sobre cómo estructurar el repositorio Git para correlacionar los distintos entornos de espacio de trabajo.
Opción | Descripción |
---|---|
Un repositorio Git, utilice variables para distinguir entre entornos | Cree un repositorio Git donde almacenar los archivos de configuración de Terraform que constituyen el componente de microservicio. Haga que los archivos de configuración de Terraform sean tan generales como sea posible, de manera que pueda reutilizar la misma configuración en los entornos. Para configurar los detalles del entorno de desarrollo, pruebas y producción, utilice variables de entrada de Terraform en sus archivos de configuración. Las variables de entrada se cargan automáticamente en IBM Cloud Schematics al crear el espacio de trabajo. Para personalizar el espacio de trabajo, especifique los valores específicos del entorno para las variables. Esta configuración es útil si tiene un equipo que gestiona el ciclo de vida del componente de microservicio y cuando la configuración de los entornos no difiere de manera drástica. |
Un repositorio Git, utilice ramificaciones para distinguir entre entornos | Cree un repositorio Git para el componente de microservicio y utilice distintas ramificaciones de Git para almacenar los archivos de configuración de Terraform para cada uno de los entornos. Con esta configuración, tiene una distinción clara entre los entornos y más control sobre quién puede acceder y cambiar una configuración concreta. Asegúrese de configurar cómo se rellenan los cambios en un archivo de configuración entre ramas para evitar que tenga configuraciones diferentes en cada entorno. |
Un repositorio Git, utilice directorios para distinguir entre entornos | Para las organizaciones que prefieran ramificaciones de corta duración, y cuando las configuraciones difieran drásticamente entre entornos, plantéese crear directorios que representen las distintas configuraciones de los entornos. Con
esta configuración, todos los directorios están a la escucha de los cambios que se confirmen en la ramificación master (maestra). Asegúrese de configurar cómo se relenan los cambios en un archivo de configuración entre
directorios para evitar tener configuraciones diferentes en cada entorno. |
Utilice un repositorio Git por entorno | Utilice un repositorio Git para cada uno de los entornos. Con esta configuración, tiene una relación 1:1 entre el espacio de trabajo y el repositorio Git, y puede aplicar permisos independientes para cada uno de los repositorios Git. Asegúrese de que su equipo pueda gestionar varios repositorios Git y mantenerlos sincronizados. |
¿Cómo puedo reutilizar archivos de configuración entre entornos y espacios de trabajo?
Intente minimizar el número de archivos de configuración de Terraform que necesita gestionar creando plantillas de Terraform estandarizadas y utilizando variables para personalizar el uso de una plantilla según sus necesidades.
Ahora, puede utilizar los módulos de Terraform desde el registro de módulos de Terraform para IBM Cloud.
Con las plantillas de Terraform estandarizadas o los módulos de Terraform, puede asegurarse de que se siguen las prácticas recomendadas de desarrollo dentro de la organización y que todos los archivos de configuración de Terraform tienen la misma estructura. Conocer la estructura de un archivo de configuración de Terraform facilita que los desarrolladores puedan entender un archivo, declarar variables, contribuir al código y resolver errores.
¿Cómo controlo el acceso a mis espacios de trabajo?
IBM Cloud Schematics está totalmente integrado con IBM Cloud® Identity and Access Management. Para controlar el acceso a un espacio de trabajo y quién puede ejecutar el código de infraestructura con IBM Cloud Schematics, consulte Gestión de acceso de usuario.
¿Qué debo tener en cuenta cuando tengo un repositorio que se ha utilizado anteriormente con Terraform autónomo?
IBM Cloud Schematics, al ofrecer Terraform como servicio, permite reutilizar las plantillas de Terraform existentes con espacios de trabajo. En función de cómo se escriban las plantillas de Terraform y se estructuren los repositorios Git, es posible que tenga que realizar cambios para utilizar correctamente IBM Cloud Schematics.
- Declaración de bloque de proveedor: dado que IBM Cloud Schematics está integrado con IBM Cloud® Identity and Access Management, la clave de API de IBM Cloud se recupera automáticamente para todos los recursos habilitados
para IAM y no tiene que proporcionar esta información en el bloque
provider
. Sin embargo, la clave API no se recupera para los recursos de infraestructura clásicos. Para obtener más información, consulte Configuración del bloqueprovider
. - Plug-in de línea de mandatos de Terraform y proveedor de IBM Cloud: para utilizar IBM Cloud Schematics, no es necesario instalar la línea de mandatos Terraform o el IBM Cloud Provider Plug-in for Terraform. Si desea automatizar el suministro de recursos, pruebe el plugin de línea de mandatos de IBM Cloud Schematics en su lugar.
Configuración de una cadena de herramientas de entrega continua para el espacio de trabajo
Conecte el repositorio de origen a un conducto de entrega continua en IBM Cloud para generar automáticamente un plan de ejecución de Terraform y ejecutar el código de Terraform en IBM Cloud siempre que actualice los archivos de configuración de Terraform.
- Si aún no tiene una instancia de servicio de Continuous Delivery en su cuenta, cree una.
- En el catálogo de IBM Cloud, abra el servicio Continuous Delivery.
- Seleccione la región de IBM Cloud en la que desea crear el servicio.
- Seleccione un plan de precios.
- Especifique un nombre para la instancia de servicio, seleccione un grupo de recursos y especifique cualquier etiqueta que desee asociar a la instancia de servicio.
- Pulse Crear para crear la instancia de servicio en la cuenta.
- Desde el panel de control del espacio de trabajo, seleccione un espacio de trabajo.
- Seleccione el separador Valores.
- En la sección Resumen, pulse Habilitar la entrega continua.
- Configure la cadena de herramientas.
- Especifique un nombre para la cadena de herramientas, y seleccione la región y el grupo de recursos en el que desea desplegar esta cadena de herramientas. La región y el grupo de recursos pueden ser diferentes de la región y el grupo de recursos que ha utilizado para el espacio de trabajo de Schematics.
- Seleccione el tipo de repositorio de origen en el que se almacenan los archivos de configuración de Terraform. Por ejemplo: GitHub.
- Revise la información del repositorio de origen. Por ejemplo, si los archivos de Terraform se almacenan en GitHub, revise el servidor de GitHub y el repositorio para el que desea crear una cadena de herramientas de entrega continua. Estos campos se rellenan previamente en función de la configuración del espacio de trabajo.
- Opcional: Elija si desea habilitar los problemas de Git y el seguimiento de cambios de código para la cadena de herramientas.
- Seleccione el icono de Delivery Pipeline para configurar su conducto de entrega.
- Verifique que el ID del espacio de trabajo que se le muestra sea correcto.
- Especifique una clave de API de IBM Cloud. Si no tiene una clave de API, pulse Nuevo + para crear una.
- Pulse Crear para finalizar la configuración de la cadena de herramientas. Verá una descripción general de las herramientas que se han configurado para la cadena de herramientas.
- Abra Delivery Pipeline. El conducto de entrega (Delivery Pipeline) incluye etapas para recuperar actualizaciones desde el repositorio de origen, crear un plan de ejecución de Terraform, aplicar este plan y ejecutar una comprobación de estado en el espacio de trabajo.
- Actualice el archivo de Terraform en el repositorio de origen y revise cómo se procesa este cambio en Delivery Pipeline. Si una de las etapas falla, pulse Ver registros e historial para iniciar los errores de resolución de problemas. Para obtener más información sobre cómo ver los registros y el historial, consulte Revisar los detalles del trabajo de Schematics.