PRO ๐Ÿš€์ฒ˜๋Ÿผ ํ”„๋กœ์ ํŠธ์˜ ์ƒˆ ๋ฒ„์ „ ์ถœ์‹œ

๋‚ด ์›Œํฌํ”Œ๋กœ์šฐ



๋ฐฉ๊ธˆ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž/๊ณ ๊ฐ์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • Github ์ž‘์—…์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋งŒ๋“ค์–ด์งˆ ๋•Œ๋งˆ๋‹ค ์›Œํฌํ”Œ๋กœ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์‹ฑํฌ์‰ฌํ‹ฐ์ฆˆ / ์•„๋‚˜์šด์„œ


์ œํ’ˆ์ด ์ถœ์‹œ๋  ๋•Œ๋งˆ๋‹ค ๊ตฌ๋…์ž ๋ชฉ๋ก์— ์ž๋™์œผ๋กœ ์•Œ๋ฆผ ๋ฐ ์ด๋ฉ”์ผ ์ „์†ก ๐Ÿš€





์•„๋‚˜์šด์„œ Github ์•ก์…˜


์ œํ’ˆ์ด ์ถœ์‹œ๋  ๋•Œ๋งˆ๋‹ค ๊ตฌ๋…์ž ๋ชฉ๋ก์— ์ž๋™์œผ๋กœ ๊ณต์ง€ํ•˜๊ณ  ์ด๋ฉ”์ผ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค ๐Ÿš€
Demo Project

์šฉ๋ฒ•

- name: Announcerr
  uses: singhkshitij/announcerr@v2
  with
    server_address: smtp.gmail.com
    server_port: 465
    username: ${{secrets.MAIL_USERNAME}}
    password: ${{secrets.MAIL_PASSWORD}}
    subject: Launching my awesomeProduct version ${{ github.event.release.tag_name }}
    # Literal body:
    body: Just launched new version of my ${{github.repository}} ! It is fully packed with awesome features.
    # Read file contents as body:
    body: file://README.md
    to: [email protected],[email protected]
    from: Kshitij Singh # 
    # Optional content type (defaults to text/plain):
    content_type: text/html
    # Optional attachments:
    attachments: attachments.zip,git.diff,./dist/static/main.js

Caution: Some email server provider such as Gmail do not allow password directly to be used in such apps and might block send message operation, if we try to give plain password directly.

Please follow this guide to generate app password which can then be usedโ€ฆ

์ œ์ถœ ์นดํ…Œ๊ณ ๋ฆฌ:

  • Maintainer Must-Haves
  • Wacky Wildcards

Yaml ํŒŒ์ผ ๋˜๋Š” ์ฝ”๋“œ ๋งํฌ

Example repo that has the working workflow file :

์‹ฑํฌ์‰ฌํ‹ฐ์ฆˆ / ์•„๋‚˜์šด์„œ ๋ฐ๋ชจ

์•„๋‚˜์šด์„œ github ์ž‘์—… ๋ฐ๋ชจ

์•„๋‚˜์šด์„œ ๋ฐ๋ชจ

A demo repo which sends out the changelog email to all the users with the help of Announcer github action whenever a new app version is released ! ๐Ÿง‘โ€๐Ÿš€

์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

  • Repo contains a workflow file that gets triggered whenever a release is made.
  • This workflow files uses Announcer github action and provides some input to the announcer such as , email username, password and list of users whom to send changelog email.
  • Important step is passing the changelog file to the announcer action, which in this case is Demo-page.html ๐Ÿ“ง.
  • Whenever a release is made on repo , announcer gh-action gets tiggered ๐Ÿš€, reads the changelog file content and sends it to all the users.

PS : To maintain privacy ๐Ÿ”’ Gh-action is reading all the creds and emails from github secrets.




Sample YAML to kickstart process:

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    name: Create Release
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Set env
        run: echo ::set-env name=RELEASE_VERSION::${GITHUB_REF#refs/*/}
      - name: Announce Product release 
        uses: singhkshitij/[email protected]
        with:
          server_address: smtp.gmail.com
          server_port: 465
          username: ${{secrets.MAIL_USERNAME}}
          password: ${{secrets.MAIL_PASSWORD}}
          subject: Launching my awesomeProduct version ${{ env.RELEASE_VERSION }}
          body: "file://demo-page.html"
          to: ${{secrets.USER_EMAILS}}
          from: Kshitij Singh 
          content_type: text/html

์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค/์ •๋ณด



์ž์œ ๋กญ๊ฒŒ PR์„ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ feature request here

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