commit | ba04449eb39e7ccc8ad5a6572ee6bb219306ec4a | [log] [tgz] |
---|---|---|
author | Chetan Mehrotra <chetanm@apache.org> | Tue Feb 27 23:07:51 2018 +0530 |
committer | Carlos Santana <csantana23@gmail.com> | Tue Feb 27 12:37:51 2018 -0500 |
tree | 7dc9b5a5510f6279bf19a2ef252affa6629c1656 | |
parent | 64972064bb7cf8a5e917be339a30c78a25a939ad [diff] |
Switch to Maven based dependency (#11)
To use as a docker action
wsk action update myAction myAction.jar --docker openwhisk/java8action:1.0.0
This works on any deployment of Apache OpenWhisk
To use as a kind action
wsk action update myAction myAction.jar --kind java:8
./gradlew core:javaAction:distDocker
This will produce the image whisk/java8action
Build and Push image
docker login ./gradlew core:javaAction:distDocker -PdockerImagePrefix=$prefix-user -PdockerRegistry=docker.io
Deploy OpenWhisk using ansible environment that contains the kind java:8
Assuming you have OpenWhisk already deploy localy and OPENWHISK_HOME
pointing to root directory of OpenWhisk core repository.
Set ROOTDIR
to the root directory of this repository.
Redeploy OpenWhisk
cd $OPENWHISK_HOME/ansible ANSIBLE_CMD="ansible-playbook -i ${ROOTDIR}/ansible/environments/local" $ANSIBLE_CMD setup.yml $ANSIBLE_CMD couchdb.yml $ANSIBLE_CMD initdb.yml $ANSIBLE_CMD wipe.yml $ANSIBLE_CMD openwhisk.yml
Or you can use wskdev
and create a soft link to the target ansible environment, for example:
ln -s ${ROOTDIR}/ansible/environments/local ${OPENWHISK_HOME}/ansible/environments/local-java wskdev fresh -t local-java
Install dependencies from the root directory on $OPENWHISK_HOME repository
./gradlew :common:scala:install :core:controller:install :core:invoker:install :tests:install
Using gradle for the ActionContainer tests you need to use a proxy if running on Mac, if Linux then don't use proxy options You can pass the flags -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128
directly in gradle command. Or save in your $HOME/.gradle/gradle.properties
systemProp.http.proxyHost=localhost systemProp.http.proxyPort=3128
Using gradle to run all tests
./gradlew :tests:test
Using gradle to run some tests
./gradlew :tests:test --tests *ActionContainerTests*
Using IntelliJ:
-Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128
To use as docker action push to your own dockerhub account
docker tag whisk/java8action $user_prefix/java8action docker push $user_prefix/java8action
Then create the action using your the image from dockerhub
wsk action update myAction myAction.jar --docker $user_prefix/java8action
The $user_prefix
is usually your dockerhub user id.