Using docToolchain with GitLab CICD pipeline:
I want to use the doctoolchain (http://doctoolchain.org/docToolchain/v2.0.x/index.html) in my GitLab Projekt in a ci pipeline. I found this example project (https://github.com/docToolchain/ci-cd-demo) and copied the .gitlab-ci.yml file in my project.
This is my .gitlab-ci.yml file:
image: doctoolchain/doctoolchain:v2.2.1
pages:
stage: build
script:
- export DTC_HEADLESS=true
- ./dtcw.bat generateSite #I changed here the command from ./dtcw to ./dtcw.bat
- mkdir public
- cp -r build/microsite/output/. public/.
artifacts:
paths:
- public/
But when I am running the pipeline the pipeline failes and the following error is shown:
$ ./dtcw generateSite
/bin/bash: line 135: ./dtcw.bat: Permission denied
I installed the doctoolchain first in my local project and then pushed to my gitlab project. The project has the following files: dtcw.ps1, dtcw.bat, docToolchainconfig.groovy. The example project has also a file dtcw which i do not have in my project. Thats why i changed the .gitlab-ci.yml file to ./dtcw.bat, I also tried ./dtcw.ps1. But in both cases the error messages: Permission denied is shown. Do I need to add the file dtcw? What file is this?
Thank you for your help
dtcw is the doctoolchain wrapper script. It is responsible for retrieving and correctly executing the doctoolchain binaries for your build. You will need to use the correct one which corresponds to the image you're using (i.e. doctoolchain/doctoolchain:v2.2.1
which is based on Alpine Linux, therefore you will need to use the plain dtcw
file - the dtcw.bat
file would be used on windows).
To execute it you can either
chmod +x dtcw
in your job's script section/bin/sh dtcw