Discord Bot "Roboty"의 뒷면 ~ 채용 기술과 개발 환경 정리 ~

소개



이 기사 에서 소개한 Discord Bot 『Roboty』에서 채용하고 있는 기술이나 개발 환경의 정리입니다.
가능한 한 어리석은 기술을 도입하고 만지지 않은 것을 만지도록하고 있습니다.

전체도



그림으로 보면 이런 느낌입니다.



각 요소에 대해



개발 언어



루비

채용 이유


  • 조금만 만질 기회가 있었다
  • 모처럼이라면 제대로 쓸 수 있는 레벨이 되고 싶다

  • 소스 코드 관리



    GitLab

    채용 이유


  • CI/CD 환경이 풍부합니다 (아래에 설명 된 GitLab-CI)
  • 무료로 비공개 저장소를 만들 수 있습니다

  • CI/CD 환경



    GitLab-CI
  • 소스 코드가 푸시 될 때마다 정적 구문 분석 실행
  • rubocop

  • master 브랜치가 업데이트될 때마다

  • 도커 이미지 빌드

  • Google Kubernetes Engine 에 배포


  • 테스트가 빠져 있습니다. . .
    자동 테스트도 달릴 예정입니다.

    채용 이유


  • 조금 만지는 기회가 있었다
  • 다른 것을 모른다

  • 실행 환경


  • 도커
  • Google Kubernetes Engine

  • 채용 이유


  • 우선 지금 뜨거운 Docker와 k8s를 만지고 싶다
  • GKE에 대해서는 특별히 없음

  • ChatOps


  • 디스코드
  • Google 스프레드 시트

  • ChatOps라고 할 정도는 아니지만, GitLab의 이벤트 통지를 Discord에서 받을 수 있도록 하고 있습니다.
    자세한 내용은이 기사 → GitLab 알림을 Webhook에서 Discord로 보내기

    채용 이유


  • Discord의 Bot을 만들고 있기 때문에 Discord에서 ChatOps하고 싶습니다
  • Google Spread Sheet
  • 중계 서버를 어떻게 할지 생각하고 있으면, 딱 좋은 기사를 발견했다 (자세한 것은 위의 기사)


  • 사용 API


  • Discord API
  • 사실 discordrb


  • Spla2 API
  • 자세한 것은 이 기사 → Discord의 Bot에게 Splatoon2의 무대 정보를 알려주세요.

  • iTunes Search API

  • 채용 이유


  • discordrb
  • 개발 언어로 Ruby를 선택했기 때문에
  • 다른 것을 모른다

  • Spla2 API
  • 공식 API가 공개되지 않음

  • iTunes Search API
  • 선인이하고있는 것은 Youtube와 니코 동의 API를 사용하고있는 것 같았기 때문에 모처럼이라면 다른 것으로 해보고 싶다


  • 결론



    앞으로 처음 보는 분의 참고에 조금이라도 되면 다행입니다.
    그리고 정기적으로 동기부여 문제에 부딪치기 때문에 공동 개발해 보고 싶다.

    좋은 웹페이지 즐겨찾기