도움받은 사이트 : https://engschool.tistory.com/73
파일을 다운 받자
https://cloud.google.com/sdk/docs/install-sdk
mac 을 사용하기 때문에 멋찌게 터미널로 설치를 진행해보자!
일단 나는 루트 경로에 설치를 했기 때문에
cd ~ 경로로 이동
download 폴더에 알집 파일을 다운 받았기 때문에 경로를 루트 경로로 바꿔주자
mv [설치한 알집 폴더의 경로 ] .
. 은 현재 위치 이다. 이렇게 하면 현재 위치로 파일을 이동시켜준다
ls 로 파일들의 리스트를 확인하여 제대로 이동했는지 확인해보자
tar -xzf google-cloud-cli-479.0.0-darwin-arm.tar.gz
tar.gz 파일이기 때문에 tar -xzf 명령어로 알집을 해제해준다
옵션 정보는 아래와 같다.
-x : 압축 풀기 (extract)
-z : gzip 압축 사용 (tar.gz)
-j : bzip2 압축 사용 (tar.bz2)
-f : 파일 이름 지정
다음 쓸모없는 알집은 삭제해준다.
rm google-cloud-cli-479.0.0-darwin-arm.tar.gz
압축을 풀면 google-cloud-sdk가 생기는데 그 위치로 이동해준다.
cd google-cloud-sdk/
그다음 실행을 시켜준다
./install.sh
이제 다음 명령어를 수행해주자
도움이 필요한것에 y를 해주고 path지정도 그냥 기본으로 세팅해주었다 그리고 파이썬3를 설치해주었다.
그리고 /google-cloud-sdk/bin/ 으로 이동해서 gcloud 초기화 해주자.
./gcloud init
그러면 또 설정해야 할것이 등장하는데 로그인 을 진행하였다.
그리고 프로젝트를 설정하였다.
그다음 지역을 선택하였다.
다 세팅을 하고 나니 Created a default .boto configuration fil 라고 .boto 파일이 만들어 졌다.
config 파일인 것같다.
gcloud undefined 에러가 나왔다.
https://stackoverflow.com/questions/31037279/gcloud-command-not-found-while-installing-google-cloud-sdk 이곳을 참고하여 수정을 하였는데
다시 설치할때 /Users/USERNAME_COMPUTER/.bashrc 이렇게 해주고 source ~/.bashrc
해주었다. 처음에는 잘안됐는데
결국 vscode를 재실행 해주니 gcloud를 잘 찾았다.
재설치 안하고도 vscode를 재실행 했어도 되었을까 ?
테스트를 진행하기 위해 app.yaml 파일을 여러개 만들었다.
1차 테스트
app.yaml
runtime: nodejs22
기본 runtime 만 설정해두었다.
빌드를 진행한후에 간단하게 그냥 데이터 업로드만 진행이 되었다.
결과는 성공
2차 테스트
runtime: nodejs20
service: test1
서비스 이름을 만들어 보았다.
이번 에도 빌드를 진행한 후에 간단하게 업로드가 진행되었다.
서비스 이름으로 생성된것이 보이는가 ?
default 에 버전이 2개인것은 2번 배포했기 때문이다. 설정 방법에 따라 a/b 테스트도 가능 한것 같다.
env환경으로 flexible 을 둘수 가있다.
env: flex 만 추가하고 빌드를 진행했는데
에러 메시지 : nodejs22 and earlier versions will reach end of support on 2024-07-10 for App Engine flexible environment. After 2024-07-10, you cannot deploy new or re-deploy existing applications that use runtimes
flexible 엔진에서 nodejs 22와 이전의 버전들이 지원이 안된다는 말이었다.
처음에 nodejs20도 진행해봤는데 같은 에러가 떠서 22로 변경한건데. 이것도 지원이 안된다 ??
조금 검색을 해보니
flexible일 경우 아래와 같이 runtime_config로 설정을 해야 했다.
app3.yml
runtime: nodejs
service: test2
env: flex
runtime_config:
operating_system: "ubuntu22"
runtime_version: "22"
이렇게 세팅을 했더니 갑자기 빌드 팩을 이용해서 빌드를 시작하기 시작했다.
빌드와 푸시를 다 끝냈는데
에러가 나왔다.
ERROR: (gcloud.app.deploy) Error Response: [7] The App Engine appspot and App Engine flexible environment service accounts must have permissions on the image
에러에 대해서는 권한 문제인데 해결을 위해서라면 google iam에서 권한을 주면 해결될것 같았다.
그래도
google run 서비스를 활용할지 google app engine을 이용할지 에 대해 판단하기 위해 서비스를 사용해본것이었는데
결과적으로 더 알아 볼수 있었지만 google run을 사용하는 것이 더 나은 방향이라는 판단이 서게 되어서
여기 까지만 알아 보게 되었다. flex 를 사용하기 위해서는 결국 docker를 이용한 빌드를 진행해야 할것 같은데
cloud run에서 이미 docker로 잘 사용하고 있기도 하고 이미 run쪽으로 세팅을 설정해두어서 run을 사용하기로 하였다.
결과적으로 이번 기회에 sdk 설정에 대해서 알게되었고 app engine 에 대해서 맛보기로 공부할수 있어서 좋은 계기가 되었다.
SDK 설치 완료!
app engine standard 배포 성공 !
app engine flex 배포 실패 (권한 문제로 해결될듯 하다!)
하지만 google run을 사용하기로 마음먹어서 중단!