새소식

반응형
GCP/운영관련 개발

[Cloud Build] GCS <-> github 동기화 실패 (failed: step exited with non-zero status: 1)

  • -
반응형

안녕하세요. 

데이터 엔지니어 주형권입니다.

 

지난번에 작성 한 Cloud Build를 이용한 Github와 GCS의 동기화 작업을 소개한 적이 있는데요. ( 링크 )

오늘 다시 한번 세팅해야 하는 일이 생겨서 세팅 하는 중에 오류를 발견하여 이를 어떻게 해결했는지 소개하고자 합니다.

 


 

오류 내용

"ERROR: build step 1 "gcr.io/cloud-builders/gsutil" failed: step exited with non-zero status: 1"

오류는 위와 같이 발생 하였습니다. 이게 무슨 내용인지 전혀 알 수가 없고, 무슨 말인지 알 수가 없어서 구글에 검색해도 해결 방법이 나오진 않았습니다. 더욱 자세한 내용을 스크린숏으로 보면 다음과 같습니다.

 

자세한 오류내용

 

yaml 파일이 잘못 된것이라고 생각되어서 여러 가지 방면에서 찾아보았으나 전혀 나오지 않았습니다. 지난번 세팅했을 때와 Composer 버전과 Airflow의 버전이 변경되어서 그 부분을 의심했으나 역시 아녔습니다. 결론은 굉장히 단순하였습니다.

 


해결 방법

steps:
- name: ubuntu
  args: ['bash', '-c', "echo '$COMMIT_SHA' > REVISION.txt"]
- name: gcr.io/cloud-builders/gsutil
  args:
    - '-m'
    - 'rsync'
    - '-d'
    - '-r'
    - 'dags'
    - 'gs://${_GCS_BUCKET}/dags'
options:
  logging: CLOUD_LOGGING_ONLY

yaml 파일에 보면 dags 폴더를 동기화하도록 해놨습니다.

 

하지만... 처음에 github에서 Repo를 생성하면 dags가 없습니다. 이 부분 때문에 오류가 발생하는 것이었습니다. dags 폴더를 git repo에 생성해주면 문제없이 바로 동기화가 됩니다.  dags 이외에 plugins 폴더도 함께 동기화를 해준다면 마찬가지로 생성해 주셔야 합니다. 이후에 동기화를 진행하면 별다른 문제 없이 동기화가 성공하는 것을 볼 수 있습니다. 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.