Tasks fail with "path is not defined" when running in isolated Docker environment in Bamboo Data Center

XMLWordPrintable

    • 1
    • Severity 3 - Minor

      Issue Summary

      Jobs running in an isolated Docker container that required specialised capabilities such as:

      • Ant (native)
      • Node (bundled plugin)
      • Npm (bundled plugin)
      • Nodeunit (bundled plugin)
      • Bower (bundled plugin)
      • Grunt (bundled plugin)
      • Gulp (bundled plugin)
      • Mocha (bundled plugin)
      • Fastlane (bundled plugin)

      The issue occurs because Bamboo removes the requirements from the Job when it is set to run in an "Isolated build" environment, but it still tries to validate if the requirement exists internally before running each Task that depends on automatic capability/requirement management.

      Agents don't need to have the capabilities set locally if they are running a build within a docker image.

      This is reproducible on Data Center:

      Steps to Reproduce

      1. Create a Plan/Stage/Job
      2. Add a Node or Npm task (for example)
      3. Make sure the Job's Isolated build (Docker tab) set as "Docker container" - add a docker image as required
      4. Run the build

      Expected Results

      It should try to use the capabilities inside the container before failing.

      Actual Results

      The build fails with an error such as:

      Node.Js path is not defined

      Workaround

      For each task within the Job, map the requirements and add them to the Job's requirement tab pointing to each capability's path inside the Docker container.

            Assignee:
            Unassigned
            Reporter:
            Eduardo Alvarenga (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: