¿Cómo trabajar con el Repositorio de Código asociado a la Plataforma Pre-Cloud?

Contenido

¿Quién administra el repositorio de código?

La administración funcional se realiza desde la Oficina de Impulso de DevSecOps, aunque tendrás la autonomía necesaria para gestionar tú mismo los componentes de tus Sistemas de Información.

¿Cómo gestiono los permisos y responsables en Gitlab?

Para la gestión de permisos en Gitlab se ha optado por la implementación de un modelo de autogestión. Este cambio está pensado para otorgar mayor autonomía y flexibilidad a los distintos equipos.

¿Cómo elijo el nombre del repositorio?

Se deberán seguir las indicaciones marcadas en la pauta Nomenclatura, existente en Normas de gestión de código en la Plataforma Pre-Cloud.

¿Cómo se organizará el repositorio?

Se deberán seguir las indicaciones marcadas en la pauta Organización y estructura tipo para un Sistema de Información, existente en Normas de gestión de código en la Plataforma Pre-Cloud.

¿Necesitas migrar tus Sistemas de Información desde SVN?

Procedimiento funcional de migración de SVN a Git:

1. Checkout repositorio original

Para empezar con la migración de un repositorio Subversion a Git comenzaremos descargando el repositorio original de Subversion:

svn checkout repositorio

2. Creación de ficheros de autores

Una vez descargado y dentro de la carpeta creada, ejecutaremos el siguiente comando:

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors.txt

3. Formato del fichero de autores

Con ello conseguiremos la lista de usuarios que han trabajado con el repositorio para pasarlos a Git.

Antes tendremos que adaptar el contenido. Los usuarios en SVN por defecto suelen venir con este formato:

jwilkins = jwilkins (jwilkins)

Será necesario adaptarlo a este formato:

jwilkins = John Albin Wilkins (johnalbin@example.com)

4. Clonado del repositorio

Una vez modificado el fichero de usuario, ejecutaremos el siguiente comando:

git svn clone http://servidor-svn/proyecto --no-metadata --preserve-empty-dirs  -A authors.txt --stdlayout svntmp

En caso de que la estructura del repositorio de SVN no sea estándar, necesitaremos definir la localización de nuestro trunk, branches y tags.

git svn clone --trunk=/trunk --branches=/branches branches=/bugfixes --tags=/tags --authors-file=authors.txt http://servidor-svn/proyecto --no-metadata --preserve-empty-dirs  -A authors.txt --stdlayout svntmp

5. Creación del fichero .gitignore

Creamos el fichero .gitignore con los ficheros ignorados en Subversion:

cd svntmp

git svn show-ignore > .gitignore

6. Normalización del repositorio

En primer lugar moveremos las etiquetas para que sean etiquetas Git correctas:

cp -Rf .git/refs/remotes/origin/tags/* .git/refs/tags/

rm -Rf .git/refs/remotes/origin/tags

A continuación, moveremos el resto de las referencias en refs/remotes para que sean ramas locales:

cp -Rf .git/refs/remotes/* .git/refs/heads/

rm -Rf .git/refs/remotes

7. Configuración del repositorio remoto

Añadimos nuestro servidor Git en remoto:

git remote add origin git@servidor-git:mirepositorio.git

8. Subida del repositorio

Subimos ramas y etiquetas:

git push origin --all

¿Qué hacer si tengo problemas con la migración?

Puedes ponerte en contacto con la Oficina de Impulso de DevSecOps  y plantear a un técnico tu problema, para que te ayuden con todo lo necesario a la migración.

 

¿Qué pasa si no tengo visibilidad al servicio NAOS?

Dicha visibilidad tiene que ser solicitada al equipo de implantación NAOS, que es el encargado de gestionar la administración general en NAOS. Mientras se concede el acceso, para no demorar la petición, es posible enviar toda la información necesaria a la Oficina de Impulso de DevSecOps.

El asunto del correo dependerá de la necesidad que se solicite:

  • Si necesitas dar de alta tu proyecto el asunto será: "[RepositorioCódigo] Alta de Sistema de Información".
  • Si necesitas desbloquear tu usuario el asunto será: "[RepositorioCodigo] Desbloqueo usuarios".

Donde se facilitará toda la información necesaria. Para estos casos, el técnico procederá a crear la petición NAOS correspondiente y pondrá como interesado al solicitante (el remitente del correo) para que pueda estar informado de las actuaciones que se llevan a cabo.