openshift에서 데모 앱 호스팅
11548 단어 kubernetesExpressopenshiftNode.js
openshift 을 사용하여 작은 웹 앱을 만들 수있는 기회가 있으며 그 때의 메모를 소개합니다.
무료로 서버를 만들고 가볍게 데모를 할 때 등에 편리합니다.
openshift란?
Openshift는 redhat이 배포하는 클라우드 서버 서비스입니다.
(Google이나 AWS와 같은 느낌이군요)
사용해 본 소감은 다음과 같습니다.
Kubernetes
사랑을 느낀다 Openshift 문서은 풍부하지만 처음 온 사람들에게는 힘들어
실시한 것
이하 실시한 것을 기재합니다.
이번에는 데모 페이지를 공개하고 싶었기 때문에 · ·
최종 목표는 정적 파일(html/image/css/js)을 전달하는 서버를 설정하기 전까지입니다.
(··하지만, db등도 사용할 수 있으므로, 간단한 어플리케이션은, 무료로 만들 수 버리는 기능이 갖추어져 있습니다.)
sign up
우선은 등록으로부터입니다.
여기 에서 등록할 수 있습니다.
신용카드 등록이 필요 없습니다.
※ 1 project 무료로, 72시간마다 18시간 sleep하는 것 같기 때문에, 상용 이용은 거의 불가능합니다.
프로젝트 만들기
웹 콘솔이 열리면 모든 GUI로 프로젝트를 만들 수 있습니다.
프로젝트 개요를 입력합니다.
자바스크립트를 선택합니다.
Node.js v6을 선택합니다.
배포하려는 Github의 리포지토리를 입력합니다.
private repository OK입니다 →이 경우 github 저장소에 배포 키를 등록하고 ssh의 private key를 openshift 프로젝트에 등록해야합니다.
또한 github에 webhook을 등록할 수도 있고, 브랜치를 push한 것만으로, 빌드~배포가 자동화할 수 있는 것도 매력이었습니다.
이것만으로 움직입니다. 상당히 대단합니다.
다만, 동작 원리를 알 때까지 상당한 시간을 사용했습니다. Document를 좀 더 알기 쉽게 해 주었으면 합니다. .
이하, 나 나름의 이해입니다.
npm install
이후 프로젝트 루트 npm start
즉
package.json
에 start script
그렇다면 마음대로 image가 만들어진다 ← 이것을 알 때까지 사고팔고했습니다. 소스 코드 업
다음과 같이 요점을 잡고
scripts.start
를 기술해, server.js
를 부르도록(듯이) 했습니다.{
"name": "kumanote-test",
"version": "1.0.0",
"description": "",
"author": "kumanote,LLC.",
"main": "server.js",
"private": true,
"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"lint": "eslint --ext .js,.vue src",
"test": "IP=0.0.0.0 PORT=3030 mocha --timeout 5000 tests/*_test.js",
"start": "node server.js"
},
"dependencies": {
"chai": "^3.5.0",
"chai-http": "^2.0.1",
"mocha": "^2.4.5",
"express": "^4.13.4"
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
dist
아래에 게시할 파일을 배치했습니다.또,
port
이나 ip
는 process.env.OPENSHIFT_NODEJS_PORT
이나 process.env.OPENSHIFT_NODEJS_IP
의 지정이 필요합니다.var express = require('express'),
app = express();
var port = process.env.PORT || process.env.OPENSHIFT_NODEJS_PORT || 8080,
ip = process.env.IP || process.env.OPENSHIFT_NODEJS_IP || '0.0.0.0';
app.use(express.static(__dirname + '/dist'));
// 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;
이상이 됩니다.
Reference
이 문제에 관하여(openshift에서 데모 앱 호스팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KumanoT/items/e8aaf9fb6005b2d3bedc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)