使用 CI/CD 在 Heroku 上部署 Anguilarjs 应用程序
Deploying an Anguilarjs app on Heroku using CI/CD
我根据典型的目录结构制作了一个小的 Angularjs,将源代码存储在所有 "src" 目录中并部署到 "dist" 目录中。所以我没有遇到像 github 页面中那样在本地服务器上部署代码的问题。
我已经构建了一个 CodeShip CI/CD 实例,它可以很好地运行测试并进行部署,但它在那里崩溃了。
代码正在部署到 heroku,但我找不到让它在 heroku 中运行的方法。
我已经制作了一个 Procfile:
web: node node_modules/gulp/bin/gulp build
web: node server.js
还有基本的servers.js
var express = require('express');
var app = express();
// I found somewhere that process.env.PORT lets the port be set by Heroku,
// but its not working
var port = process.env.PORT || 8080;
app.use(express.static(path.join(__dirname + '/dist')));
//app.use(express.static(process.env.PWD + '/dist')); //already tried this one
// home page route
app.get('/', function(req, res) {
res.render('index');
});
app.listen(port, function() {
console.log('App is running fine on port:' + port +' ++');
});
当然,我已经将 express 添加到我的节点包中。它实际上在我的本地主机上运行良好(Linux 和 Windows)
在Heroku日志上,没有太多信息,我怀疑我无法让express找到正确的路径,所以它崩溃了。
2017-03-29T13:58:27.459049+00:00 app[web.1]: at Module.runMain (module.js:605:10)
2017-03-29T13:58:27.554976+00:00 heroku[web.1]: State changed from starting to crashed
HEROKU
CODESHIP(使用节点 6.10.2)
要 运行 你的构建步骤,你可以像这样用 npm scripts
来完成:
"scripts": {
"start": "node server.js",
"test": "mocha",
"postinstall": "node node_modules/gulp/bin/gulp build"
}
那么你的Procfile
可以这么简单 -
web: npm start
就错误而言,很难说,因为我没有完整的错误可供查看。确保您的 server.js
文件位于正确的位置,并且您有一个 package.json
文件列出了所有依赖项。
我根据典型的目录结构制作了一个小的 Angularjs,将源代码存储在所有 "src" 目录中并部署到 "dist" 目录中。所以我没有遇到像 github 页面中那样在本地服务器上部署代码的问题。 我已经构建了一个 CodeShip CI/CD 实例,它可以很好地运行测试并进行部署,但它在那里崩溃了。
代码正在部署到 heroku,但我找不到让它在 heroku 中运行的方法。
我已经制作了一个 Procfile:
web: node node_modules/gulp/bin/gulp build
web: node server.js
还有基本的servers.js
var express = require('express');
var app = express();
// I found somewhere that process.env.PORT lets the port be set by Heroku,
// but its not working
var port = process.env.PORT || 8080;
app.use(express.static(path.join(__dirname + '/dist')));
//app.use(express.static(process.env.PWD + '/dist')); //already tried this one
// home page route
app.get('/', function(req, res) {
res.render('index');
});
app.listen(port, function() {
console.log('App is running fine on port:' + port +' ++');
});
当然,我已经将 express 添加到我的节点包中。它实际上在我的本地主机上运行良好(Linux 和 Windows)
在Heroku日志上,没有太多信息,我怀疑我无法让express找到正确的路径,所以它崩溃了。
2017-03-29T13:58:27.459049+00:00 app[web.1]: at Module.runMain (module.js:605:10)
2017-03-29T13:58:27.554976+00:00 heroku[web.1]: State changed from starting to crashed
HEROKU
CODESHIP(使用节点 6.10.2)
要 运行 你的构建步骤,你可以像这样用 npm scripts
来完成:
"scripts": {
"start": "node server.js",
"test": "mocha",
"postinstall": "node node_modules/gulp/bin/gulp build"
}
那么你的Procfile
可以这么简单 -
web: npm start
就错误而言,很难说,因为我没有完整的错误可供查看。确保您的 server.js
文件位于正确的位置,并且您有一个 package.json
文件列出了所有依赖项。