如何从本地目录构建和部署应用程序?

骇人的

我才刚刚开始探索OpenShift Online 3,看起来真的很棒。我正在尝试设置一个简单的HTTP服务器。这是我使用的步骤CLI

  1. oc登录<...>
  2. oc new-project <...>
  3. oc new-app。

我当前的工作文件夹包含两个文件package.jsonserver.js

Package.json

{
  "name": "test",
  "version": "0.0.1",
  "description": "Node.js app for OpenShift 3",
  "main": "server.js",
  "dependencies": {
    "express": "^4.13.4"
  },
  "engine": {
    "node": "*",
    "npm": "*"
  },
  "scripts": {
    "start": "node server.js"
  }
}

Server.js

const express = require('express')
const app = express()

const port = process.env.PORT || process.env.OPENSHIFT_NODEJS_PORT || 8080
const ip = process.env.IP   || process.env.OPENSHIFT_NODEJS_IP || '0.0.0.0'

app.get('/', function (req, res) {
  res.status(200).send({ message: 'OK' })
})

// error handling
app.use(function(err, req, res, next){
  console.error(err.stack)
  res.status(500).send('Something bad happened!')
})

app.listen(port, ip)
console.log('Server running on http://%s:%s', ip, port)

module.exports = app

这是控制台输出:

--> Creating resources ...
    imagestream "olmeo-openshift" created
    buildconfig "olmeo-openshift" created
    deploymentconfig "olmeo-openshift" created
    service "olmeo-openshift" created
--> Success
    Build scheduled, use 'oc logs -f bc/olmeo-openshift' to track its progress.
    Run 'oc status' to view your app.

构建完成后,Web控制台显示错误:

Environment: 
    DEV_MODE=false
    NODE_ENV=production
    DEBUG_PORT=5858
Launching via npm...
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm ERR! Linux 3.10.0-693.12.1.el7.x86_64
npm ERR! argv "/opt/rh/rh-nodejs6/root/usr/bin/node" "/opt/rh/rh-nodejs6/root/usr/bin/npm" "run" "-d" "start"
npm ERR! node v6.11.3
npm ERR! npm  v3.10.9
npm ERR! path /opt/app-root/src/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open

npm ERR! enoent ENOENT: no such file or directory, open '/opt/app-root/src/package.json'
npm ERR! enoent ENOENT: no such file or directory, open '/opt/app-root/src/package.json'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /opt/app-root/src/npm-debug.log

显然,package.json找不到。我想念什么?

格雷厄姆·邓普顿

如果您使用:

oc new-app .

在从远程托管的Git存储库中克隆的git工作区中,将建立构建以从托管的Git存储库中提取文件。这意味着,如果您进行本地更改,并且不将其添加/提交/推送到托管的Git存储库,则将永远不会使用它们。

如果要从本地目录工作而不使用托管的Git存储库,则需要使用二进制输入构建。为此,请首先运行:

oc new-build --binary --image-stream nodejs --name olmeo-openshift

然后运行以下命令开始构建:

oc start-build olmeo-openshift --from-dir=.

这将从本地目录上载文件。

构建第一个映像后,即可运行:

oc new-app olmeo-openshift

部署映像,并:

oc expose svc/olmeo-openshift

给它一个公共URL。

每次更改代码时,请再次运行:

oc start-build olmeo-openshift --from-dir=.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何构建和部署BPF BCC C ++应用程序?

如何从模板文件构建和部署应用程序?

如何从命令行构建和部署React-native应用程序?

如何使用“兑换”构建和部署Windows x64应用程序?

我如何使用 Ansible 在本地构建部署和服务 React 应用程序?

减少在Android MapView应用程序上的构建和部署时间

使用TFS 2015 Build构建和部署Web应用程序

使用ANT脚本将应用程序构建和部署到MobileFirst

Travis CI Scala Play 应用程序构建和部署优化

在没有 Visual Studio 的 nix 系统上构建和部署 Web 应用程序

在构建新的本地目录以在本地容纳应用程序之后,有没有人在 Heroku 上遇到新部署崩溃?

如何部署使用本地数据的闪亮应用程序

如何在某个目录中部署 Laravel 应用程序?

如何使用构建类或war文件将我的Spring MVC Web应用程序部署到Apache tomat目录中?

如何使用 GitLab 作为本地构建和部署工具?

如何找到 Heroku 应用程序的本地目录?

如何运行Next Js应用程序的构建(输出)目录?

Xamarin iOS:使用错误消息构建和部署应用程序 - 发生一个或多个错误

部署的apache + django应用程序访问项目目录外的本地文件

构建和部署与其他应用程序在一个解决方案中的 ASP.NET MVC 应用程序

如何在 Chromebook 上构建和运行 Java Swing 应用程序?

如何使用appimage为raspbian构建和安装电子应用程序

Swift 和 Xcode:如何构建和运行 iOS 应用程序的 GitHub 存储库?

我将如何为 iOS 应用程序构建和托管自己的后端?

如何在 docker 中使用 cargo 构建和运行我的 Actix 应用程序?

Azure管道可在单个解决方案中构建和发布Web应用程序和Windows服务(在本地)

如何使用git部署Web应用程序,而不必在每次部署时都放弃应用程序目录?

如何创建和访问共享应用程序组文档目录?

构建和引导我的RoR应用程序