GoogleCloudPlatform / ruby-docker

Ruby runtime for Google Cloud Platform
Apache License 2.0
134 stars 56 forks source link

exec-wrapper can't write files into /workspace folder in Cloud Build #205

Open jkevingutierrez opened 3 years ago

jkevingutierrez commented 3 years ago

Trying to run a Cloud Build file like the next:

steps:
  - name: 'gcr.io/google-appengine/exec-wrapper'
    id: TEST
    args:
      [
        '-i',
        'gcr.io/$PROJECT_ID/${_BUILD_TARGET}',
        '-s',
        '${_CLOUD_SQL_DEV}',
        '-e',
        'DJANGO_SETTINGS_MODULE=${_DJANGO_SETTINGS}',
        '-e',
        'CLOUD_SQL=/cloudsql/${_CLOUD_SQL_DEV}',
        '--',
        'bash',
        '-c',
        'touch /workspace/test.txt',
      ]

Is throwing an error, as it can't write in the /workspace folder:

touch: cannot touch '/workspace/test.txt': Permission denied

It would be great if the workspace directory and/or any other volume defined in the step were mapped directly, but it could also be a good option to accept volumes as parameters with the -v option. Something like

  - name: 'gcr.io/google-appengine/exec-wrapper'
    id: TEST
    args:
      [
        '-i',
        'gcr.io/$PROJECT_ID/${_BUILD_TARGET}',
        '-s',
        '${_CLOUD_SQL_DEV}',
        '-e',
        'DJANGO_SETTINGS_MODULE=${_DJANGO_SETTINGS}',
        '-e',
        'CLOUD_SQL=/cloudsql/${_CLOUD_SQL_DEV}',
        '-v',
        '/workspace:/workspace',
        '--',
        'bash',
        '-c',
        'touch /workspace/test.txt',
      ]