commit | ef550fb2a28f351c512ffa291b297e0277c5a8db | [log] [tgz] |
---|---|---|
author | Carlos Santana <csantanapr@apache.org> | Mon Apr 23 14:27:31 2018 -0400 |
committer | James Dubee <jwdubee@us.ibm.com> | Mon Apr 23 14:27:31 2018 -0400 |
tree | 3d7b9418476111239a0de78d900c1bc5971ba5f4 | |
parent | 904fd532a894f27b8e4f3ecdb83e6b63cdf01132 [diff] |
Deploy a master tag image (#37)
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.