#+LINK_HOME: index.html
#+INCLUDE: header.org

Hace tiempo que decidí compartir mis links 1 favoritos y para esto la secuencia era la siguiente:
En el teléfono espía:
- Registrar y categorizar link en
simpletask2 - Realizar un commit y ejecutar
git pushluego de varios links
En la notebook:
- Obtener los últimos cambios del repo
links3 - Realizar un merge si había cambios locales
- Realizar un commit y ejecutar
git pushconlinks.txtactualizado - Ejecutar
links2orgpara obtenerlinks.orgactualizado - Revisar
links.orgy hacer commit en el repoblog4 - Enviar cambios del repo
bloga GitLab - Verificar que la CI publique el sitio en https://osiux.gitlab.io/
- Verificar que https://osiux.com/ obtenga los cambios de GitLab
Y esta secuencia tenía varios inconvenientes:
- depender de la notebook para publicar
- realizar commits en 2 repos diferentes (
linksyblog) - circuito de pasos manuales con muchos tiempos muertos
- muy baja frecuencia de publicación
automate all the things #
Luego de pensar un poco, cómo podía simplificar la operatoria y al mismo tiempo automatizar el circuito, logré resolverlo eficientemente de la siguiente manera:
En el teléfono espía:
- Registrar y categorizar link en
simpletask - Realizar un commit y ejecutar
git pushluego de varios links
En la notebook:
- No tengo que hacer nada de nada!
En GitLab:
- Se obtienen los últimos cambios y se dispara la CI
- Verificar que la CI publique el sitio en https://osiux.gitlab.io/osiux-links/
- Verificar que https//osiux.com/ obtenga los cambios de GitLab
El cambio es enorme! Ahora puedo publicar directamente desde el teléfono
espía, basta con ejecutar git push y GitLab hace su
magia! :)
Y luego de varias pruebas, ya no son necesarias las vericaciones, en general siempre funciona como se espera!
dónde esta la magia? #
La magia esta en .gitlab-ci.yml del repo
osiux-links, este repo además de almacenar el listado de
links en el archivo links.txt, contiene un
Makefile 5 con reglas que permiten instalar todas las
depdencias necesarias para procesar links.txt y convertirlo
a links.org para luego generar links.html
El contenido de .gitlab-ci.yml es el siguiente:
1image: iquiw/alpine-emacs
2
3before_script:
4 - apk update && apk add bash gawk moreutils make curl
5 - awk --version
6 - emacs --version
7
8pages:
9 script:
10 - make requirements
11 - make links
12 - make org2html
13 - make public2tgz
14 artifacts:
15 paths:
16 - public
17 only:
18 - develop
19
20update_blog:
21 trigger:
22 project: osiux/osiux.gitlab.io
23 branch: master
Ahora el archivo links.org se genera dinámicamente en
GitLab, ya lo eliminé del repo blog y puedo actualizar
y compartir links desde el teléfono espía y despreocuparme de la
publicación automatizada!
Te sugiero leer #
ChangeLog #
2023-02-14 20:45agregar howto launch gitlab ci from other gitlab ci repo using trigger