{"id":26574189,"url":"https://github.com/aashari/example-aws-lambda-cicd","last_synced_at":"2025-03-23T01:38:17.140Z","repository":{"id":95958701,"uuid":"159957628","full_name":"aashari/example-aws-lambda-cicd","owner":"aashari","description":"Node.js starter template for AWS Lambda functions with CI/CD pipeline. Features serverless framework configuration, automated deployments, environment management, logging setup, and examples for event-driven architectures.","archived":false,"fork":false,"pushed_at":"2025-03-21T16:47:44.000Z","size":2,"stargazers_count":0,"open_issues_count":0,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T17:37:51.042Z","etag":null,"topics":["aws","backend","cloud-functions","event-driven","lambda","nodejs","serverless","templates"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aashari.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-01T15:21:22.000Z","updated_at":"2025-03-21T17:02:35.000Z","dependencies_parsed_at":"2025-03-21T17:37:59.932Z","dependency_job_id":"901b3bc3-5b75-40e0-b79a-1bcad0f9f657","html_url":"https://github.com/aashari/example-aws-lambda-cicd","commit_stats":null,"previous_names":["aashari/boilerplate-lambda-nodejs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aashari%2Fexample-aws-lambda-cicd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aashari%2Fexample-aws-lambda-cicd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aashari%2Fexample-aws-lambda-cicd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aashari%2Fexample-aws-lambda-cicd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aashari","download_url":"https://codeload.github.com/aashari/example-aws-lambda-cicd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245044499,"owners_count":20551898,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","backend","cloud-functions","event-driven","lambda","nodejs","serverless","templates"],"created_at":"2025-03-23T01:38:16.595Z","updated_at":"2025-03-23T01:38:17.126Z","avatar_url":"https://github.com/aashari.png","language":"JavaScript","readme":"# AWS Lambda CI/CD Example Project\n\nThis repository serves as a companion example project for the Medium article:  \n[Integrate GitHub Repository to Lambda Function using CodePipeline](https://medium.com/@aashari/integrate-github-repository-to-lambda-function-using-codepipeline-b3072ad822fd)\n\n## Project Overview\n\nThis project demonstrates how to implement a complete CI/CD pipeline for AWS Lambda functions using:\n\n- GitHub as the source repository\n- AWS CodePipeline for orchestrating the deployment workflow\n- AWS CodeBuild for building and packaging the Lambda function\n- AWS CloudFormation for infrastructure-as-code deployment\n\n## Repository Structure\n\n- `index.js` - A simple Node.js Lambda function template\n- `template.yaml` - AWS CloudFormation template that defines the Lambda function\n- `buildspec.yml` - AWS CodeBuild specification file for building the Lambda package\n- `package.json` - Node.js project configuration\n\n## How to Use This Project\n\n1. Fork this repository to your GitHub account\n2. Follow the step-by-step instructions in the [associated Medium article](https://medium.com/@aashari/integrate-github-repository-to-lambda-function-using-codepipeline-b3072ad822fd)\n3. Set up the AWS resources as described in the article:\n   - IAM roles for CodePipeline, CodeBuild, CloudFormation, and Lambda\n   - S3 bucket for artifacts\n   - CodeBuild project\n   - CloudFormation stack\n   - CodePipeline with source, build, and deploy stages\n\n## Pipeline Flow\n\n1. Changes to your GitHub repository trigger the CodePipeline\n2. CodePipeline pulls the latest code from GitHub\n3. CodeBuild installs dependencies and packages the application\n4. CloudFormation creates a changeset based on the template\n5. CloudFormation executes the changeset to deploy/update the Lambda function\n\n## Configuration\n\nThe CloudFormation template (`template.yaml`) accepts several parameters:\n\n- `LambdaName` - The name for your Lambda function\n- `LambdaDescription` - A description for your Lambda function\n- `LambdaRole` - The IAM role ARN that the Lambda function will assume\n\n## Future Improvements\n\n- Add CloudFormation/Terraform templates to automate the creation of the CI/CD pipeline itself\n- Add unit testing examples in the CI/CD pipeline\n- Update to use newer Node.js runtime versions\n- Add examples of Lambda triggers (API Gateway, S3, etc.)\n\n## License\n\nISC\n\n---\n\nCreated by [Andi Ashari](https://github.com/aashari) as a demonstration for AWS Lambda CI/CD best practices.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faashari%2Fexample-aws-lambda-cicd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faashari%2Fexample-aws-lambda-cicd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faashari%2Fexample-aws-lambda-cicd/lists"}