He tenido que actualizar el cv y mi última versión era uno que tenía en formato ai(adobe ilustrator), el problema era cambiar todo el diseño por simplemente agregar o quitar líneas y por el hecho que cada vez uso menos Windows, por lo que he optado por hacer el cv en LaTex y experimentar un poco con ello. De esta forma, se podría mantener actualizado y simplemente “compilarlo” y generar un nuevo cv. Por otro lado y para no tener que estar subiéndolo a mi página web(en mi caso la tengo alojada en un bucket S3 de AWS) de forma manual, he automatizado la “subida” directa después de la generación del archivo pdf.
Para introducirme en LaTex un buen recurso que he encontrado fue esta WEB, para editarlo de forma online al principio sin tener que instalar nada use Overleaf, para alguien que no tiene mucha idea y es novato es bastante intuitivo y ademas te permite realizar cambios en tiempo real y compilarlos y ver el resultado.
Otros links interesantes para ir metiendose en el tema:
Antes de empezar con la instalación deberíamos saber ya que es LaTex y algunas diferencias entre LaTeX, pdfTeX, XeTeX, LuaTeX and ConTeXt, en OverLeaf lo explican bastante bien.
Para la instalacion basica de LaTex:
sudo apt-get install texlive-latex-base
Recomiendan tambien instalar fuentes extras y paquetes extras:
sudo apt-get install texlive-fonts-recommended
sudo apt-get install texlive-fonts-extra
sudo apt-get install texlive-latex-extra
Hay una lista bastante buena dentro de OverLeaf donde se puede ver en tiempo real y hacer algunas pruebas. Uno de los que mas me ha gustado es el de FoutySeconds.
En su repositorio de GitHub nos advierten:
You need to compile your document with XeLaTeX or LuaLaTeX in order to have
the latest Font Awesome icons (fontawesome5
) and Academicons. If you still
want to compile with pdfLaTeX for whatever reason, FortySecondsCV will fall
back to the older icon package ( Academicons won’t be
available.fontawesome
), where some icons look
different and some others are not even included
Por lo que seria recomendable instalar XeLatex
sudo apt-get install texlive-xetex
Hacemos un fork, lo clonamos o descgarmaos y generamos un repositorio propio de git.
git init
git add .
git commit -m "Initial commit"
Creamos un archivo ..gitlab-ci.yml
stages:
- createPDF
- deploy
createPDF:
stage: createPDF
image: registry.gitlab.com/islandoftex/images/texlive:latest
script:
- xelatex cv.tex
artifacts:
paths:
- cv.pdf
Hemos creado dos stages, uno para generar el archivo y el de deploy que utilizaremos para “subir” y actualizar el archivo de cv de la web(en mi caso esta en bucket de AWS)
En mi caso, he decidido utilizar la imagen de islandoftex. This repository provides dockerfiles for TeX Live repositories (full installation with all packages but without documentation). It also provides the necessary tooling to execute common helper tools (e.g. Java for Arara, Perl for Biber and Xindy, Python for Pygments). Please note that we only provide selected historical releases and one image corresponding to the latest release of TeX Live (tagged latest).
La otra opcion seria crear y configurar un una imagen de docker propia para utilizar y compliar los archivos:
Ya tenemos el archivo creado y el template modificado. Procedemos a la “subida”
git add .
git commit -m "Added .gitlab-ci.yml file"
Creamos un proyecto en Gitlab y asociamos el repositorio que tenemos local.
git remote add origin https://gitlab.com/username/projectname.git
Por último hacemos pushç
git push -u origin master
Deberia el CI/CD dashboard mostrarnos que se ha generado correctamente.
Podriamos descargarnos el archivo generado desde Job artifacts
En el archivo .gitlab-ci.yml agregamos las lineas de deploy
deploy:
stage: deploy
image: cgbaker/alpine-hugo-aws:latest
only:
- master
script:
- aws s3 sync . s3://$S3_BUCKET_NAME/ --exclude='*' --include='cv.pdf'
Para que funcione debemos acordarnos de declarar las variables en los ajustes de CD/CI del proyecto.
Para refrescar un poco dejo unos links: La otra opcion seria crear y configurar un una imagen de docker propia para utilizar y compliar los archivos:
Una vez terminamos volvemos a probar y el CI/CD dashboard mostrarnos:
Un ejemplo del job seria: