Search code examples
bamboodoctoolchain

Running doctoolchain in Bamboo


I try to configure the new doctoolchain wrapper to run within Bamboo. What I've done so far

  1. Create a new project locally and downloading the wrapper dtcw and dtcw.bat (version 2.0.3)
  2. Generate an empty arc42 template ./dtcw downloadTemplate
  3. Create a new build configration in Bamboo using the following configuration
export http_proxy=http://${bamboo.proxy_host}:${bamboo.proxy_port}
export https_proxy=http://${bamboo.proxy_host}:${bamboo.proxy_port}
export no_proxy=localhost,127.0.0.1

echo "Set executable flag for dtcw"
chmod +x dtcw

echo "Generate HTML documentation"
./dtcw --debug generateHTML

But unfortunately I receive the following error:

FAILURE: Build failed with an exception.

  • What went wrong: Gradle could not start your build.

Could not create service of type CrossBuildFileHashCache using BuildSessionServices.createCrossBuildFileHashCache(). Failed to create parent directory '/project/.gradle' when creating directory '/project/.gradle/6.7.1/fileHashes'

The docker image rdmueller/doctoolchain is downloaded successfully and the gradle deamon seems to be started as well

Successfully started process 'Gradle build daemon'

My question is now what triggers the error? Is a bug in doctoolchain or is it a wrong configuration? Btw, locally this configuration is running fine but I don't need to use a proxy like it is required within bamboo.


Solution

  • The actual problem was that files or directories created outside the container are not accessible inside the container. Therefore, the solution was to max permissions to the working directory.

    echo "Set executable flag for dtcw"
    chmod +x dtcw
    chmod -R o+rwx ${bamboo.working.directory}
    
    echo "Generate HTML documentation"
    ./dtcw --debug generateHTML
    

    This allows the user inside the container to access files outside the container.