Skip to content

Latest commit

Β 

History

History
105 lines (70 loc) Β· 3.88 KB

README.md

File metadata and controls

105 lines (70 loc) Β· 3.88 KB

Bamboo Forest πŸŽ‹

μ—¬λŸ¬λΆ„μ˜ μŠ¬λž™ μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ— κ΅¬μ„±μ›λ“€μ˜ λ©”μ‹œμ§€λ₯Ό 읡λͺ…μœΌλ‘œ 전솑할 수 μžˆλŠ” 곡간을 λ§Œλ“€μ–΄λ³΄μ„Έμš”.

이럴 λ•Œ μ‚¬μš©ν•΄λ³΄μ„Έμš”

  • κ΅¬μ„±μ›μ˜ μ†”μ§ν•œ ν”Όλ“œλ°±μ΄ ν•„μš”ν•  λ•Œ
  • λ―Όκ°ν•œ μ΄μŠˆμ— λŒ€ν•΄ 토둠이 ν•„μš”ν•  λ•Œ
  • ꡬ성원을 μΉ­μ°¬ν•˜κ³  싢을 λ•Œ
  • 고민거리λ₯Ό 털어놓을 μž₯μ†Œκ°€ ν•„μš”ν•  λ•Œ
  • 쑰직에 λŒ€ν•œ 곡읡적 μ œλ³΄κ°€ ν•„μš”ν•  λ•Œ

지원 κΈ°λŠ₯

  • 앱을 λ©˜μ…˜ν•˜λ©΄ μ›°μ»΄ λ©”μ‹œμ§€λ₯Ό 받을 수 μžˆμ–΄μš”.
  • μ›°μ»΄ λ©”μ‹œμ§€μ—μ„œλŠ” λ°μŠ€ν¬νƒ‘/λͺ¨λ°”μΌμ—μ„œμ˜ λ©”μ‹œμ§€/μŠ€λ ˆλ“œ μ‚¬μš©λ²•μ„ μ•Œλ €λ“œλ €μš”.
  • νŠΉμ • 채널에 읡λͺ…μœΌλ‘œ λ©”μ‹œμ§€λ₯Ό 남길 수 μžˆμ–΄μš”.
  • νŠΉμ • λ©”μ‹œμ§€μ— 읡λͺ…μœΌλ‘œ μŠ€λ ˆλ“œλ₯Ό 남길 수 μžˆμ–΄μš”.
  • 읡λͺ… λ©”μ‹œμ§€μ— λ‹‰λ„€μž„μ„ μ„€μ •ν•  수 μžˆμ–΄μš”. 읡λͺ…μœΌλ‘œ μƒμ„±λ˜λŠ” λ‹‰λ„€μž„μ„ κ΅¬κ²½ν•΄λ³΄μ„Έμš”.

데λͺ¨

2023-01-28.5.42.18.mov

μ„€μΉ˜ 방법

