# Deploying generated documents privately

**URL:** <https://discourse.julialang.org/t/deploying-generated-documents-privately/24038>\
**Category:** Tooling\
**Tags:** question\
**Created:** [May 9, 2019, 5:05pm UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038 "2019-05-09T17:05:52Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [May 9, 2019, 5:05pm UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/1 "2019-05-09T17:05:52Z")

</div>

I am working on a project using Julia which will _eventually_ be made public & open source. We are currently working using a private repo Gitlab, and are in the process of writing up docs — this helps coauthors and should be useful for future readers, too.

I am wondering how (& where) I could deploy docs generated with Documenter.jl once CI passes _with restricted/authenticated access_. Concrete workflow suggestions would be nice, but I would also find general suggestions and tools helpful and figure out the rest. It should be free, at least for academic use. My fallback is uploading from the Docker image to Dropbox via the latter’s command line integration.

---

<div class="post-metadata">

**Author:** ![AsafManela](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/asafmanela/32/4863_2.png) [@AsafManela](https://discourse.julialang.org/u/AsafManela)\
**Post date:** [May 10, 2019, 11:53pm UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/2 "2019-05-10T23:53:07Z")

</div>

Doesn’t Documenter.jl’s make.jl create static html? You could just deploy it on gitlab pages.

---

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [May 11, 2019, 1:22am UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/3 "2019-05-11T01:22:27Z")

</div>

I’ve been wondering about this too. One idea I have is to deploy the Markdown output to GitLab _Wiki_ which manages pages in Git. I guess setting up CI to push to the wiki is relatively easy (see [https://docs.gitlab.com/ee/ci/ssh\_keys/README.html](https://docs.gitlab.com/ee/ci/ssh_keys/README.html)). A trickier part is that Julia and Documenter.jl are not as CommonMark-compatible as GitLab. (Documenter.jl has been (and is) targeting `mkdocs` which interpret the input as the original Markdown and not CommonMark.) I haven’t tried this idea yet so I don’t know how troublesome it is, though.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [May 11, 2019, 6:01am UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/4 "2019-05-11T06:01:44Z")

</div>

AFAIK Gitlab pages are public even for private repos.

---

<div class="post-metadata">

**Author:** ![AsafManela](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/asafmanela/32/4863_2.png) [@AsafManela](https://discourse.julialang.org/u/AsafManela)\
**Post date:** [May 11, 2019, 3:13pm UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/5 "2019-05-11T15:13:48Z")

</div>

Good point. I like @tkf 's solution. Didn’t know gitlab’s wiki is just a git repo. Not sure how hard it is to setup the CI to deploy to it though.

A compromise could be to have the CI just run docs/make.jl and deploy markdown output to a branch like it does when set up for github pages (`gh-pages`). Then simply give your users a link to this branch in the repo (not the wiki), and rely on gitlab to render the md files.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [May 11, 2019, 4:09pm UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/6 "2019-05-11T16:09:18Z")

</div>

I set up a repo building Julia docs at our private gitlab server, hosting it on the servers gh-pages. It worked with some manual tweaking of some scripts etc. I’ll see if we can get the repo changed to public so that I can share a link, the mkdocs and yml files might be useful for you.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [May 12, 2019, 7:49am UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/7 "2019-05-12T07:49:15Z")

</div>

> [@baggepinnen](#):
>
> private gitlab server, hosting it on the servers gh-pages

A private Gitlab server is actually something I have been considering for a while, for multiple reasons. It would solve many problems (and create wonderful new ones 😉).

---

<div class="post-metadata">

**Author:** ![AsafManela](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/asafmanela/32/4863_2.png) [@AsafManela](https://discourse.julialang.org/u/AsafManela)\
**Post date:** [August 6, 2020, 5:52pm UTC](https://discourse.julialang.org/t/deploying-generated-documents-privately/24038/8 "2020-08-06T17:52:11Z")

</div>

Looks like gitlab now allows pages access control, so intergration with Documenter may work: [GitLab Pages access control | GitLab](https://docs.gitlab.com/ee/user/project/pages/pages_access_control.html)
