OpenShift:不能在wildfly上部署二进制应用程序



我做了什么?
应用程序创建

rhc app create map https://cartreflect-claytondev.rhcloud.com/reflect?github=openshift-cartridges/openshift-wildfly-cartridge  

配置为二进制部署

 rhc app configure -a <your application's name> --deployment-type binary  

Then I do

mkdir binary-deployment && cd binary-deployment/ && mkdir -p build-dependencies/.m2 repo/deployments dependencies/jbosseap/deployments  

复制war文件

cp ~/code/IdeaProjects/others/tweetstream/target/tweetstream.war repo/deployments  

create tar.gz

tar -zcvf tweetstream-archive.tar.gz binary-deployment  

可以看作

drwxr-xr-x   5 harith  YDomain Users      170 Jul 20 18:26 binary-deployment
-rw-r--r--   1 harith  YDomain Users  6124729 Jul 20 18:27 tweetstream-archive.tar.gz  

现在当我部署它时,我看到

Deployment of file '/Users/harith/Downloads/tmp/tweetstream-archive.tar.gz' in progress for application map ...
Starting deploy for binary artifact
Stopping gear
Stopping wildfly cart
Creating new deployment directory
Preparing deployment
Preparing build for deployment
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `LIBARCHIVE.creationtime'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.ino'
/bin/tar: Ignoring unknown extended header keyword `SCHILY.nlink'
Deployment id is b7d53465
Distributing deployment
Distribution status: success
Activating deployment
Deploying WildFly
Starting wildfly cart
Timed out waiting for http listening port
Activation status: failure
Activation failed for the following gears:
undefined method `values' for nil:NilClass
Error deploying local file. You can try to deploy manually with:
ssh -t 53cc68dfe0b8cd921f000035@map-tweetstream.rhcloud.com 'oo-binary-deploy'
SSH command finished with exit status = 255

我做错了什么?

您的tweetstream-archive.tar.gz的布局与OpenShift部署存档的布局不匹配。对于WildFly,正确的布局应该是:

build_dependencies/
dependencies/
    jbosseap/
        deployments/
            tweetstream.war 
repo/
    .openshift/  # optional

即WAR文件必须在目录dependencies/jbosseap/deployments中,而binary-deployment目录不能是归档文件的一部分。参见:https://www.openshift.com/kb/kb-e1088-how-to-deploy-pre-compiled-java-applications-war-and-ear-files-onto-your-openshift-gear

最新更新