Agrega un script para actualizar varios repositorios git desde un archivo de rutas.
Pide usuario y contraseña una sola vez y sigue con el resto si alguno falla.
This commit is contained in:
@@ -224,3 +224,25 @@ Formato del archivo: una ruta por línea y, si hace falta, un segundo campo `jav
|
||||
Se reenvían a cada servicio: `--ssh-key`, `--ssh-config`, `--skip-build`, `--no-verify` y `--cleanup`, más el `--type` de esa línea. No se aceptan `--name`, `--tag`, `--project-dir` ni `--type`.
|
||||
|
||||
Ctrl+C interrumpe el lote. Ayuda: `./scripts/deploy-services.sh --help`.
|
||||
|
||||
## `update-repos.sh`
|
||||
|
||||
Actualiza un repositorio git por cada ruta de un archivo de lista. Ejecuta `git pull` en cada uno. Si alguno falla, sigue con el resto y al terminar indica cuáles fallaron. El código de salida es `1` si alguno falló.
|
||||
|
||||
No hay lista por defecto. `--repos` es obligatorio.
|
||||
|
||||
```shell
|
||||
./scripts/update-repos.sh --repos /srv/proyecto/repos.txt
|
||||
```
|
||||
|
||||
Al arrancar pide `Usuario:` y `Contraseña:` en la terminal, una sola vez para todo el lote. Esas credenciales se usan en los remotos HTTPS. No se leen desde la línea de comandos ni desde el archivo, y no se guardan. Un remoto SSH se actualiza con su acceso habitual (clave), sin esa contraseña.
|
||||
|
||||
Formato del archivo: una ruta por línea. Se ignoran las líneas vacías y las que empiezan por `#`. Una ruta relativa se resuelve desde el directorio del archivo de lista, no desde el directorio donde lanzas el script. Cada ruta debe ser la raíz de un repositorio git.
|
||||
|
||||
```text
|
||||
# /srv/proyecto/repos.txt
|
||||
/srv/repos/api
|
||||
./portal
|
||||
```
|
||||
|
||||
Ctrl+C interrumpe el lote. Ayuda: `./scripts/update-repos.sh --help`.
|
||||
|
||||
Reference in New Issue
Block a user