Heroku λ“±μ˜ μ„œλΉ„μŠ€λ‘œ μΈμŠ€ν„΄μŠ€λ₯Ό λ„μš°λŠ” μ½”λ“œλŠ” 더 이상 μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©° 별도 λΈŒλžœμΉ˜μ— μ•„μΉ΄μ΄λΈŒν•©λ‹ˆλ‹€. 버전 2.x.x λΆ€ν„°λŠ” AWS Lambda λ₯Ό ν˜ΈμŠ€νŒ… ν”Œλž«νΌμœΌλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  1. λ³Έ 리포지터리λ₯Ό ν΄λ‘ ν•˜κ³  λ””νŽœλ˜μ‹œλ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€.

    $ npm install
    
    # or
    
    $ yarn
  2. μ•± λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό μ°Έκ³ ν•΄ μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ— μ‹ κ·œ 앱을 μƒμ„±ν•˜μ„Έμš”.

  3. ν™˜κ²½ λ³€μˆ˜ 파일(.env)을 μƒμ„±ν•©λ‹ˆλ‹€. ν˜„μž¬ μ½”λ“œμ—μ„œ μ‚¬μš©ν•˜λŠ” ν™˜κ²½ λ³€μˆ˜ μ’…λ₯˜λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

    # μ•± 토큰
    # Basic Information > App Credential μ—μ„œ 확인 κ°€λŠ₯
    SLACK_SIGNING_SECRET=
    
    # μŠ¬λž™ 봇 토큰
    # Basic Information > Features > Bots ν™œμ„±ν™” ν›„
    # OAuth & Permission > OAuth Tokens for Your Workspace μ—μ„œ 확인 κ°€λŠ₯
    SLACK_BOT_TOKEN=
    
    # λŒ€λ‚˜λ¬΄μˆ² 채널 μ½”λ“œ
    # μ›Ήμ—μ„œ μŠ¬λž™ μ›Œν¬μŠ€νŽ˜μ΄μŠ€ 접속 μ‹œ URLμ—μ„œ 확인 κ°€λŠ₯
    SLACK_BAMBOO_CHANNEL=
  4. 터미널 μ—¬λŸ¬ 개λ₯Ό μ΄μš©ν•΄ 앱을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

    # νƒ€μž…μŠ€ν¬λ¦½νŠΈ 컴파일
    $ yarn build:watch
    
    # μ„œλ²„λ¦¬μŠ€ λ‘œμ»¬μ—μ„œ μ‹€ν–‰
    $ serverless offline --noPrependStageInUrl
    
    # ngrok으둜 터널링
    $ ngrok http 3000
  5. Event Subscriptionκ³Ό Interactivity & Shortcuts 의 Request URL을 둜컬 개발 ν™˜κ²½μœΌλ‘œ ν„°λ„λ§ν•˜λŠ” 과정이 ν•„μš”ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ λ³„λ„μ˜ ν„°λ―Έλ„μ—μ„œ ngrokλ₯Ό μ΄μš©ν•©λ‹ˆλ‹€. ngrokμ—μ„œ 좜λ ₯ν•˜λŠ” URL에 /slack/eventsλ₯Ό 덧뢙여 Request URL에 μž…λ ₯ν•©λ‹ˆλ‹€.

    ngrok http 3000
    
    # λ§Œμ•½ ngrok μ£Όμ†Œκ°€ μ•„λž˜μ™€ κ°™λ‹€λ©΄
    # Connections: https://f111-222-333-444-55.jp.ngrok.io
    
    # Request URLμ—λŠ” λ‹€μŒκ³Ό 같이 μž…λ ₯
    # https://f111-222-333-444-55.jp.ngrok.io/slack/events
  6. Slackμ—μ„œ μ„€μ •ν•œ Request URL둜 POST 이벀트λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€. 터널링이 됐닀면 체크 ν‘œμ‹œκ°€ λœΉλ‹ˆλ‹€. 체크 ν‘œμ‹œκ°€ 뜬 이후뢀터 λ³Έ 앱을 μŠ¬λž™ μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ—μ„œ μ΄μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ³„νš 쀑인 κΈ°λŠ₯

  • μŠ¬λž™ 채널을 λ³„λ„λ‘œ 선택 κ°€λŠ₯ν•˜κ²Œ ν•˜κΈ°
  • 읡λͺ… 이λͺ¨μ§€ 남기기

개발 동기

  • λ³Έ ν”„λ‘œμ νŠΈλŠ” κΈ€ μ“°λŠ” 개발자 λͺ¨μž„ κΈ€λ˜μ—μ„œ μ˜κ°μ„ λ°›μ•„ μ œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.
  • 개인 λΈ”λ‘œκ·Έμ— μƒμ„Έν•œ 개발 ν›„κΈ°λ₯Ό λ‚¨κ²¨λ†“μ•˜μŠ΅λ‹ˆλ‹€.

λΌμ΄μ„ μŠ€