2015-07-28 19 views
14

Qualcuno ha trovato una buona soluzione per il controllo del codice sorgente e l'implementazione del codice in AWS Lambda? Odio davvero che devo comprimere i file tutto il tempo e caricarli. C'è un modo migliore per farlo, forse un servizio che spinge il codice in base alle modifiche apportate a Lambda?Controllo origine e distribuzione per AWS Lambda

+0

hai provato AWSCLI - Riga di comando –

+0

Potresti usare qualcosa come Code Ship per distribuirlo su S3 quando fai un push su GitHub, poi leggi lambda dal S3 Bucket. – Stefan

+4

È possibile effettuare il check out https://github.com/garnaat/kappa. L'ho scritto quindi sono di parte, ma penso che fornisca uno strumento di distribuzione decente per Lambda. – garnaat

risposta

4

Si può provare Serverless Framework per questo. La beta attuale sembra molto promettente.

Serverless Framework consente di creare l'intera applicazione senza server. Combina il gateway API AWS con le funzioni AWS Lambda e supporta la distribuzione automatica.

Beta versione v1 supporta solo NodeJS, ma prevede di supportare tutte le lingue.

Documenti del progetto: http://docs.serverless.com/v0.5.0/docs

+1

Ho provato senza server e nonostante le diecimila stelle su GitHub, ho dovuto lottare molto con esso, e mi ha lasciato ancora in giro nel mio account AWS che era difficile da pulire manualmente. Sicuramente promettente, ma non ancora lì. –

0

Se si utilizza Eclipse, è possibile utilizzare AWS Toolkit for Eclipse: link. Ciò consente di utilizzare qualsiasi controllo sorgente desiderato e di distribuire il codice in AWS con due clic.

+0

qualsiasi controllo sorgente desiderato finché il tuo lambda è scritto in java ... –

1
#!/bin/bash 
cd /your/workspace 

#zips up the new code 
zip -FSr yourzipfile.zip . -x *.git* *bin/\* *.zip 

#Updates function code of lambda and pushes new zip file to s3bucket for cloudformation lambda:codeuri source 
aws lambda update-function-code --function-name arn:aws:lambda:us-west-2:YOURID:function:YOURFUNCTIONNAME --zip-file fileb://yourzipfile.zip 
aws s3 cp yourzipfile.zip s3://yourbucketname/yourzipfile.zip 

Dipende AWS-CLI installare e AWS profilo di configurazione

aws --profile yourProfileName configure 

E il mio sproloquio: Vorrei cloudformation lambda: codeuri sarebbe accettare qualsiasi url non solo S3: // bucketname/filename ... quindi potrei indicarlo direttamente a Github.