https://github.com/probot/example-aws-lambda-sam
https://github.com/probot/example-aws-lambda-sam
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/probot/example-aws-lambda-sam
- Owner: probot
- License: isc
- Created: 2022-02-04T05:03:59.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-28T12:30:36.000Z (over 1 year ago)
- Last Synced: 2025-01-29T19:46:45.081Z (over 1 year ago)
- Language: JavaScript
- Size: 360 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Probot & AWS Lambda example
This repository is an example of how to deploy the "Hello, World" of probot apps to [AWS Lambda](https://aws.amazon.com/lambda/) using [aws sam](https://aws.amazon.com/serverless/sam/).
## Local setup
Install dependencies
```
npm install
```
Start the server
```
npm start
```
Follow the instructions to register a new GitHub app.
## Deployment
Get the following details about your GitHub app:
- `APP_ID`
- `WEBHOOK_SECRET`
- `PRIVATE_KEY`
1. Setup your aws cli creds
1. set your aws profile by running `export AWS_PROFILE=`
1. run `sam build`
1. run `sam deploy --guided`
Subsequent deploys to the same stack to the default environment...
1. run `sam build`
1. run `sam deploy`
## Debugging locally
There are two options to debug locally.
### Debug via unit tests
1. Intall nyc and mocha: `npm install -g nyc mocha`
1. From the VSCode `RUN AND DEBUG` menu select `Mocha` and click the green arrow to start debugging.
### Debug by launching probot locally and sending it a payload
1. Point your GitHub app to your local using something like smee.io
1. Copy .env-sample to .env and populate with values specific for your GitHub app. [See here for more details](https://probot.github.io/docs/configuration/).
1. From the VSCode `RUN AND DEBUG` menu select `Launch Probot` and click the green arrow to start debugging.
## Docker
```sh
# 1. Run npm install
npm install
# 2. Build container
docker build -t my-probot-app .
# 3. Srouce your .env file
export $(cat .env | xargs)
# 3. Start container
docker run \
-e APP_ID=$APP_ID \
-e PRIVATE_KEY=$PRIVATE_KEY \
-e WEBHOOK_SECRET=$WEBHOOK_SECRET \
my-probot-app
```
## License
[ISC](LICENSE)