lambda-layer-git v0.1.0
lambda-layer-git
Add git binaries to AWS Lambda layer.
Deprecation Notice
Consider using git-lambda-layer instead, as it is compatible with all AWS runtimes (languages).
If you prefer to run git in a layer you have visibility (control) into run the following commands:
git clone https://github.com/lambci/git-lambda-layer.git
./publish.shIn case you are using the serverless framework, your git lambda layer can be created by using a serverless.yml file with the following contents:
service: git-lambda-layer
provider:
name: aws
region: us-east-1
layers:
git:
path: ../git-lambda-layer # using '.' clips first 2 characters
description: Add git binaries to your lambda function
licenseInfo: MIT
allowedAccounts:
- 'YOUR_AWS_ACCOUNT_ID' # use '*' to give permission to all AWS accounts
package:
artifact: layer.zipOnce your Lambda layer is created, it should be referenced in your lambda function.
Overview
This module allows loading git (version 2.13.5) as an AWS Lambda Layer so it can be used within you Lambda function (e.g. through simple-git).
Install
$ npm install --save lambda-layer-gitAWS Lambda Layer git
Manually creating your own git layer
For security, traceability, or other reasons it might be preferable to deploy your own git Lambda layer.
Your git lambda layer can be created manually by:
Compressing (zipping) the following folders/files:
- bin
- nodejs
- LICENSE
- README.md
Using the AWS CLI or AWS console to create your lambda layer and upload the zip file created in the previous step.
Using serverless to create your own git layer
In case you are using the serverless framework, your git lambda layer can be created by using a serverless.yml file with the following contents:
service: lambda-layer-git
provider:
name: aws
region: us-east-1
layers:
git:
path: ../lambda-layer-git # using '.' clips first 2 characters
description: Add git binaries to your lambda function (git v2.13.5)
compatibleRuntimes:
- nodejs4.3
- nodejs6.10
- nodejs8.10
licenseInfo: MIT
allowedAccounts:
- 'YOUR_AWS_ACCOUNT_ID' # use '*' to give permission to all AWS accounts
package:
exclude:
- ./**
include:
- bin/**
- nodejs/**
- LICENSE
- README.mdUsing
Once your Lambda layer is created, it should be referenced in your lambda function.
Invoke the lambda-layer-git module as follows:
require("lambda-layer-git").prepareGit()
.then(function () {
// git is now ready
// exec("git --version");
})
.catch(function (error) {
// something failed
});