Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I save google cloud build step text output to file

I'm trying to use google cloud build. At one step, I need to get a list of all running compute instances.

- name: gcr.io/cloud-builders/gcloud
  args: ['compute', 'instances', 'list']

and it works fine. Problem starts when I tried to save the output to a file


Trial 1: failed

- name: gcr.io/cloud-builders/gcloud
  args: ['compute', 'instances', 'list', '> gce-list.txt']

Trial 2: failed

- name: gcr.io/cloud-builders/gcloud
  args: ['compute', 'instances', 'list', '>', 'gce-list.txt']

Trial 3: failed

- name: gcr.io/cloud-builders/gcloud
  args: >
      compute instances list > gce-list.txt

Trial 4: failed

- name: gcr.io/cloud-builders/gcloud
  args: |
      compute instances list > gce-list.txt

UPDATE: 2018-09-04 17:50

Trial 5: failed

  1. Build an gcloud image based on ubuntu
  2. Used that image to run custom script file 'list-gce.sh'
  3. list-gce.sh calls gcloud compute instances list

For more details you can check this gist: https://gist.github.com/mahmoud-samy/e67f141e8b5d553de68a58a30a432ed2

Unfortunately I got this strange error:

rev 1

ERROR: (gcloud) unrecognized arguments: list (did you mean 'list'?)

rev 2

ERROR: (gcloud) unrecognized arguments: --version (did you mean '--version'?)

Any suggestions, or references?

like image 615
Mahmoud Samy Avatar asked Sep 03 '18 15:09

Mahmoud Samy


1 Answers

In addition to other answers, to do cmd > foo.txt, you need to override the build entrypoint to bash (or sh):

- name: gcr.io/cloud-builders/gcloud
  entrypoint: /bin/bash
  args: ['-c', 'gcloud compute instances list > gce-list.txt']
like image 184
ahmet alp balkan Avatar answered Sep 22 '22 14:09

ahmet alp balkan