Praqma / docker-gijeli

Repository for the praqma/gijeli container
MIT License
0 stars 0 forks source link

GiJeLi

This documentation is addressing the usage of GiJeLi V19 or higher. For documentation of prior GiJeLi versions please click here..

Repositories

  1. Gijeli Docker Repo.
  2. Gijeli GitHub Repo. (Docker Image Context Files)

Docker Image

Contents of this repo. are used as context for building docker image of Praqma's gijeli. Each change committed to this repo. triggers an automated build in jenkins from where every successful build of GiJeLi image is pushed to Praqma's docker-hub repo. issuing a unique version nember.

jenkins page for this job can be visited here...

Introduction to gijeli+

GiJeLi is a subtraction of the words Git, Jekyll and Liquid which is the technology stack behind the GitHub Pages technology. At Praqma: The entire technology stack is wrapped up in a single Docker image - Including dynamic link validation. The docker images is used on clients during development and on Jenkins slaves as part of the continuous delivery pipeline in combination with the Josra Automated Git flow and the Git pretested integration plugin.

gijeli entertains Power User and regular User

Pre-reqs.

Linux - Have Docker up'n'running

Mac. & Windows - Have Boot2Docker up'n'running

Note:- make sure your source directory allows read and write permission to the running program, it is required for writing validation report into your source directory

Pull docker image

Run the given command to pull the latest image of gijeli+:

$ docker pull praqma/gijeli:[vNo.]

Usage:

1. Power User

linux / Mac:
$ docker run -v $(pwd):/data -p <port>:4000 praqma/gijeli:[vNo.] <jekyll/linkchecker command>

Windows:
$ docker run -v /$(pwd):\\data -p <port>:4000 praqma/gijeli:[vNo.] <jekyll/linkchecker command>

Examples:

Being a power user you can exploit all features of tools bunddled in gijeli, jekyll and linkchecker

linux / Mac:
$ docker run -v $(pwd):/data -p <port>:4000 praqma/gijeli:[vNo.] jekyll serve --watch --force_polling -H 0.0.0.0
→ access web pages at http://localhost:<port>

Windows:
$ docker run -v /$(pwd):\\data -p <port>:4000 praqma/gijeli:[vNo.] jekyll serve --watch --force_polling -H 0.0.0.0
→ access web pages at http://<boot2docker IP>:<port>

running linkchecker rquires write permission to mounted directory which is Present Working Directoy in this example

linux / Mac:
$  docker run -v $(pwd):/data praqma/gijeli:[vNo.] linkchecker --check-css --check-html --complete --anchors --quiet -F=html/<directory-name>/<file-name>.html <URL>

windows:
$ docker run -v /$(pwd):\\data praqma/gijeli:[vNo.] linkchecker --check-css --check-html --complete --anchors --quiet -F=html/<directory-name>/<file-name>.html <URL>

→ report will be saved in <directory-name> under <file-name> in Present Working Directory

2. User

linux / Mac:
$ docker run -v $(pwd):/data -p <port>:4000 praqma/gijeli:[vNo.] <option>

Windows:
$ docker run -v /$(pwd):\\data -p <port>:4000 praqma/gijeli:[vNo.] <option>

Options

  1. build (build jekyll pages project in mounted directory)
  2. serve (renders jekyll web site located in mounted directory)
  3. check (runs linkchecker on provided URL-for pages rendered outside of container)
  4. serve check (serves jekyll pages and runs linkchecker on served pages within the same container)

Examples:

Build

change your terminal’s present working directory to the source directory you want to build your jekyll project in, and run the following command:

linux / Mac:
$ docker run -v $(pwd):/data praqma/gijeli:[vNo.] build

windows:
$ docker run -v /$(pwd):\\data praqma/gijeli:[vNo.] build

Serve

change your terminal's working present directory to the directory containing your jekyll web project and run the following command:

linux / Mac:
$ docker run -v $(pwd):/data -p <port>:4000 praqma/gijeli:[vNo.] serve
→ access your  web at pages http://localhost:<port>

windows:
$ docker run -v /$(pwd):\\data -p <port>:4000 praqma/gijeli:[vNo.] serve
→ access your  web pages at http://<boot2docker IP>:<port>

Check (Write permission required)

Use this option if your web project is NOT rendered into a container

change your terminal's present working directory to the directory you want to keep your linkchecker report and run the following command:

linux / Mac:
$  docker run -v $(pwd):/data praqma/gijeli:[vNo.] check <URL: for example. http://www.code-conf.com>

windows:
$ docker run -v /$(pwd):\\data praqma/gijeli:[vNo.] check <URL: for example http://www.code-conf.com>

→ report will be saved in folder <report> under name <site_reprot.html>, in your mounted directory

Serve Check (write permission required)

Use this option to serve and check your web project into the same container

change your terminal's present working directory to the directory containing your jekyll web project and run the following command:

linux / Mac:
$ docker run -v $(pwd):/data -p <port>:4000 praqma/gijeli:[vNo.] serve check
→ access your  web pages at http://localhost:<port>

windows:
$ docker run -v /$(pwd):\\data -p <port>:4000 praqma/gijeli:[vNo.] serve check
→ access your  web pages at http://<boot2docker IP>:<port>

→ linkchecker report will be saved in folder <report> under name <site_reprot.html>, in your mounted directory

Handy Hacks:

Are you a “one container for one process” kind of guy ?

You can benefit out of docker “--link” option to serve and check your website in separate containers, using gijeli image

A dev. geek?... want to juggle all of the “jekyll” and “linkchecker” within gijeli image?

explore docker “--entrypoint=/bin/bash” and sneak into the image

Support

You are invited to seek support or place a request for new features by e-mailing our support team at [support@praqma.net]()

Note: Please, do mention Praqma/gijeli in your subject while mailing to our support team