기술 안건 회의 Jenkins (20.07.27) - woowacourse-teams/2020-songpa-people GitHub Wiki

🌞 날짜

2020-06-16

👨‍👩‍👧‍👧 참석자

all

회의 내용

Jenkins 동작 원리

image

  • 동작 원리
    • item → free style project → github → build(jar 만들어짐) → ssh publish plugin(보안 ftp)
    • bulid 과정에 deploy.sh 가 있어서 tar 파일을 만들어줌
    • Tomcat 이 있는 EC2 에 tar 보내줌 → ssh publish plugin 이 Tomcat ec2 로 보낼 때 tar 압축 해제하고 sh 실행하라는 명령어까지 같이 보낸다
  • 우리의 jenkins 는 도커 의존성 없이 ec2에 바로 설치한다.
  • pr 보냈을 때 / push 했을 때 왜 빌드를 자동으로 하는가 → 사람의 실수를 방지한다.
  • checkout scm → git branch 에 대한 모든 정보를 가져온다.
  • Github Hook → 이벤트를 설정해서 젠킨스가 자동으로 동작하게 하는 것(ex. pr이 생성되었을 때 자동으로 빌드하기)
  • publish over ssh → sftp 로 파일 전송을 하게 해주는 플러그인
  • 원격 조종할 서버를 설정해야 한다. → 젠킨스에서 공개키 / 비밀키를 만들어서 관리한다(비밀키는 젠킨스 서버, 공개키는 리모트 서버에 등록한다.)
  • 마스터에 보냈을 때 딱 배포하게 하면 안된다.
    • 웹 / 어드민의 배포 전략이 다르기 때문이다
  • job 을 두 개 만든다
    • 웹 / 어드민
    • 각각 다른 빌드 전략을 이용해서 배포한다.

추후 과제

  • free style project → pipe line 으로 마이그레이션 하기
    • 단계별로 어디서 실패했는지 정확하게 보여준다.
  • 쉘 스크립트를 보완해야 한다.
  • 서브 모듈을 지금 당장 사용을 못하니까 시크릿 파일을 젠킨스에 넣어놓아야 한다. → 근데 키 공유를 젠킨스 서버 / 우리끼리 공유해야 하는 불편함이 있다.

기타

  1. District에 Activate → Zone에 Activate ⇒ District로 Activate하던 것을 Zone으로 바꿨다.
  2. Vue에서 method에 function을 생략하자. → 가결. 이제부터 생략하라.
  3. 기록 정리 기준 정함 (Git & Notion)
  4. pr에 대해 팀원 모두를 리뷰어로 포함시키니 머지 되는 속도가 너무 느리다.
    • PR 24시간 내에 머지하기.
    • 24시간 지나면 재촉 가능.
    • 추후에 벌금 제도 도입이 가능할 수 있음
  5. kakao-api 중복 데이터가 생기는 데 kakao-scheduler에서 중복데이터를 처리하도록 구현했다.
  6. 이번 스프린트에서 vue와 로그를 빠르게 마무리해서 발표를 하자!
  7. HashtagMapException에 super를 추가해서 ErrorMessage는 RuntimeException에서 갖고있게 하자.
  8. 독립적인 API에서 성공여부를 가지고 있는 ResponseEntity를 내려주자.(나중에 다시 회의 예정)
  9. jacoco의 @Generated를 달아놓으면 테스트 커버리지에서 빠진다. @Generated는 클래스나 메서드, 생성자에 달아줄 수 있다. ⇒ equalsAndHashcode에만 달자. override 한 equals와 hashcode에다가 어노테이션을 달자.
  10. 수요일에 오전 10시에 팀 단위로 뷰에 대해 리뷰하고 수정하기. 그 자리에서 수정할 건 하고 못하는 건 이슈로 넘기자.
  11. 말풍선 → 다음 depth로 모달하기로 함. 학성이 수요일까지 해보기로 함.
  12. 7월 28일 내일 모여서 탄력적 IP 같이 설정하기