Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deployment on other CI systems #988

Closed
2 tasks
mortenpi opened this issue Mar 24, 2019 · 8 comments
Closed
2 tasks

Deployment on other CI systems #988

mortenpi opened this issue Mar 24, 2019 · 8 comments

Comments

@mortenpi
Copy link
Member

Currently we officially only support deploying GitHub repositories on Travis CI to GitHub pages. deploydocs also relies on Travis-specific environment variables mostly. We should probably support more Git hosting and CI systems (documentation + generalized API where necessary). The following come to mind:

  • GitLab: has its own CI and Pages
  • BitBucket: has its own CI (Pipelines) and Pages

In the meantime, there are a few examples of how to work around current limitations:

@tkf
Copy link
Contributor

tkf commented Mar 30, 2019

FYI I added GitLabPages plugin to use Documenter.jl in GitLab repository created by PkgTemplates.jl: JuliaCI/PkgTemplates.jl#54

However, it only publishes dev document. It would be nice if Documenter.jl supports versioned documentation on GitLab pages.

@mortenpi
Copy link
Member Author

How does GitLab handle tags? Can you run CI on tags?

@tkf
Copy link
Contributor

tkf commented Mar 30, 2019

Yes. It looks like you can detect it with CI_COMMIT_TAG https://docs.gitlab.com/ee/ci/variables/README.html#predefined-environment-variables

I think a harder (?) issue is that GitLab pages is not a git branch as in GitHub. You create a directory public in your repository and the whole content is reflected to the GitLab pages (IIUC). It's actually convenient for publishing a single document (see how it's done in PkgTemplates: https://github.com/invenia/PkgTemplates.jl/blob/901a0a3d7139588819bad19acfc891a63bda7637/defaults/gitlab-ci.yml#L20) However, I think it's a bit more challenging to update a part of it (e.g., public/v1.2) since you need to store the whole content somewhere and retrieve it in the CI job. I guess you can create (say) gl-pages branch like gh-pages in GitHub and check it out at public. But I'm not familiar enough with the whole GitLab interface to know if there is a better way to do it.

@marekdedic
Copy link

I was just about to create a new issue suggesting adding support for Circle CI....

I think some of the environment variable checks could be done in the CI configuration - e. g. checking for pull requests isn't necessary if you only run the deploy job on the master branch...

@christopher-dG
Copy link
Contributor

To add to this: GitHub Actions will be generally available soon and it would be nice be able to deploy to GitHub Pages from there.

@davidanthoff
Copy link
Contributor

Just to second GitHub Actions! We have a nice set of actions in the works right now (https://github.com/julia-actions), and adding one for doc build and deploy would be great.

@sebastiangrimberg
Copy link

sebastiangrimberg commented Sep 9, 2022

However, it only publishes dev document. It would be nice if Documenter.jl supports versioned documentation on GitLab pages.

Coming across this looking for a solution for versioned Documenter.jl output on Gitlab Pages. Does anyone have any update or idea if this is possible yet?

@mortenpi
Copy link
Member Author

This issue is a little dated, so I'll go ahead an close it. We do now have some built-in support for other CI systems: https://juliadocs.github.io/Documenter.jl/stable/man/hosting/#Deployment-systems

I don't think the GitLab one supports pushing to GitLab Pages though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants