Nat*_*han 13 amazon-web-services aws-lambda
我正在尝试在AWS lambda中运行git来检查存储库.
这是我的设置:
- >
process.env['PATH'] = process.env['LAMBDA_TASK_ROOT'] + "/bin:" + process.env['PATH'];
Run Code Online (Sandbox Code Playgroud)
输入变量设置如下:
"checkout_url": "git@...",
"branch":"master
Run Code Online (Sandbox Code Playgroud)
现在我这样做(为了简洁起见,我混合了一些伪代码):
downloadDeploymentKeyFromS3Sync('/tmp/ssh_key');
fs.chmodSync("/tmp/ssh_key",0600);
process.env['GIT_SSH_COMMAND'] = 'ssh -o StrictHostKeyChecking=no -i /tmp/ssh_key';
execSync("git clone --depth=1 " + checkout_url + " --branch " + branch + " /tmp/checkout");
Run Code Online (Sandbox Code Playgroud)
使用lambda-local在我的本地计算机上运行它一切正常!但是当我在lambda中测试时,我得到:
warning: templates not found /usr/share/git-core/templates
PRIV_END: seteuid: Operation not permitted\r
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)
Mic*_*art 14
是的,这绝对是可能的 - 您可以通过创建自己的git tar包并对Lambda执行进行解包来实现.
您需要确保将以下env变量设置为适当的位置:
GIT_TEMPLATE_DIR: '/tmp/myDir/usr/share/git-core/templates'
GIT_EXEC_PATH: '/tmp/myDir/usr/libexec/git-core'
Run Code Online (Sandbox Code Playgroud)
我将创建一个repo来更好地记录(并收集食谱)在AWS Lambda上实现自定义软件执行的一些方法,但是现在只有一个问题可以解决.
| 归档时间: |
|
| 查看次数: |
6953 次 |
| 最近记录: |