Git Actions 를 돌릴 때 json을 인식하지못해 돌아가지않는 문제 #56
numerical43
started this conversation in
Troubleshooting
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
문제 상황 (오류 메세지)
Git Actions를 돌리는데 FirebaseConfig.java의 init() 메소드가 제대로 실행되지 않았습니다.
init()은 최초에 프로그램이 실행될 때 1번 실행되며 Firebase를 사용할 수 있게 기본 설정을 해주는 것이기 때문에 firebase와 관련된 모든 메소드 또한 동작하지않는 문제가 생겼습니다.
문제 파악
application.yml과 같이 Secrets에 파일의 내용을 전부 넣은 뒤, Git Actions를 돌릴 때 파일을 생성, 해당 파일에 Secrets의 값을 가져다가 넣는 방식을 사용하고 있었는데 init() 메소드가 실행되지않았습니다.
key.json을 제대로 인식하지 못하는 것 같았는데, 정확한 오류를 알 수 없어서 먼저 file이 제대로 생성되고 있는지 확인했습니다.위의 스크립트를 넣어서 확인해보니, 파일 자체는 제대로 만들어지고 있었습니다. 그럼 생성된 파일에 값이 제대로 안들어갔다는 것이고, 어떻게 확인하면 좋을까 고민했습니다.
일반적으로 파일 내용을 확인할 때 사용하는
cat명령어가 있지만 해당 명령어는 내용 전체를 출력해버리기 때문에 보안이 중요한key.json파일에는 사용할 수 없어서 다른 명령어를 찾아보았고, 데이터의 유형을 자세하게 파악할 수 있는file명령어를 사용해서 파일을 파악해보기로 했습니다.결과는
Empty였습니다...값이 아예 안들어가고있었습니다. 분명히 들어가야하는데(application.yml은 값이 들어간 것을 확인했기 때문에) 왜 안들어가지? 라는 생각이 들어 좀 더 디테일하게 json값을 넣는 것에 대해 알아보니 json의 경우 그냥 복사+붙여넣기를 하면 공백이 들어가서 인식이 안될 수도 있다는 사실 발견했습니다.
인터넷에 있는 json convertor를 활용해서 공백을 제거하고 secrets에 넣어놓고 다시 한 번 Git Actions를 돌려봤습니다.
마찬가지로
file명령어로 확인해보니 이번에는long String. 즉 긴 문자열이 들어가있는 것을 확인할 수 있었지만 여전히 init()은 제대로 동작하지 않았습니다.그래서 이번에는 json과 Git Actions의 연관관계에 집중해서 찾아보니
GIt Actions의 Secrets에는 json을 넣을 수 없다... 는 사실을 알게되었습니다.🤦♀️문제 해결
GIt Actions Secrets를 통해 json파일을 만들고 싶으면
create-json이라는 actions를 따로 사용해야합니다.위 스크립트를 작성하고
file로 확인해보니 json데이터도 제대로 만들어지고, Git Actions도 정상적으로 돌아가는 것을 확인할 수 있었습니다.🪄Beta Was this translation helpful? Give feedback.
All reactions