so-deploy es una herramienta para facilitar el proceso de deploy de los proyectos.
./deploy.sh [ -t=target ] [ -s=structure ] [ -r=rule ] [ option=value... ] repository
Al ejecutar el script sobre el nombre de un repositorio, se pueden pasar los siguientes parametros en orden:
- -t | --target: Cambia el directorio donde sera ejecutado el script. Por defecto se ejecuta en el directorio actual.
- -s | --structure: Cambia la ruta donde el script debe buscar los makefiles para cada proyecto o dependencia. Por defecto va a ser el directorio en donde reside cada uno.
- -r | --rule: Cambia la regla del makefile para compilar los proyectos. El valor por defecto es
all
. - -l | --lib: Agrega una dependencia externa para compilar e instalar. (Se especifica user y nombre del repositorio en github, ej:
mumuki/cspec
) - -d | --dependency: Agrega una dependencia interna del proyecto para compilar e instalar con
make install
. (Forman parte del repositorio a deployar y se especifica una ruta dentro del repositorio a donde reside la dependencia). - -p | --project: Agrega un proyecto a compilar del repositorio. (Al igual que las dependencias se puede pasar una ruta a los proyectos)
- -c | --config: Reemplaza una variable en todos los archivos de configuración del repositorio. (Se especifica el nombre de la variable y el valor a reemplazar, ej:
-c=IP=192.168.0.32
)
Para ver informacion de como usarlo, ejecutar con la opcion -h (help) ./deploy.sh -h
so-deploy requiere que los proyectos y dependencias tengan un makefile encargado de compilar correctamente a cada uno.
git clone https://github.com/sisoputnfrba/so-deploy.git
cd so-deploy
./deploy.sh -l=mumuki/cspec -d=sockets -p=server -p=client -c=IP_SERVER=192.168.0.32 tp-2022-1c-ejemplo
Si encontras algun error en el script o tenes alguna sugerencia, ¡no dudes en levantar un issue en este repositorio para hacernos saber!