LINEで送る
Pocket

AWS Lambdaですが、今までは手動でzipに固めて、AWSコンソールからUpload、デプロイ!なんてことをしていたのですが、いい加減自動化したく、ささっとCircleCIで簡単に自動デプロイが実装できたのでご紹介したいと思います。言語はNode.jsになります。


Environment

  • Node.js 14.x
  • index.handler
  • aws-cli v2
  • 関数名:lambda-test

Repository

  • Lambda


自動化したいこと

  • リポジトリをクローン
  • npm install を実行
  • ZIP圧縮してAWS Lambdaにデプロイ

ちなみにLambdaにデプロイするためにはaws-cliaws lambda update-function-code を利用すればOKです。

https://awscli.amazonaws.com/v2/documentation/api/2.0.33/reference/lambda/update-function-code.html


CircleCI

  • .circleci/config.yml

今回は Orbsの aws-cli@2.0.0 コンテナを利用しました。Alpineやその他のコンテナを利用してもいいのですが、日々の運用でaws-cliインストール時に、たまにエラーが出て辛いのでね。masterマージnodejs をインストール、 npm installzipコマンドでの圧縮、aws-cliでデプロイで完了でございます。

https://circleci.com/developer/ja/orbs/orb/circleci/aws-cli?version=2.0.2

なるほど circleci/aws-cli@2.0.2 出ていたのか….バージョンアップしましょう!


Deploy

AWS Lambdaのコンソール画面から Last modified が最新になっていればOKです!


まとめ

簡単!自動化最高!と言ってもシェル芸ですな。LambdaのCIとか作ってみようかな…
余談だけどSophosいいな。

LINEで送る
Pocket

カテゴリー: AWSCircleCI

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。好きなツールはAnsible,Terraform,CircleCIで、ECS/Fargateでのインフラ構築を得意とする。副業では数社サーバー保守やMENTAで未経験者にインフラをコーチングを実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、ECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください