标签: openshift

rhc setup给出错误`没有这样的文件dl/import`

我正在安装openhift客户端工具,如下所述:https://developers.openshift.com/en/getting-started-windows.html#client-tools.在"设置您的机器"一步,我收到错误:

rhc setup C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:在`require':无法加载这样的文件--dl/import(LoadError)

完整堆栈跟踪:

C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- dl/import (LoadError)
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/pageant.rb:1:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent/socket.rb:5:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent.rb:22:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/key_manager.rb:4:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:4:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh.rb:11:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in …
Run Code Online (Sandbox Code Playgroud)

ruby openshift

158
推荐指数
4
解决办法
4万
查看次数

在Spring Boot的application.properties中使用env变量

我们正在开发一个Spring Boot Web应用程序,我们使用的数据库是MySql ;

  • 我们的设置是我们首先在本地测试它(意味着我们需要在我们的PC上安装MySql);

  • 然后我们推向Bitbucket ;

  • Jenkins自动检测到对Bitbucket的新推送并对其进行构建(对于Jenkins mvn构建要通过,我们还需要在运行Jenkins的虚拟机上安装MySql).

  • 如果Jenkins构建了传递,我们将代码推送到OpenShift上的应用程序(使用Jenkins上的Openshift部署插件).

我们可能已经弄明白的问题是:

  • application.properties我们不能硬编码MySql信息.由于我们的项目将在3个不同的地方运行(本地,JenkinsOpenShift),我们需要使数据源字段动态化application.properties(我们知道有不同的方法,但我们现在正在研究这个解决方案).

    spring.datasource.url = 
    spring.datasource.username = 
    spring.datasource.password = 
    
    Run Code Online (Sandbox Code Playgroud)

我们提出的解决方案是在本地和Jenkins vm中创建系统环境变量(以与OpenShift命名的方式命名它们)并分别为它们分配正确的值:

export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost"
export OPENSHIFT_MYSQL_DB_PORT="3306"
export OPENSHIFT_MYSQL_DB_USERNAME="root"
export OPENSHIFT_MYSQL_DB_PASSWORD="123asd"
Run Code Online (Sandbox Code Playgroud)

我们做到了这一点并且有效.我们还检查Map<String, String> env = System.getenv();过环境变量可以变成java变量:

String password = env.get("OPENSHIFT_MYSQL_DB_PASSWORD");   
String userName = env.get("OPENSHIFT_MYSQL_DB_USERNAME");   
String sqlURL = env.get("OPENSHIFT_MYSQL_DB_HOST"); 
String sqlPort = env.get("OPENSHIFT_MYSQL_DB_PORT");
Run Code Online (Sandbox Code Playgroud)

现在唯一剩下的就是我们需要在我们中使用这些java变量application.properties,这就是我们遇到的问题.

在哪个文件夹,以及我们如何,需要分配password,userName, …

java mysql spring spring-mvc openshift

148
推荐指数
7
解决办法
21万
查看次数

Node.js是package.json的主要参数

我已经做了很多搜索.但是,仍然怀疑Node.js的package.json中的主要参数.

  1. 如何填写这个领域有帮助?以另一种方式询问,如果此字段显示,我可以以不同的方式启动模块吗?
  2. 我可以在主参数中填入多个脚本吗?如果是的话,他们会以两个线程开始吗?如果不是,我如何在模块中启动两个脚本并让它们并行运行?

我知道第二个问题很奇怪.这是因为我在OpenShift上托管了一个Node.js应用程序,但该应用程序由两个主要组件组成.一个是REST API,另一个是提供服务的通知.

我担心如果将REST API实现为单个线程,则通知传递过程将阻止REST API.但是,他们必须连接到相同的MongoDB盒式磁带.此外,如果可能的话,如果两个组件都可以在相同的档位上运行,我想保存一个档位.

欢迎任何建议.

javascript rest asynchronous node.js openshift

127
推荐指数
5
解决办法
7万
查看次数

我可以在openshift中使用现有的git repo吗?

是否有必要只在openshift上使用git repo?我已经有了bitbucket/github git repo并且更愿意只推到那里.我可以简单地插入它,以便openhift得到推断吗?

或者为了简化,我只在github推送,但是当我想部署时,我用openshift做一些事情?

我确实检查了这一点,但它让我困惑:它正在谈论合并退出和新的(openshift)git?

git openshift

102
推荐指数
4
解决办法
5万
查看次数

使用多个帐户的OpenShift rhc设置

我在Openshift平台上有两个帐户.如何设置我的电脑以便我可以管理它们rhc?我在命令行参数中找不到任何相关选项.

ssh installation ssh-keys openshift openshift-client-tools

94
推荐指数
3
解决办法
3万
查看次数

如何调试"ImagePullBackOff"?

突然之间,我无法部署一些以前可以部署的图像.我得到了以下pod状态:

[root@webdev2 origin]# oc get pods 
NAME                      READY     STATUS             RESTARTS   AGE 
arix-3-yjq9w              0/1       ImagePullBackOff   0          10m 
docker-registry-2-vqstm   1/1       Running            0          2d 
router-1-kvjxq            1/1       Running            0          2d 
Run Code Online (Sandbox Code Playgroud)

该应用程序不会启动.pod没有尝试运行容器.从事件页面,我有Back-off pulling image "172.30.84.25:5000/default/arix@sha256:d326.我已经确认我可以使用标签来拉取图像docker pull.

我还检查了最后一个容器的日志.由于某种原因它被关闭了.我认为pod应该至少尝试重新启动它.

我已经没有想法调试问题了.我还可以查看更多内容?

openshift openshift-origin kubernetes

75
推荐指数
1
解决办法
7万
查看次数

docker与openshift相比如何?

DockerOpenShift都是实现PaaS服务的框架.

他们如何在架构和功能方面进行比较?

openshift docker

66
推荐指数
3
解决办法
5万
查看次数

"#!/ bin/env"是什么意思(在node.js脚本的顶部)?

我找到了serval node.js项目,这些项目位于其顶部app.js(如此openshift程序中):

#!/bin/env node
Run Code Online (Sandbox Code Playgroud)

这是什么意思?这是如何运作的?它在哪里有用?

declare node.js openshift

55
推荐指数
2
解决办法
2万
查看次数

NodeJS中的HTTPS请求

我正在尝试编写一个NodeJS应用程序,它将使用https包中的请求方法与OpenShift REST API进行通信.这是代码:

var https = require('https');

var options = {
  host: 'openshift.redhat.com',
  port: 443,
  path: '/broker/rest/api',
  method: 'GET'
};

var req = https.request(options, function(res) {
  console.log(res.statusCode);
  res.on('data', function(d) {
    process.stdout.write(d);
  });
});
req.end();

req.on('error', function(e) {
  console.error(e);
});
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个错误(返回状态代码500).当我在命令行上使用curl做同样的事情时,

curl -k -X GET https://openshift.redhat.com/broker/rest/api
Run Code Online (Sandbox Code Playgroud)

我从服务器得到了正确的答复.

代码有什么问题吗?

rest https node.js openshift

53
推荐指数
1
解决办法
7万
查看次数

如何使用裸露的GoDaddy域与OpenShift托管?

期望的行为

我有一个GoDaddy域名,我正在使用OpenShift进行托管.

我想以下是真实的:

a)用户输入www.mysitename.com>用户看到mysitename.com

b)用户输入www.mysitename.com/about.html>用户看到mysitename.com/about.html

c)用户输入mysitename.commysitename.com/about.html他们也看到该网址.

d)总结一下,www前缀永远不会显示在网站的任何地方.

约束

OpenShift主机没有静态IP,因此无法调整A recordat GoDaddy.

OpenShift应用程序的格式是http://appname-username.rhcloud.com.

您可以使用以下命令在GoDaddy中设置cname:

www > appname-username.rhcloud.com

这意味着该网站可以访问,www.mydomain.com但不能访问mydomain.com.

建议的解决方案

关于该主题的几篇帖子提出了以下建议,但由于多种原因并不适合解决方案:

任何人都可以想到满足上述期望行为的另一种解决方案吗?

或者我是否需要更改为允许"裸体cname记录"的注册商?

相关文章

/sf/ask/1290172411/
使用Openshift的裸域
如何使用OpenShift为裸域添加别名?

编辑

这篇博文总结了这个场景:

http://blog.cloudflare.com/zone-apex-naked-domain-root-domain-cname-supp

我可以注册CloudFlare来解决问题吗?

我之前没有使用它,也不知道它是如何工作的.

domain-name openshift

39
推荐指数
3
解决办法
1万
查看次数