Allow network-sourced variables to specify that they should be files

What does this MR do?

Adds an optional boolean attribute - file - to the GetBuildResponse variables. This causes the value of the variable to be written to a temporary file, and path to the file to be set as the value of the variable.

Why was this MR needed? wishes to introduce a KUBE_CA_PEM variable that should be a file on disc, rather than a newline-packed environment variable. ca.pem files from elsewhere are also written to disc in the same manner, but these variables are sourced from within the runner itself.

Are there points in the code the reviewer needs to double check?

Does this MR meet the acceptance criteria?

  • Documentation created/updated (should be added to gitlab-ce instead)
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

Merge request reports