Hoy en día, los programas de codificación y desarrollo de software van en aumento. Por lo tanto, la demanda de programas utilizados en este campo también está por las nubes. Esto ha provocado la creación de un entorno altamente competitivo en el mundo online donde diferentes programas de codificación y DevOps compiten para ganar el premio al programa más utilizado en su respectivo campo. Git es uno de estos programas. Junto con la nueva normalidad del trabajo remoto para trabajos que se realizan principalmente detrás de una pantalla de computadora, esto ha llevado a que muchas personas alojen sus programas, incluido Git, en servidores remotos. Si usted también se encuentra en esta categoría y desea instalar su propio servidor Git, no busque más.
En este artículo, repasaré qué es exactamente Git y cubriré sus ventajas y desventajas, antes de mostrarle qué requisitos necesitará y alojará su propio servidor Git. ¡Vamos!
¿Qué es Git?
git es un programa DevOps que está diseñado para permitir a codificadores y programadores revisar sus proyectos y realizarlos de la manera más eficiente posible. La función más importante de Git es realizar un seguimiento de los cambios en el código fuente a lo largo del tiempo. Git es gratuito y de código abierto y recibe actualizaciones periódicas. Esto convierte a Git en uno de los programas de codificación DevOps más confiables y de más fácil acceso del mundo. Cada computadora donde se encuentra una instancia de Git actúa como un directorio de repositorio completo con su propio historial separado de todos los cambios de archivos. Después de cerca de 20 años de desarrollo activo y más de 30 actualizaciones publicadas para Git, el programa actualmente se ejecuta en la versión 2.40.0, con más actualizaciones futuras pendientes. Ahora aprendamos algunos de los casos de uso de Git para comprender mejor por qué querríamos instalar el servidor Git en primer lugar.
Casos de uso de Git
Antes de pasar demasiado rápido para alojar su propio servidor local Git, familiaricémonos rápidamente con los casos de uso principales de Git para comprender por qué vamos a ejecutar un servidor Git en primer lugar.
Repositorio de clonación
Muchos desarrolladores y codificadores prefieren crear un repositorio Git en el servidor para realizar un seguimiento de los programas y archivos que desean. Git puede permitirle replicar fácilmente su repositorio actual del kernel de Linux y, a través de algunos comandos básicos, usarlo para recopilar un registro de cambios mucho más coherente y eficiente solo de los archivos que le interesan. El proceso es fácil de realizar y puede administrar fácilmente proyectos de codificación grandes y pequeños con él. Este proceso también se conoce como “derivación”, ya que en esencia, creas una nueva rama desde tu repositorio ya existente.
Flujo de trabajo de Git
Git Workflow es otro caso de uso importante que utilizará una vez que configure su propio servidor git. Puede utilizar su servidor local Git para crear dos conjuntos de ramas mediante el proceso de clonación y hacer que una de ellas sea representativa de su proyecto, por ejemplo, un sitio web. Luego, puede crear un servidor Git con una rama de producción separada donde se registrarán todos los cambios realizados por cada desarrollador e incluso se podrán probar antes de la implementación. Este enfoque de desarrollo y pruebas de múltiples capas no solo aumenta su eficiencia, sino que también hace que el seguimiento del proceso de desarrollo y los cambios sea increíblemente fácil.
Fusionando
¿Recuerdas la bifurcación de tu repositorio y el registro de cambios? Como sugiere el nombre, la fusión es el polo opuesto de esa operación. En la fusión, que se considera ampliamente el aspecto más desafiante de Git, buscamos inyectar los datos de un nodo de rama del repositorio nuevamente en el repositorio principal del que se dividió originalmente. Esto generalmente se hace para crear un servidor Git con un informe completo del proyecto y un historial de cambios que incluya todos los cambios del proyecto de diferentes áreas en un repositorio conciso y fácil de descifrar. Si bien durante el proyecto es necesario realizar bifurcaciones para evitar confusiones, la fusión está diseñada para revertir la acción y brindar una imagen más clara al final del proyecto durante la resolución de problemas.
Aloje su propio servidor Git: ventajas y desventajas
Cada programa tiene un conjunto de pros y contras cruciales que deben conocer los usuarios que desean ingresar al programa y usarlo en sus programas. En esta sección, discutiré los pros y los contras que se aplican a Git. Sin embargo, estos pros y contras sólo se aplican a Git si lo aloja usted mismo, que es de lo que trata más o menos esta guía, así que vayamos a ello.
Git autohospedado: ventajas
Sin participación de terceros
Con Git autohospedado, usted y las personas que vea serán las únicas personas con los medios para acceder a sus archivos. Básicamente, esto elimina cualquier participación de terceros no deseados y le permite continuar con su proyecto con tranquilidad. Tus datos también estarán mucho más seguros y podrás asignar los recursos que tenías en mente para la seguridad en otros lugares.
Seguridad
Hablando de seguridad, Git es lo más seguro posible gracias a las mejores prácticas y la implementación de herramientas de terceros. Si bien el nivel de seguridad disminuye al hospedarse usted mismo en lugar de usarlo, existe una libertad casi ilimitada en cuanto a qué tan segura puede hacer su propia operación.
Repositorios ilimitados
¿Recuerdas la clonación y la ramificación? No hay límite en la cantidad de repositorios que puedes crear con Git. Esto lo hace increíblemente adecuado para proyectos más grandes donde cada rama de desarrollo necesita su repositorio. Esto también es excelente para proyectos con archivos grandes, como recursos 3D y casos en los que se trabaja con Unity.
Git autohospedado: Contras
Grandes cantidades de esfuerzo de gestión
Los repositorios de Git pueden salirse de control rápidamente. Si decide configurar un servidor Git en su propia plataforma autohospedada, administrar todas las ramas y metadatos pronto puede convertirse en un dolor de cabeza. Por lo tanto, debe ser increíblemente preciso o dejar que un codificador experto lo haga por usted.
Curva de aprendizaje aproximada
Una cosa es alojar Git, pero dominarlo y ejecutar su servidor local Git es otra muy distinta. Podría decirse que Git tiene uno de los límites de habilidades más altos de cualquier programa DevOps basado en repositorio y nuevamente es necesario dedicar mucho tiempo a aprenderlo o subcontratarlo.
Sin GUI ni soporte para Windows
¿Querías configurar un servidor Git en Windows? ¿O tal vez querías configurar el servidor Git para que se ejecutara con una GUI? Bueno, no tienes suerte. Está limitado a sistemas operativos con kernel de Linux como código base y no hay una GUI que le ayude a facilitar las cosas. ¿Quieres instalar un servidor Git y autohospedarte? Mejor aprenda los conceptos básicos de codificación.
Método obsoleto
Según todas las métricas imaginables, el uso de Git en un servidor autohospedado parece estar desactualizado y superado por otros métodos más eficientes de ejecutar Git. Los principales ejemplos de un proceso de ejecución de Git más eficiente serían ejecutar GitLab, así que antes de decidir ejecutar su propio servidor Git, consulte GitLab ¡también!
Requisitos necesarios para instalar un servidor Git
Ahora repasemos rápidamente los requisitos necesarios para configurar un servidor Git y alojar su propio servidor Git. Para alojar Git, solo necesita dos componentes, un servidor y una instancia de Git, con un poco de conocimiento de codificación para ejecutar el proceso de configuración del servidor Git.
Servidor Git
En cuanto al servidor, puedes utilizar otro PC propio, utilizar servidores dedicados de proveedores tradicionales o, si prefieres un enfoque más práctico, utilizar un VPS en la nube (servidor privado virtual). Al tener un VPS, puedes administrar directamente el servidor y operar la instancia de Git al mismo tiempo. Tenga en cuenta que su servidor debe tener una distribución de Linux para poder configurar un servidor Git. Cloudzy ofrece una amplia variedad de VPS Linux servicios que presentan más de 10 distribuciones de Linux acreditadas, como Ubuntu, Debian, CentOS, Kali y OpenSUSE. ¡A partir de solo $ 4,95 al mes, puede obtener un servidor Linux confiable cerca de su ubicación para garantizar una excelente calidad de conexión y usarlo para autohospedar y ejecutar un servidor Git!
Consiga un VPS Linux económico o premium para alojar su sitio web o escritorio remoto, al precio más barato que existe. VPS que se ejecuta en Linux KVM para una mayor eficiencia y funciona en hardware potente con almacenamiento SSD NVMe para una mayor velocidad.
Leer másInstancia Git
El proceso para configurar un servidor Git es sencillo y lo haremos automáticamente como parte del proceso de instalación. Como se mencionó, Git es de código abierto y no cuesta dinero. Esto es lo que hace que Git sea preferible a muchos otros programas basados en repositorios centrados en la codificación y el desarrollo que existen. Ahora que tenemos los requisitos, pasemos directamente a nuestra guía paso a paso para instalar un servidor Git en su servidor Linux.
Instalar un servidor Git en Linux (guía paso a paso)
Paso 1: descargue e instale Git
Este es el primer paso en el proceso de instalación del servidor Git. En la terminal de su distribución de Linux de su elección, ingrese el siguiente comando para iniciar la descarga de Git:
Distribuciones basadas en Ubuntu/Debian:
sudo apt install git
Distribuciones basadas en Arch:
sudo pacman -S git
Distribuciones basadas en RHEL:
sudo dnf install git
Este comando descargará e instalará Git en su servidor Linux. Espere a que finalice el proceso.
Paso 2: registrar y configurar el servidor Git
Si tiene un servidor local en otro escritorio, inícielo; de lo contrario, si tiene un VPS, use SSH o RDP para conectarse a su servidor Linux de forma remota. Ahora vamos a configurar el servidor Git para que se ejecute de forma remota. Haremos esto creando una cuenta de Git usando el siguiente comando:
ssh username@address
sudo useradd git
Luego ingrese este comando para cambiar a su cuenta recién creada:
su git
Este paso se realiza principalmente para garantizar la seguridad de su servidor local Git. Usando esta cuenta, serás el administrador del servidor. Puede organizar de forma segura a futuros usuarios potenciales en grupos de usuarios con limitaciones y niveles de acceso predefinidos.
Paso 3: crear directorios SSH y Crear un repositorio git en el servidor
El siguiente paso en el proceso de instalación del servidor Git es crear un directorio SSH exclusivo para guardar nuestro claves publicas y cree un repositorio Git en el servidor con capas adicionales de seguridad y niveles de acceso definidos para usted. Comience ingresando el siguiente comando:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Una vez que haya restringido el acceso a otras personas usando esta línea de comando, ingrese la siguiente línea para asegurarse de que sus claves SSH estén almacenadas de forma segura en un claves_autorizadas carpeta, donde solo usted puede acceder a ellos (ejecute este comando solo si NO tiene una id_rsa.pub archivo):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Finalmente, copie la clave pública SSH que creó para configurar una nueva conexión SSH con seguridad adicional a su servidor local de Git:
cd .ssh
vi authorized_keys
Paso 4: cree un directorio maestro
En su servidor Linux, necesita crear un nuevo directorio para guardar todos los repositorios que su Git usará en sus proyectos futuros. Puede conocer los pormenores de la gestión de sus repositorios Git. Ingrese este comando:
mkdir directory_name
Paso 5: ¡Agrega tu proyecto!
¡Has logrado crear un servidor Git! El proceso de instalación del servidor Git concluyó exitosamente y también logró configurar el servidor Git exitosamente. Todo lo que queda es agregar proyectos adicionales con el siguiente comando:
cd parent_directory
mkdir new_project.git
Luego ingrese este comando para agregar un origen remoto a su computadora local:
git init --bare
git remote add origin name git@address:new_project.git
Finalmente, realice una inserción de Git para probar si todo funciona según lo previsto:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Felicitaciones, ha logrado alojar git y crear un repositorio de git en el servidor.
Preguntas frecuentes
¿Puedo alojar Git sin un servidor?
No. No importa cuál sea la naturaleza de su servidor, necesitará hardware para actuar como servidor. Puedes usar GitHub para actuar como un servidor en la nube para tus repositorios o usar nuestro VPS ofrece o utiliza otro servicio de hosting de terceros para que actúe como servidor.
¿Existe alguna forma de instalar un servidor Git con GUI?
Sí. Si bien Git en sí no es compatible con GUI, hay disponible una versión independiente con GUI conocida como "Git GUI" para las personas que no pueden vivir sin una GUI.
¿Existe un plan pago para Git?
No. Git ha sido y siempre será un programa gratuito y de código abierto, como lo reflejan sus desarrolladores y editores originales. Por lo tanto, puede utilizar el programa como un derivado para el desarrollo de su programa; de lo contrario, el programa es gratuito.
¿Por qué debería alojar su propio servidor Git?
Suponga que desea ejecutar un proyecto pequeño con repositorios limitados. En ese caso, el autohospedaje es mucho más privado y seguro. Entonces ese es el motivo principal. Pero a medida que avanza hacia proyectos más grandes con más repositorios, el autohospedaje comienza a perder su eficiencia.