ブログの管理と投稿を自動化することを目的にしたものです。
マークダウン形式で記述したブログ内容をGitHub上でレビューして、 外部ブログシステムに公開します。
現時点ではBloggerのみを対象としています。 また、画像やファイル類はAWS S3でホスティングすることを想定しています。
git clone https://github.com/shinobushiva/blogautomation
バケットポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::github-blog-management/*"
}
]
}
アクセスキーIDとシークレットアクセスキーを取得してkeys/aws_key.json
に保存して下さい。
{
"accessKeyId": "",
"secretAccessKey": ""
}
Google Cloud Platformを開きます https://console.cloud.google.com/home/dashboard
プロジェクトの選択 > 新しいプロジェクト
作成したプロジェクトを選択
選択した次のページで「有効化」をクリックします
ダウンロードした証明書データを
keys/client_secret.json
として保存してください。
S3のバケットの情報を設定してください
S3_BUCKET_REGION="ap-northeast-1"
S3_BUCKET_NAME="github-blog-management"
npm run post
を実行すると、posts配下に設置されたブログエントリが投稿されます。
npm run oauth
.credentials/googleapi.json
にクレデンシャルが保存されます
環境変数の設定が必要です。
circleci build \
--env S3_BUCKET_REGION=*** \
--env S3_BUCKET_NAME=*** \
--env AWS_ACCESS_KEY_ID=*** \
--env AWS_SECRET_ACCESS_KEY=*** \
--env GOOGLE_CLIENT_ID=*** \
--env GOOGLE_PROJECT_ID=*** \
--env GOOGLE_CLIENT_SECRET=*** \
--env GOOGLE_API_CREDENTIAL=***
GOOGLE_API_CREDENTIAL には .credentials/googleapi.json の内容全てを設定します。