
지금까지 한거
해야할거
드디어 개발 시작이다
React를 Typescript로 마이그레이션 했다.

생각보다 간단했는데
npx tsc --init
명령어를 통해 tsconfig.json 파일을 만든 뒤

jsx를 허용하면 된다.
config 파일을 직접 수정하지 않아도

버튼 딸깍 한번에 추가할수 있다.

아.. 이제 Typescript 특유의 그거 아닐수도 있는데?가 나오기 시작한다.
root가 null일수도 있으니까 설정을 하라는 것이고

그럴리 없다고 철벽치면 된다.
'root') 뒤에 !를 하게 되면 절대 null이 아니니까 그냥 쓰라는것이다.
출처 : https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html


먼저 Slack에 개인 워크스페이스를 하나 파서 Jenkins앱을 등록시킨다.

이때 나오는 팀 하위 도메인/ 통합 토큰 자격 증명ID 잘 적어놓자

Jenkins에 Slack Notification 플러그인을 설치하고

Credential을 채운다.
여기서 Secret은

Jenkins의 구성을 누르면 나오는 페이지에

중간쯤에 잘보면 있다.

jenkins관리 -> system -> 새로생긴 slack 항목들을 채워준다.

test를 하니 잘 연결이 된 모습

커스텀도 가능하다. 물론 난 안한다.

이후 jenkins 아이템 구성에 딸깍 몇번하면 적용된다.
레퍼런스 : https://devbksheen.tistory.com/entry/Jenkins-Pipeline에-슬랙-알림-연동하기
슬프게도 파이프라인은 스크립트를 짜서 넣어야 된다.

파이프라인까지 잘 된다.
이제 젠킨스를 새로고침하면서 언제되나 기다릴 필요가 없다!
우선 비어있는 DB에 기본 셋팅을 하자.

Postman으로 데이터를 올려준다.
https:// 도메인을 사용하니 내가 서버를 배포했다는 실감이 확실하게 난다..!

데이터가 잘 들어온 모습
이후 이전에 KEPCO 데이터를 받아오다가 일정부분이 누락되었다.
그 이유를 보면


차트에는 null값인데 입력이 " " 으로 들어오거나(공백 있음)


여기도 띄어쓰기때문에 문제가 발생했다.
나머지는 전부 확인해봤는데 괜찮았다.
혹시나 잘못된게 있을수는 있지만 총 17개의 api를 하나하나 확인하려니 빠트리는 부분이 발생할 수도 있음.

이제 밀어버린 properties를 다시 설정해주는데, Key값을 어떻게 할지가 고민이 된다.

이때 생각난게 Jenkins에서 환경변수를 집어넣고 실행하는 것이었는데, Key값도 같이 넣고 돌려버리기로 했다.
그 이유는 보안상으로 뛰어나다고 판단했기 때문이다.
즉, 들어가는건 엄청 어렵지만 얻어내는게 고작 key값이기 때문에, 해킹당할 위협이 적다고 판단된다.
또한 AWS 보안그룹에서 포트를 막아버리면 Jenkins에 접근할 방법도 없어진다는게 크다.
지금 파이프라인, CI/CD, 자동알림 등등 세팅이 다 끝나버려서 포트번호를 끊고 묻어버릴까 생각중이기도 하다.



그래서 url, path 데이터는 properties에, Key값은 환경변수에 넣었다.
Spring 또한 환경변수를 로컬과 배포상황에 동일하게 설정할 수 있다.

이 코드로 인해 properties의 데이터가 환경변수로 들어가는 것이니 다른 데이터는 변경하지 않아도 된다.


데이터가 끝까지 잘 들어가는 모습이다.
String metro = rootNode.path("metro").asText().replace("강원도","강원특별자치도");
String city = rootNode.path("city").asText().replace(" ", "");
이로써 전기 데이터 받아오는건 끝났다.