本記事の対象読者 AWS CodePipelineに対応していないgitリポから、CodePipelineに乗せたい人 AWS Lambdaでgitコマンドを使いたい人 CI/CDしたい とあるAWSプロジェクトで、ソースコード管理にBacklog gitを利用していました。 どうせならCI/CDを組んでしまおうと考えたのですが、AWS PipelineがBacklog gitに対応しておらず。。。 そこで、Backlogのwebhookを使ってS3にまでソースコードを連携する以下のようなアーキテクチャ構成としました。 アプリ自体はnuxt.jsで作成しており、buildしてS3にアップロード、静的WEBとして公開することがゴールです。 実装環境 AWS Cloud9 Serverless Frameworkを利用したので、node.js環境が必要 Docker環境 API Gateway
Git Webフックとは、Backlogが管理しているGitリポジトリにpushされた際に、指定されたURL(サーバ)へHTTP POSTする機能です。 Webフックは、例えば以下の用途に用いることができます。 CIビルドのトリガ バックアップの更新 ステージング環境への最新版コードの反映 その他外部システムとの連携 これらは、CIサーバに備わっているポーリング機能やcronなどで、定期的にGitリポジトリにアクセスすることでも代替可能です。ですが、ポーリングでは定期的にアクセスする仕組み上、pushされてから実際の処理が動くまでにタイムラグが発生することがあります。Webフックでは、pushされたタイミングで即座にHTTP通信が行われるため、タイムラグを無くして即座に処理を行うことができます。 Webフックの設定 Webフックはリポジトリごとに設定することができます。Gitリポジトリの作
このサイトのテーマはgithubで管理しています。 ただgithub上でソースを管理し ローカルで修正 → githubにpush → Webサーバーでpull としても便利なのですが、githubにはwebhookという機能があり、githubのレポジトリに変化があった時に任意のURLを叩いてもらうことができます。 この機能を使うことでレポジトリにpushした時に自動的にサーバーを更新することができます。 Webサーバーの設定 まず、Webサーバーにgithubから叩いてもらうプログラムを置きます。 今回はこのサーバーにはWordpressのためのPHPが入っているので、PHPで以下のように書きました。 hook.php <?php $LOG_FILE = dirname(__FILE__).'/hook.log'; $SECRET_KEY = '** secret **'; if (
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く