github-octocat-lambda

こんにちは、kyoです。

各Cloudベンダーがサーバーレスアーキテクチャを推している昨今、AWS Lambdaを使うケースが増えてきたと思います。僕も最近はJavaScriptばかり書いています。

Lambdaを使う時、簡単なものは基本的にinline codeでやっています。Zipのアップロードより編集・テストがかなり楽なのですが、ソースの管理を疎かにしてしまうことが多いです。(だいたいLambdaに放置…)。

inline codeでもcodeなので、GitHubやGHEできちんと管理したいとは思うものの、「毎回コピペするのも面倒くさい」と思っていました。
そこで、Lambdaのコンソール上から簡単にGitHubに連携できるものを作りました。

※ちゃんとしたLambda開発をする場合は、ローカルで開発・テスト・デプロイできるServerless Frameworkがあります、こちらを使うようにしましょう。

作ったもの

AWS Lambdaのコンソール上で利用できるChrome拡張になります。
既にストアに公開したので、こちらからダウンロードしてください:
Lambda Github Assistant

機能

  • GitHub-Lambda間ののPush/Pull
  • Lambdaコンソール上でGitHubのレポジトリやブランチを作成
  • Push/Pull時の差分表示
  • Push時のコメント入力
  • GitHub/GitHub Enterpriseをサポート
  • 二段階認証対応
  • LambdaのQualifierシステム対応
  • AWSコンソールのネイティブUI

使い方

Lambdaから参照・更新するのは、指定したレポジトリ/ブランチのルートパス配下のindex.js(nodejsの場合)/index.py(pythonの場合)ファイルになります。
新規レポジトリ・ブランチを作成した場合、LambdaからPushすると自動的にファイルを作成します。

レポジトリ内の他のファイルには影響がありません

全体の流れをスクリーンショットで簡単に説明します:

インストール完了後:

before_login_800

GitHubログイン後:

after_login_800

レポジトリ作成:

create_repo_800

レポジトリとブランチ設定:

config_repo_800

Push時の差分確認:

push_diff_800

ソース

GitHubに公開していますので、参照されたい方、コミットしたい方は、そちらからどうぞ。