Kaio-ken Docs
  • 소개
  • 시작하기
    • 실행을 위한 준비
    • 현지화 버저닝
  • 딥 다이브
    • 계왕권의 본질, Sitemap
Powered by GitBook
On this page
  • 속성 소개
  • 2. Git Action 추가
  • 3. sitemap.xml을 Git Repository에 추가합니다.
  • 4. 환경 변수 추가
  • 4-1. 깃허브 토큰
  • 4-2. 구글 클라이언트 이메일
  • 4-3. 구글 Private Key
  • 4-4. 구글 스프레드시트 ID
  • 4-5. Chat GPT Key(OPEN AI)
  • 4-6. Medium Token
  1. 시작하기

실행을 위한 준비

Spread Sheet, Git Action에 대한 설정을 수행합니다.

Previous소개Next현지화 버저닝

Last updated 6 months ago

1. Google SpreadSheet 복제

시작하기 위해서는 을 복제해야합니다. SpreadSheet는 Blogs에 대한 정보를 읽어오는 데에 사용됩니다.

[파일] -> [사본 만들기]를 통해 복제할 수 있습니다.

블로그 명
마지막 배포 게시글 ID
마지막 배포일
RSS
플랫폼
발행 블로그 여부

푸르고 블로그

0

2023-12-01

Tistory
PUBLISHER

Puleugo Blog

0

2023-12-01

(Subsriber Blog는 선택)

Medium
PUBLISHER

위와 같은 예제가 제공됩니다.

속성 소개

속성
설명
편집 가능 여부

블로그 명

별 의미는 없습니다. 블로그 식별을 위한 메모 정도로 사용하시면 됩니다.

허용

마지막 배포 게시글 ID

계왕권은 내부적으로 Auto Increment 전략으로 게시글을 관리합니다. 절대로 수정하지 마세요.

비허용

마지막 배포일

ISO 8601 표준을 사용합니다. YYYY-MM-DD의 형식입니다. 수정 허용되지 않으니 오타걱정은 하지 않으셔도 됩니다.

비허용

RSS

Publisher 블로그의 Rss url 주소를 입력해주세요.

허용

플랫폼

현재 Tistory, Medium, WordPress을 지원합니다. 게시글을 발행 후 URL을 얻을 수 있는 모든 플랫폼이 추가될 수 있습니다. 순차적으로 지원할 예정입니다.

허용

발행 블로그 여부

PUBLISHER, SUBSCRIBER, UNSUBSCRIBER 속성을 지원합니다. - PUBLISHER: 원본 블로그 - SUBSCRIBER: 원본 블로그를 구독하는 블로그 - UNSUBSCRIBER: 무시

허용

2. Git Action 추가

Github Repository를 생성하고 Github Action 파일을 추가하세요.

.github/workflows/auto-translate.yml
name: 'Auto Translate'

on:
  workflow_dispatch: # 수동 실행
    schedule:
        - cron: "0 4 * * *" # 매일 13시에 자동 실행

env:
  REPOSITORY: github.repository
  GITHUB_USER: github.actor

jobs:
  auto-translate:
    runs-on: ubuntu-latest
    steps:
      - name: Auto Translate
        uses: puleugo/kablog@main
        with:
            GH_REPOSITORY: 'YOUR-REPOSITORY' # *입력해주세요. 레퍼지토리 이름
            GH_USER: 'YOUR-USERNAME' # *입력해주세요. Github User 이름
            GH_TOKEN: ${{ secrets.GH_TOKEN }}

            GOOGLE_SHEET_ID: ${{ secrets.GOOGLE_SHEET_ID }}
            GOOGLE_CLIENT_EMAIL: ${{ secrets.GOOGLE_CLIENT_EMAIL }}
            GOOGLE_PRIVATE_KEY: ${{ secrets.GOOGLE_PRIVATE_KEY }}

            OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
            MEDIUM_TOKEN: ${{ secrets.MEDIUM_TOKEN }}
            METHOD: | # 게시글을 읽어서 Github에 저장, 번역하여 배포
              - READ
              - PUBLISH

3. sitemap.xml을 Git Repository에 추가합니다.

배포 블로그의 sitemap을 복사합니다. Tistory의 경우 https://{your-id}.tistory.com/sitemap.xml을 복제합니다.

Repository에 위 동일한 내용을 가진 Sitemap을 복제합니다.

Github Repsitory
root
├─┬ .github
│ └─┬ workflow
│   └─ auto-translate.yml
│   
└── sitemap.xml

4. 환경 변수 추가

계왕권은 노코드 툴을 지향하는 서비스이기 때문에 외부 의존성과 환경 변수를 추가해주어야 합니다. 다행인 점은 유능한 개발자분들이 많아서 대부분의 서비스에서 버튼 2-3회 클릭만으로 API 토큰을 쉽게 발급할 수 있다는 점입니다.

속성
예상 소요시간
설명
발급 방법

GH_TOKEN

1m

깃허브 액션 실행 토큰

GOOGLE_CLIENT_EMAIL

1m

GOOGLE API 호출 담당자 EMAIL (Sheet API 권한 필요)

GOOGLE_PRIVATE_KEY

1s

GOOGLE API 호출 Key

GOOGLE_SHEET_ID

30s

구글 스프레드 시트 ID

OPENAI_API_KEY

30s

ChatGPT API Key

MEDIUM_TOKEN

30s

Medium API Token

Repository의 Secret에 추가해주시면 됩니다.

4-1. 깃허브 토큰

  1. Generate new token (classic) 클릭

  2. workflow 권한 허용

4-2. 구글 클라이언트 이메일

  1. 프로젝트 선택 → 새 프로젝트 생성

  2. API 및 서비스 → Google Sheets API → 사용 설정

  3. API 및 서비스 → 사용자 인증 정보 만들기 → 서비스 계정 → 서비스 계정 ID 생성 → 완료

4-3. 구글 Private Key

  1. 메뉴 → IAM 및 관리자 → 서비스 계정 → 키 → 새 키 만들기 → JSON 선택 → 키 생성

4-4. 구글 스프레드시트 ID

  1. 파일 → 사본 만들기

  2. 복제된 시트의 URL에서 SPREADSHEET_ID를 추출합니다.

https://docs.google.com/spreadsheets/d//edit?gid=#gid=

4-5. Chat GPT Key(OPEN AI)

  1. Create new secret key 클릭

4-6. Medium Token

  1. Integration tokens 클릭

아래 Repository의 을 참고하세요.

Google SpreadSheet Template
sitemap.xml
Github 토큰 페이지 접속
구글 클라우드 콘솔 접속
Welcom Page로 이동
Google Sheet 템플릿 접속
API Keys 페이지 접속
Security and apps 페이지 접속
https://ko.puleugo.dev/rss
GO TO
GO TO
GO TO
GO TO
GO TO
GO TO