chat gpt codex를 좀 활용해 보자.

반응형

아직까지 써 본적 없는 codex.

사실 뭔지 잘 모르겠다.

그냥 이전에 내가 셋팅했던 IDE에 AI를 박아넣은 느낌의 도구인가? 싶다.

잘 모르면 read me를 정독....은 원래 잘 안 하고 그냥 무조건 눌러서 테스트 해보는거지 뭐.

 

기존 작업.

1. 안드로이드 스튜디오에 git 연결 후 소스 커밋.

2. 코덱스 열어서 git에 내 프로젝트 연결 (여기서는 Cube)

3. 필요없는 코드 제거 미션 줌.

 

무슨 내용인지 모르겠다.

대충 이런식으로 고치면 될것같다. 어떄? 라는 느낌인거 같다.

여기서 부터는 몰라서 gpt한테 물어보면서 진행했더.

그냥 화면 스샷 찍어서 gpt에 붙여넣었다.

 

오른쪽 위에 PR 만들기 눌러보니 쿵짝쿵짝 하면서 PR보기로 바뀐다.

그런데 GPT한테 물어보니 그렇게 하지 말고 CI파일을 만들어서 자동화 해라 란다.

무슨말이야?

나 여기까지 (PR만들기) 했는데 네가 말한거로 다시 해도 되니? 라고 물어보니 ㄱㄱ 하란다.

 

여기서 파일을 하나 만들어야 한다. 

이 파일이 자동 테스트를 해 줄 파일 이라고 한다. gpt형이...

 

gpt형이 넣어라는 이름, 코드 다 넣어줬다.

그리고 물어봄. 이게 맞아?

 

아니 경로명을 적어. 해서 복사해서 다시 붙여넣었다.

항상 스크린샷으로 질문했다.

내가 한 여기까지 맞는지.

 

자 이제 네가 만든 CI파일을 제대로 다 만들었으니 올려볼까?

 

디테일한 부분까지도 전부 gpt가 정한대로 넣어준다.

난 뇌가 없는사람~ 네가 하라는대로만 할거야.

 

자 이제 다 되어간다. pull request 만들기 ㄱㄱ

 

빙글빙글 돌면서 뭔가 하고 있다.

쫄려서 물어보니까 잘 되고 있으니 걱정하니 말란다.

역시 gpt형. 믿고있다구.

 

ssi val. 뭐야 이거. 책임져 gpt 이생퀴.

 

에러내용 보내주고 gpt 이생퀴의 답을 기다려 본다.

응 너님 jdk 버전 ㄴㄴ야. 바꾸셈.

 

안드로이드 스튜디오에 보면 이렇게 되어있다. 응 21이야....하...

 

21로 고치자.

1. 21로 고치기

2. 커밋 버튼

3. 커밋 버튼 

4. 끝

 

이제 다시 돌리러 가 보자.

 

자. ci 다시 돌리자. ㄱㄱ

뱅글뱅글...

 

퉤. 에러지롱~   하...씨..

 

gpt형이 말하길. 카메라 쓸려면 매니페스트에 권한 말고 피쳐도 추가해야함. 추가하셈.

네 알겠습니다 gpt 형님.

그리고 추가할 때 꼭 브런치를 맞춰서...

걍 생각없이 git hub에서 매니페스트 수정했다가 main 브런치거 수정해서 충돌남.

암튼 수정 다시하고 pr에와 보니 또 뱅글뱅글하고 있다.

 

 

그리고 시간을 지나서...

드디어 이쁜 초록색이 나왔다. 허허..

여기에 저 예쁜 초록색 버튼을 누르면 commit msg 넣으라고 뜨는데 적당히 넣고 confirm merge 하면 된다.

 

이렇게 머지를 완료하고 action쪽에 가 보면 드디어 main 브런치에 적용되서 뱅글뱅글 하고 있다.

 

짜잔. 완료.

이 작업을 한 이유는? 결론은 코덱스가 맘대로 고치는 걸 못믿어서.

1. 돌아가는 척 하는 코드를 pr 단계에서 걸러준다

- 로컬에서 우연히 되던거

- 서버에서 동일한 조건으로 재현해서 실패 및 성공을 명확히 보여줌

2. 코덱스가 코드를 지우거나 바꿔도 안전장치가 생김

- 안 쓰는 코드 제거 같은 작업은 쉽게 앱을 깨트릴 수 있다.

- 이제는 pr올리면 빌드/린트/테스트가 자동으로 검증한다

3. 어디서 깨졌는지로그가 남음

- 실패하면 원인로그가 남아서 디버깅 용이.

 

이제 어떻게 운영해야 할까.

1. 모든 변경은 pr로 올린다.

2. pr에서 ci가 초록불일 때만 머지한다

3. 메인은 항상 빌드되는 상태로 유지한다.

 

이제 내 로컬(안드로이드 스튜디오)에 코덱스가 필요없는거 정리 한 버전을

내가 다시 빌드가 잘 돌아가는지 확실히 검증한 버전을 적용 해 보자.

우선 내 안드로이드스튜디오는 main 브런치야.

pull 누르면 아래와 같이 창이 뜬다.

이 창의 의미는 git에 있는 main을  가져와서 나의 로컬에 적용해줘 이다.

반드시 확인해야 할거.

1. 로컬이 main 브런치 인지

2. 수정중인 파일이 없는지. (보통 수정중이라면 파란색으로 표시되더라.)

pull 눌러서 적용해 주고.

실행 테스트 해 본다. 아 잘되네. 개굿.

 

이렇게 한 이유.

사실 안드로이드 스튜디오에도 아마 최적화나 필요없는 코드 제거해 주는 방법이 있을거임.

근데 혹시 몰라서 이전버전도 잘 관리해 주고 싶었음.

그래서 git에서 항상 관리하게 해 주고 싶었다.

 

만약 아 몰라 그냥 간단한 거고 코드 내가 보고 수정하면 되지 하면 그냥 해도 되겠지.

근데 난 코드를 보지 않을거야.

내 작업의 핵심은 코드를 보는걸 정말 아주 최소한으로 할거야.

왠만하면 코드를 볼 일이 없게.

 

짜잔.

이제 안드로이드 스튜디오에서 commit and push를 하면 git에서 이렇게 체크를 해 준다. 정상빌드가 되는 아이인지.

TAGS.

Comments