-- Leo's gemini proxy
-- Connecting to gmi.osiux.com:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini;lang=es_AR
AUTHOR: Osiris Alejandro Gomez
EMAIL: osiux@osiux.com
DATE: 2023-02-14 20:07
[1]
Hace tiempo que decidí compartir mis *links* ^1[2] *favoritos* y para esto la secuencia era la siguiente:
En el teléfono espía:
1. Registrar y categorizar *link* en `simpletask` ^2[3]
2. Realizar un *commit* y ejecutar `git push` luego de varios *links*
En la *notebook*:
1. Obtener los últimos cambios del *repo* `links` ^3[4]
2. Realizar un *merge* si había cambios locales
3. Realizar un *commit* y ejecutar `git push` con `links.txt` actualizado
4. Ejecutar `links2org` para obtener `links.gmi` actualizado
5. Revisar `links.gmi` y hacer *commit* en el *repo* `blog` ^4[5]
6. Enviar cambios del *repo* `blog` a *GitLab*
7. Verificar que la *CI* publique el sitio en https://osiux.gitlab.io/[6]
8. Verificar que https://osiux.com/[7] obtenga los cambios de *GitLab*
Y esta secuencia tenía varios inconvenientes:
depender de la *notebook* para publicar
realizar *commits* en 2 *repos* diferentes (`links` y `blog`)
circuito de pasos manuales con muchos tiempos muertos
muy baja frecuencia de publicación
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:
1. Registrar y categorizar *link* en `simpletask`
2. Realizar un *commit* y ejecutar `git push` luego de varios *links*
En la notebook:
1. No tengo que hacer nada de nada!
En GitLab:
1. Se obtienen los últimos cambios y se dispara la *CI*
2. Verificar que la *CI* publique el sitio en https://osiux.gitlab.io/osiux-links/[8]
3. 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!
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[9] con reglas que permiten instalar todas las depdencias necesarias para procesar `links.txt` y convertirlo a `links.gmi` para luego generar `links.html`
El contenido de `.gitlab-ci.yml` es el siguiente:
image: iquiw/alpine-emacs before_script: - apk update && apk add bash gawk moreutils make curl - awk --version - emacs --version pages: script: - make requirements - make links - make org2html - make public2tgz artifacts: paths: - public only: - develop update_blog: trigger: project: osiux/osiux.gitlab.io branch: master
Ahora el archivo `links.gmi` 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!
`lists.sh` es para amantes de las listas[10]
`todo.txt` es una lista de tareas[11]
bookmarks vs links.txt[12]
`2023-02-14 20:45`[13] agregar *howto launch gitlab ci from other gitlab ci repo using trigger*
-- Response ended
-- Page fetched on Fri May 17 04:57:27 2024