Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cloudogu/reveal.js-docker-example

Advanced example for using web-based slides/presentations via cloudogu/reveal.js-docker
https://github.com/cloudogu/reveal.js-docker-example

docs-as-code jenkins jenkins-pipeline jenkinsfile kubernetes markdown maven-site nexus reveal-js smeagol

Last synced: 8 days ago
JSON representation

Advanced example for using web-based slides/presentations via cloudogu/reveal.js-docker

Awesome Lists containing this project

README

        

![](https://cloudogu.com/assets/blog/2019/revealJS-711db5dd3e495fe26dda7ad44104542b1fceb456c11700a773a2f158bf2c8251.png)

# reveal.js-docker-example
[![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github%2Freveal.js-docker-example%2Fmain)](https://oss.cloudogu.com/jenkins/blue/organizations/jenkins/cloudogu-github%2Freveal.js-docker-example/branches/) [![](https://img.shields.io/docker/image-size/cloudogu/reveal.js-example)](https://hub.docker.com/r/cloudogu/reveal.js-example)

Advanced example of [cloudogu/reveal.js-docker](https://github.com/cloudogu/reveal.js-docker),
providing easy to use, opinionated reveal.js web apps - web-based slides/presentations.

Evolution of [cloudogu/continuous-delivery-slides](https://github.com/cloudogu/continuous-delivery-slides).

Provides

* [example slides](docs/slides) in markdown, showcasing the features (see [rendered version](https://cloudogu.github.io/reveal.js-docker-example)),
* scripts [linux](startPresentation.sh) / [windows](startPresentation.ps1) to start slide Development mode (changes on
the slides lead to automatic reloads in the browser):
* Start with
* Linux: `./startPresentation.sh`
* Windows: Right Click on `startPresentation.ps1` then `Run with PowerShell`.
* Presentation is served at http://localhost:8000
* This fails if either one of the port `8000` or `35729` is already blocked.
* You can stop the presentation container by finding the `CONTAINER_ID` using `docker ps`,
then `docker rm -f -add` and
* `nx-repository-view-raw--edit`
* Where `RepoName` is defined in `pom.xml`'s `url` and `distributionManagement.site.url`s (after `/repository/`)
* In this example: `nx-repository-view-raw-Cloudogu-Docs-add`
* We need a `raw` Repo called `Cloudogu-Docs` in Nexus.
* the Kubernetes cluster identified by the `kubeconfig` and the Docker registry defined in [`Jenkinsfile`](Jenkinsfile)
* Docker Registry: Requires username and password credentials `hub.docker.com-cesmarvin` defined in Jenkins.
In this example the image `cloudogu/continuous-delivery-slides` is deployed to Docker Hub.
* Kubernetes: Requires `kubeconfig` file defined as Jenkins file credential `kubeconfig-oss-deployer`.
An example for creating the kubeconfig (using `create-kubeconfig` from [zlabjp/kubernetes-scripts](https://github.com/zlabjp/kubernetes-scripts/blob/master/create-kubeconfig)):
```bash
kubectl create namespace jenkins-ns
kubectl create serviceaccount jenkins-sa --namespace=jenkins-ns
kubectl create rolebinding jenkins-ns-admin --clusterrole=admin --namespace=jenkins-ns --serviceaccount=jenkins-ns:jenkins-sa
./create-kubeconfig jenkins-sa --namespace=jenkins-ns > kubeconfig
```
* Needs Docker available on the jenkins worker
* On failure, sends emails to git commiter.