Include cloud-platform scope as a supported scope The cloud-platform scope grants access to r/w data for all GCP services, so it should work. Change-Id: I9757bb77aa375d8a59add1bd6c52160fcbb14651
The git-cookie-authdaemon uses the GCE metadata server to acquire an OAuth2 access token and configures git to always present this OAuth2 token when connecting to googlesource.com or Google Cloud Source Repositories.
Launch the GCE VMs with the gerritcodereview scope requested, for example:
gcloud compute instances create \ --scopes https://www.googleapis.com/auth/gerritcodereview \ ...
To add a scope to an existing GCE instance see this gcloud beta feature.
Install the daemon within the VM image and start it running:
sudo apt-get install git git clone https://gerrit.googlesource.com/gcompute-tools/ ./gcompute-tools/git-cookie-authdaemon
The daemon launches itself into the background and continues to keep the OAuth2 access token fresh.
git-cookie-authdaemon in the same environment under the same user git commands will be run, for example in either Command Prompt or Cygwin bash shell under user builder.python git-cookie-authdaemon --nofork
It may be desired in automation to launch git-cookie-authdaemon at Windows boot. It can be done as a scheduled task. The following is an example on a Jenkins node. The setup is:
builder account.How to create a scheduled task.
Task Scheduler from an Administrator account.Create Task in the right pane.General tab:builder in this example.Run whether user is logged on or notTrigger tab. Add a triggerBegin the task as At startup.Stop task if it runs longer than.Enabled.Actions tab. Add Start a program.Program/script as C:\cygwin64\bin\bash.ext,Add arguments as --login -c /home/builder/git-cookie-authdaemon_wrapper.sh (see note below)Ok to save it.Enable All Tasks History in Task Scheduler's right pane.builder account to Administrative Tools -> Local Security Policy -> Local Policies -> User Rights Assignment -> Log On As Batch JobNote: /home/builder/git-cookie-authdaemon_wrapper.sh` below does
#!/bin/bash
exe=gcompute-tools/git-cookie-authdaemon
log=/cygdrive/c/build/git-cookie-autodaemon.log
# HOMEPATH is not set in task scheduled at machine boot.
export HOMEPATH=${HOMEPATH:-'\Users\builder'}
/cygdrive/c/Python27/python $exe --nofork >> $log 2>&1 # option --debug is also available.