gitlabgitlab-ci

Why is gitlab ci not publishing my gitlab pages?


I had an existing pipeline which would build, test then deploy my application and clean my infrastructure, but then recently I've decided to add Doxygen to my project to generate the documentation for me. I added a step to the existing pipeline to generate the HTML, then publish the output to my gitlab pages. But after a few pipelines launched, I've waited after gitlab pages, and my output never got published. So my question is Why is my public directory never published to gitlab pages?

I currently have the following setup for gitlab CI configuration

enter image description here

My configuration for doxygen looks like this

deploy_documentation:
  image: registry.gitlab.com/digitsam/automations/dotnetcore2.2/dotnetsdk2.2:lts
  stage: deploy
  script:
    - mkdir .public
    - doxygen Doxygen/doxygen.config
    - cp -r Doxygen/Output/html/* .public
    - mv .public public
  artifacts:
    paths:
      - public
  only:
    - master

I'm not sure to understand why it's not working, because when I check into the artifact, I can find all the files generated by Doxygen.


Solution

  • The job needs to be named pages.

    Per the documentation

    pages
    pages is a special job that is used to upload static content to GitLab that can be used to serve your website. It has a special syntax, so the two requirements below must be met:

    • Any static content must be placed under a public/ directory.
    • artifacts with a path to the public/ directory must be defined.