In order to deploy, just type:
$ mvn -Pdeploy
Needs: Lambada, http://github.com/ingenieux/lambada/ installed
In order to deploy, just type:
$ mvn -Pdeploy
Needs: Lambada, http://github.com/ingenieux/lambada/ installed
``` | |
$ mvn -Pdeploy | |
[INFO] Scanning for projects... | |
[INFO] | |
[INFO] ------------------------------------------------------------------------ | |
[INFO] Building lambada-functions 0.0.1-SNAPSHOT | |
[INFO] ------------------------------------------------------------------------ | |
Downloading: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalk-maven-plugin/1.4.2/beanstalk-maven-plugin-1.4.2.pom | |
Downloaded: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalk-maven-plugin/1.4.2/beanstalk-maven-plugin-1.4.2.pom (3 KB at 1.6 KB/sec) | |
Downloading: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalker/1.4.2/beanstalker-1.4.2.pom | |
Downloaded: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalker/1.4.2/beanstalker-1.4.2.pom (13 KB at 33.1 KB/sec) | |
Downloading: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalk-maven-plugin/1.4.2/beanstalk-maven-plugin-1.4.2.jar | |
Downloaded: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalk-maven-plugin/1.4.2/beanstalk-maven-plugin-1.4.2.jar (194 KB at 208.3 KB/sec) | |
Downloading: https://repo.maven.apache.org/maven2/br/com/ingenieux/lambda-maven-plugin/1.4.2/lambda-maven-plugin-1.4.2.pom | |
Downloaded: https://repo.maven.apache.org/maven2/br/com/ingenieux/lambda-maven-plugin/1.4.2/lambda-maven-plugin-1.4.2.pom (2 KB at 3.3 KB/sec) | |
Downloading: https://repo.maven.apache.org/maven2/br/com/ingenieux/lambda-maven-plugin/1.4.2/lambda-maven-plugin-1.4.2.jar | |
Downloaded: https://repo.maven.apache.org/maven2/br/com/ingenieux/lambda-maven-plugin/1.4.2/lambda-maven-plugin-1.4.2.jar (21 KB at 17.2 KB/sec) | |
[INFO] | |
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ lambada-functions --- | |
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! | |
[INFO] skip non existing resourceDirectory /home/aldrin/projetos/sources/lambada-functions/src/main/resources | |
[INFO] | |
[INFO] --- maven-compiler-plugin:3.2:compile (default-compile) @ lambada-functions --- | |
[INFO] Nothing to compile - all classes are up to date | |
[INFO] | |
[INFO] --- lambada-maven-plugin:0.0.1-SNAPSHOT:generate (default) @ lambada-functions --- | |
[INFO] | |
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ lambada-functions --- | |
[INFO] Not copying test resources | |
[INFO] | |
[INFO] --- maven-compiler-plugin:3.2:testCompile (default-testCompile) @ lambada-functions --- | |
[INFO] Not compiling test sources | |
[INFO] | |
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ lambada-functions --- | |
[INFO] Tests are skipped. | |
[INFO] | |
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ lambada-functions --- | |
[INFO] Building jar: /home/aldrin/projetos/sources/lambada-functions/target/lambada-functions.jar | |
[INFO] | |
[INFO] --- maven-shade-plugin:2.3:shade (default) @ lambada-functions --- | |
[INFO] Including com.amazonaws:aws-lambda-java-core:jar:1.1.0 in the shaded jar. | |
[INFO] Including io.ingenieux.lambada:lambada-runtime:jar:0.0.1-SNAPSHOT in the shaded jar. | |
[INFO] Replacing original artifact with shaded artifact. | |
[INFO] Replacing /home/aldrin/projetos/sources/lambada-functions/target/lambada-functions.jar with /home/aldrin/projetos/sources/lambada-functions/target/lambada-functions-0.0.1-SNAPSHOT-shaded.jar | |
[INFO] | |
[INFO] --- maven-install-plugin:2.4:install (default-install) @ lambada-functions --- | |
[INFO] Skipping artifact installation | |
[INFO] | |
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ lambada-functions --- | |
[INFO] Skipping artifact deployment | |
[INFO] | |
[INFO] --- beanstalk-maven-plugin:1.4.2:upload-source-bundle (deploy) @ lambada-functions --- | |
Downloading: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalker-common/1.4.2/beanstalker-common-1.4.2.pom | |
Downloaded: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalker-common/1.4.2/beanstalker-common-1.4.2.pom (3 KB at 6.6 KB/sec) | |
Downloading: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalker-common/1.4.2/beanstalker-common-1.4.2.jar | |
Downloaded: https://repo.maven.apache.org/maven2/br/com/ingenieux/beanstalker-common/1.4.2/beanstalker-common-1.4.2.jar (20 KB at 60.7 KB/sec) | |
[INFO] Target Path: s3://ingenieux-images/apps/lambada-functions/lambada-functions-20151229193725.zip | |
[INFO] Uploading artifact file: /home/aldrin/projetos/sources/lambada-functions/target/lambada-functions.jar | |
[INFO] Artifact Uploaded | |
[INFO] SUCCESS | |
[INFO] { | |
[INFO] "contentMd5" : "0PHJfxpLmAVbZpGPDw6g+A==", | |
[INFO] "metadata" : { | |
[INFO] "userMetadata" : { }, | |
[INFO] "contentLength" : 0, | |
[INFO] "etag" : "d0f1c97f1a4b98055b66918f0f0ea0f8", | |
[INFO] "rawMetadata" : { | |
[INFO] "Content-Length" : 0, | |
[INFO] "ETag" : "d0f1c97f1a4b98055b66918f0f0ea0f8" | |
[INFO] }, | |
[INFO] "instanceLength" : 0 | |
[INFO] }, | |
[INFO] "etag" : "d0f1c97f1a4b98055b66918f0f0ea0f8" | |
[INFO] } | |
[INFO] | |
[INFO] --- lambda-maven-plugin:1.4.2:deploy-functions (deploy) @ lambada-functions --- | |
[INFO] Looking up IAM Role 'arn:aws:iam::*:role/lambda_basic_execution' | |
[INFO] Found Role: 'arn:aws:iam::235368163414:role/lambda_basic_execution' | |
[INFO] Loaded and replaced definitions from file '/home/aldrin/projetos/sources/lambada-functions/target/classes/META-INF/lambada/lambada-functions.json' | |
[INFO] Found 1 definitions: | |
[INFO] Merged into 1 definitions: | |
[INFO] Deploying Function: fn_say_hello (handler: br.com.ingenieux.lambada.example.LambadaFunctions::sayHello) | |
[INFO] SUCCESS | |
[INFO] { | |
[INFO] "fn_say_hello" : { | |
[INFO] "name" : "fn_say_hello", | |
[INFO] "description" : "", | |
[INFO] "memorySize" : 128, | |
[INFO] "role" : "arn:aws:iam::235368163414:role/lambda_basic_execution", | |
[INFO] "timeout" : 5, | |
[INFO] "handler" : "br.com.ingenieux.lambada.example.LambadaFunctions::sayHello" | |
[INFO] } | |
[INFO] } | |
[INFO] ------------------------------------------------------------------------ | |
[INFO] BUILD SUCCESS | |
[INFO] ------------------------------------------------------------------------ | |
[INFO] Total time: 13.715 s | |
[INFO] Finished at: 2015-12-29T14:37:38-05:00 | |
[INFO] Final Memory: 21M/216M | |
[INFO] ------------------------------------------------------------------------ | |
aldrin@aldrin-X555LD lambada-functions $ | |
``` |
package br.com.ingenieux.lambada.example; | |
import io.ingenieux.lambada.maven.ann.LambadaFunction; | |
import static java.lang.String.format; | |
public class LambadaFunctions { | |
@LambadaFunction(name="fn_say_hello") | |
public String sayHello(String whom) { | |
return format("Hola, %s", whom); | |
} | |
} |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>br.com.ingenieux.lambada</groupId> | |
<artifactId>lambada-functions</artifactId> | |
<version>0.0.1-SNAPSHOT</version> | |
<properties> | |
<lambada.version>0.0.1-SNAPSHOT</lambada.version> | |
</properties> | |
<build> | |
<finalName>${project.artifactId}</finalName> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-compiler-plugin</artifactId> | |
<version>3.2</version> | |
<configuration> | |
<source>1.8</source> | |
<target>1.8</target> | |
</configuration> | |
</plugin> | |
<plugin> | |
<groupId>io.ingenieux.lambada</groupId> | |
<artifactId>lambada-maven-plugin</artifactId> | |
<version>${lambada.version}</version> | |
<executions> | |
<execution> | |
<phase>process-classes</phase> | |
<goals> | |
<goal>generate</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
<dependencies> | |
<dependency> | |
<groupId>com.amazonaws</groupId> | |
<artifactId>aws-lambda-java-core</artifactId> | |
<version>1.1.0</version> | |
</dependency> | |
<dependency> | |
<groupId>io.ingenieux.lambada</groupId> | |
<artifactId>lambada-runtime</artifactId> | |
<version>${lambada.version}</version> | |
</dependency> | |
</dependencies> | |
<profiles> | |
<profile> | |
<id>deploy</id> | |
<properties> | |
<maven.deploy.skip>true</maven.deploy.skip> | |
<maven.install.skip>true</maven.install.skip> | |
<maven.test.skip>true</maven.test.skip> | |
<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> | |
<beanstalk.versionLabel>${maven.build.timestamp}</beanstalk.versionLabel> | |
<beanstalk.s3Bucket>ingenieux-images</beanstalk.s3Bucket> | |
<beanstalk.s3Key>apps/${project.artifactId}/${project.build.finalName}-${beanstalk.versionLabel}.zip | |
</beanstalk.s3Key> | |
<beanstalk.artifactFile>${project.build.directory}/${project.build.finalName}.jar | |
</beanstalk.artifactFile> | |
</properties> | |
<build> | |
<defaultGoal>deploy</defaultGoal> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-shade-plugin</artifactId> | |
<version>2.3</version> | |
<executions> | |
<execution> | |
<phase>package</phase> | |
<goals> | |
<goal>shade</goal> | |
</goals> | |
<configuration> | |
<createDependencyReducedPom>false</createDependencyReducedPom> | |
<filters> | |
<filter> | |
<artifact>*:*:*:*</artifact> | |
<excludes> | |
<exclude>*.RSA</exclude> | |
<exclude>*.DSA</exclude> | |
<exclude>*.SF</exclude> | |
</excludes> | |
</filter> | |
</filters> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>br.com.ingenieux</groupId> | |
<artifactId>beanstalk-maven-plugin</artifactId> | |
<version>1.4.2</version> | |
<executions> | |
<execution> | |
<id>deploy</id> | |
<phase>deploy</phase> | |
<goals> | |
<goal>upload-source-bundle</goal> | |
</goals> | |
</execution> | |
</executions> | |
<configuration> | |
<multipartUpload>false</multipartUpload> | |
</configuration> | |
</plugin> | |
<plugin> | |
<groupId>br.com.ingenieux</groupId> | |
<artifactId>lambda-maven-plugin</artifactId> | |
<version>1.4.2</version> | |
<executions> | |
<execution> | |
<id>deploy</id> | |
<phase>deploy</phase> | |
<goals> | |
<goal>deploy-functions</goal> | |
</goals> | |
</execution> | |
</executions> | |
<configuration> | |
<s3Url>s3://${beanstalk.s3Bucket}/${beanstalk.s3Key}</s3Url> | |
<definitionFile>${project.build.outputDirectory}/META-INF/lambada/lambada-functions.json | |
</definitionFile> | |
</configuration> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
</profiles> | |
</project> |