Configurar un proyecto con Git
Contenido |
Generar clave id_rsa.pub
Para conectarse al servidor Git del MINSAL se realizará por conexión ssh. Lo primero que debe realizarse es la comprobación de la llave id_rsa.pub, como usuario normal ejecutar la siguiente sentencia.
ls ./ssh
Pueden resultar dos opciones:
- Que no encuentre la carpeta y genere el siguiente mensaje:
- Que muestre el contenido de la carpeta, lo que indica que no debe de realizar los siguientes pasos.
La llave id_rsa.pub es el identificador de la clave RSA pública que permite conectarse vía shh sin escribir contraseña mientras el equipo que permita la conexión se le halla establecido esta clave pública.
Para poder generar tanto la clave pública y privada se debe de ejecutar en consola como usuario normal
ssh-keygen -t rsa
Lo primero que pregunta es el lugar en donde se quieren crear estas llaves. Por defecto se colocará en el home del usuario que esta generando dichas llaves. Como se muestra en la siguiente figura:
Luego pedirá que se ingrese una contraseña para la conexión; en este caso no le daremos contraseña así que presionamos enter tanto para la petición como para la confirmación.
A continuación se realizará la revisión del archivo id_rsa.pub, para ello ejecutar la siguiente sentencia en la consola:
cat .ssh/id_rsa.pub
Deberá aparecer algo similiar a la imagen que se presenta a continuación:
Y deberá aparecer una secuencia de letras, numeros y simbolos parecidos a los que se muestran en la imagen anterior. Ahora se debe cambiar el nombre de la maquina y del usuario que aparecen en este archivo, que es el que se representa Usuario@Maquina; cabiar dicho nombre por un correo.
Luego de guardar los cambios al archivo, enviar este archivo al administrador de los servidores para que este pueda agregar nuestra llave y nos permita escribir en dicho servidor.
Instalación de Git
Verificar que se tienen los repositorios y el sistema actualizado. Luego, como usuario root ejecutar la siguiente instrucción.
aptitude install git kdiff3 qgit
Configuración de Git
Para configurar el usuario git, como usuario normal escribir en consola:
git config --global user.name “Nombre de la persona” git config --global user.email correoElectronico git config --global color.ui true git config --global merge.tool kdiff3
Para estar seguro de lo que se agrego ejecutar:
git config --list
Clonar proyecto vacío para dar confirmación inicial
- El administrador del proyecto debe de haber creado previamente un proyecto git vacio sin ningín archivo; ahora se debe clonar dicho proyecto en el directorio en el que se quiere guardar este proyecto. Ejecutar desde consola:
git clone git@git.salud.gob.sv:nombreProyecto.git
- Crear el .gitignore para excluir archivos como la conexión a la base de datos, cache, logs, por mencionar algunos. Si es un proyecto Symfony se puede utilizar el siguiente gitignore:
# Archivos de respaldo *~ # Bootstrap app/bootstrap* # Symfony directories vendor/* */logs/* */cache/* web/uploads/* web/bundles/* # Configuration files app/config/parameters.ini app/config/parameters.yml #Carpeta nbproject de netbeans nbproject/
- Crear README para explicar que fue lo que se ignoro y algunas recomendaciones de ciertos archivos que han sigo ignorados.
- Ejecutar el siguiente comando:
git status
Debe mostrar un texto como se muestra a continuación, donde especifica que esta en la rama master y que es la confirmación inicial.
- Copiar todos los archivos relacionados al proyecto que se pretende subir al servidor git.
- Dar seguimiento a todos los archivos copiados dentro de la carpeta; para ello ejecutar
git add --all
- Para la confirmación inicial ejecutar lo siguiente:
git commit -a -m "Confirmación inicial del proyecto"
- Para poder subir los cambios al servidor se necesita saber el remoto autorizado para realizar esta acción; para saber eso, ejecutar:
git remote -v
Al observar las lineas que se encuentran entre el recuadro rojo, se puede observar que el nombre del remote es origin y nos indica que para modificar el servidor se puede hacer mediante el fetch o el push.
- Para subir los cambios al servidor se hará en la rama master, ejecutando la siguiente sentencia:
git push origin master
- Al revisar el servidor git deberá aparecer el proyecto git con su primera confirmación en la rama master.
Clonar proyecto Symfony configurado previamente
Para clonar el proyecto capacitacion/symfony.git utilizado en las capacitaciones, colocarse en el directorio en donde se quiere clonar el proyecto.
Nota: Para seguir con el ejemplo de la capacitación colocarse en NetBeansProjects/
Ejecutar la siguiente sentencia:
git clone git@git.salud.gob.sv:capacitaciones/symfony.git
Si es la primera vez que se clona un proyecto desde el servidor Git, aparecerá los siguiente:
En donde pregunta que si se esta seguro de realizar esa conexión via ssh. Responder escribiendo yes, luego de esto descargará el servidor tal y como se encuentra en el momento de la clonación.
Modificaciones para hacer funcionar un proyecto symfony
Verificar si se tiene el archivo composer.phar; si no se tiene debe de realizar los siguientes pasos:
- Como usuario root instalar el paquete curl.
aptitude install curl
- Si se tiene Debian Squeeze, es necesario realizar la siguiente configuración de suhosin. Como usuario root editar el archivo /etc/php5/cli/conf.d/suhosin.ini, cambiando:
;suhosin.executor.include.whitelist =
Por:
suhosin.executor.include.whitelist = phar
- Como usuario normal, se creará una nueva rama y se activará para trabajar en ello. Ejecutar:
git checkout -b nombreRama
- Para asegurarse que se esta en la rama correcta ejecutar:
git branch
Lo que se encuentra en color verde con un * es la rama en la que se está trabajando
- Como usuario normal ejecutar lo siguiente:
curl -s https://getcomposer.org/installer | php
La sentencia anterior lo que hace es descargar el composer.phar, luego de ejecutar la sentencia deberá generar el archivo:
- Ahora se procede a crear el parameters.yml en el directorio app/config; ya que este archivo al haber sido ignorado no es copiado con el clonado del proyecto. La estructura del parameters.yml es la siguiente:
parameters: database_driver: pdo_pgsql database_host: nombreHost database_port: '' database_name: nombreBase database_user: usuarioBase database_password: contraseñaBase mailer_transport: smtp mailer_host: localhost mailer_user: null mailer_password: null locale: en secret: df1ca40cfc425c4f34e654696720435a044b9ca9 database_path: null
- Actualizar el kernel de symfony para que finalmente se pueda acceder al sitio. Ejecutar:
php composer.phar install
Al terminar de descargar todos los archivos necesarios, deberá aparecer en la consola algo similar a la imagen que se muestra a continuación:
.- Aplicar las acl al directorio cache y logs:
setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache/ app/logs/ setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache/ app/logs/
(Véase: Configuración de ACL)
- Probar symfony.localhost/app_dev.php
Nota: para realizar la prueba con la url, tener en cuenta que el virtual host este en la IP 127.0.0.4 sino cambiar se debe cambiar dicha dirección en el archivo app_dev.php.
- En caso que se tenga el archivo composer.phar no se debe realizar la sentencia:
curl -s https://getcomposer.org/installer | php
Confirmación inicial en la nueva rama
- Luego de hacer todos los pasos del ítem anterior, se procede a subir los cambios de la nueva rama creada. Para ello se debe estar seguro que se encuentra en la nueva rama así que ejecutar:
git branch
- Poner en seguimiento todos los archivos que se han creado y realizar la confirmación inicial , esto se hace con las sentencias:
git add --all git commit -a -m "Confirmación Inicial de la rama prueba"
- Asegurarse del nombre del remoto que se tiene configurado para el proyecto, con la sentencia:
git remote -v
- Subir los archivos al servidor con la siguiente sentencia:
git push origin prueba
Creando proyecto Netbeans
Al crear el .gitignore de un proyecto Symfony con el IDE de desarrollo NetBeans se deben ignorar los siguientes archivos:
# Archivos de respaldo *~ # Bootstrap app/bootstrap* # Symfony directories vendor/* */logs/* */cache/* web/uploads/* web/bundles/* # Configuration files app/config/parameters.ini app/config/parameters.yml #Carpeta nbproject de netbeans nbproject/
Como se observa en las lineas anterior se ignora el nbproject/, entonces para que NetBeans reconozca este proyecto como un proyecto netbeans se procede a crear un nuevo proyecto pero con la opción PHP Aplication with Existing Source .
Luego seleccionar el origen del proyecto presionando el botón Browse..
Al seleccionar el proyecto aparecerá la ruta en la siguiente ventana:
En la siguiente ventana configurar la URl de prueba, en este caso es http://symfony.localhost/app_dev.php
Al presionar finalizar, se creará el proyecto.
Si se observa que justo abajo del nombre del proyecto aparece un cilindro azul; este cilindro indica que se han hecho modificaciones al proyecto git. Se deben tomar las siguientes consideraciones a la hora de realizar cambios al proyecto:
- Todos los archivos que aparezcan en color VERDE son archivos que han sigo agregados sin haberles dado un commit.
- Todos los archivos que aparezcan en color AZUL son archivos que fueron creados desde el proyecto pero su estructrura ha cambiado.