Many people handle this with a launch script. Basically make a .qgtunnel.staging and a .qgtunnel.production file.
Then in the launch script do something like this:
if [ "$ENVIRONMENT" == "staging" ]; then
cp .qgtunnel.staging .qgtunnel
cp .qgtunnel.production .qgtunnel
Then save that as something like bin/qglaunch. Then change your startup code to call bin/qglaunch with all your program arguments instead of bin/qgtunnel.
Others have saved the full .qgtunnel file into an environment variable and in the launch script they create the .qgtunnel file from the environment variable.
If you are using transparent mode, be sure that vendor/nss_wrapper/libnss_wrapper.so is also added to your repository.