Para desarrollar la web o escribir artículos en el blog utilizaremos docker.
- Clona el repositorio
> git clone git@github.com:cursodegit/jekyll-website.git- Construye la imagen.
- Si estás usando Docker for Mac, ejecuta
> docker-compose build - Si estás usando Linux o Docker for Windows con WSL2 (manera recomendada de hacerlo en windows 10):
- Averigua dentro de WSL o de tu distribución de Linux cuál es el ID de tu usuario:
# Para ubuntu puedes usar, por ejemplo: > id -u 1000
- Construye la imagen utilizando este ID de usuario para el usuario de jekyll dentro del controlador:
o
> docker-compose build --build-arg JEKYLL_UID=1000> bin/build-development.sh
- Averigua dentro de WSL o de tu distribución de Linux cuál es el ID de tu usuario:
- Si estás usando Docker for Mac, ejecuta
- Inicializa las gemas
> docker-compose run --rm jekyll bundle install- Levanta el servicio
> docker-compose up- Accede a la web apuntando tu navegador a
localhost:4000
Actualmente el sitio está desplegado en Cloud Run.
Instalar google-cloud-cli siguiendo las documentación de Google.
Una vez instalado, ejecutar gcloud init para autenticarte y seleccionar el proyecto de GCP. En este caso web-cursodegit-com.
Configurar gcloud como helper the atenticación para docker:
gcloud auth configure-docker europe-west1-docker.pkg.devNota: Es necesario seleccionar una región que tenga soporte para Domain Mappings. En este caso europe-west1.
Si estamos usando podman, copiar el siguiente fichero:
cp ~/.docker/config.json ~/.config/containers/Ejecutar el comando podman login para autenticarse en el repositorio de contenedores:
podman login europe-west1-docker.pkg.devAntes de hacer push de la imagen, asegurarse de que existe el repositorio jekyll-website en Arifact Registry. Sin no existe, crearlo con el siguiente comando:
gcloud artifacts repositories create jekyll-website --repository-format=docker --location=europeFinalmente, construir la imagen y hacer push a Artifact Registry usando los scripts en la carpeta bin:
./bin/build.sh
./bin/push.shy desplegar en Cloud Run:
./bin/deploy-latest.sh