Great question. With Heroku, Git is how they manage app deployments; however, deploying to AWS Lambda + API Gateway is a bit different.
I did just try bundling up an Atlassian Connect Express sample app, and uploaded it to Lambda (and configured it to trigger with AWS API Gateway), but it didn’t work on this attempt (TypeError in at module.exports in node_modules/atlassian-connect-express/lib/internal/util.js). So out of the box, no, I couldn’t get it to work.
Come to think of it, I don’t think that I’ve ever tried to deploy a whole Express framework app to Lambda before. If you’re up to the task – here are a couple of things that I’m likely to give a try next:
I have looked at https://bitbucket.org/pstreule/bb-activity-graph, and noticed (in the video also) that it declares authentication: none in add-on descriptor, however JWT is still passed in initial request and thus could be used for authentication on serverless backend.
Wonder if it is expected behaviour of Bitbucket only? Or this is something unexpected and actually useless, as I don’t see ACE used in servlerless backend, so no authentication is performed actually.
I’m using AWS Lamba + API Gateway + DynamoDB for my Git Flow Chart add-on for BitBucket. As the project does not require much handlers, I decided to roll my own deployment using gulp-awslambda and gulp-awspublish (statics go to S3). This automates the deployment of Lambda functions, not the API gateway. This part is still manual, but as the API endpoints don’t change much, this is very acceptable.
Hey @nmansilla (and everybody else interested in ACE+lambda),
I’m experimenting with a similar setup (SST + ACE to run a Connect app on Lambda) and ran into the exact same issue with utils.js. After some hours knee-deep in esbuild, I found the issue and created a pull request to the ACE project that fixes it. Details can be found in the pull request: https://bitbucket.org/atlassian/atlassian-connect-express/pull-requests/462
Even if the pull request is not accepted, you can simply apply that one line (!) and ACE runs beautifully on Lambda.