我是CI / CD的全新产品,需要一些关于如何将小型Web应用程序部署到云计算机的指导。 我的Web应用程序是使用Webpack 2构build的。生成的文件通过Node Web服务器提供,并需要两个附加的Node Web服务器才能工作(后端API)。 所有三个Node web服务器都在同一个git仓库中,并且被相同的package.json文件覆盖。 每次我提交代码,都会触发Travis构build和testing代码。 当我的提交通过特拉维斯,我决定部署该应用程序时,我通过以下步骤 SSH到我的远程机器 停止我在屏幕上运行的所有三个NodeJS Web服务器 git pull最近的变化 npm install来安装应用程序 npm run build生成运行生成命令生成的文件服务 再次在屏幕上启动所有三个节点服务器 我想自动化这个过程,以便每个通过的提交被部署。 或者甚至更好,这样我就可以select在通过某个UI传递Travis之后部署哪个构build。 我知道从厨师到Docker有很多工具可以做到这一点。 我正在寻找一个相当简单的解决scheme,我愿意学习新事物。 我的云提供商目前是Linode,但我更喜欢云提供商无关紧要的解决scheme。 我真的试图find这样一个好的存在的问题,但是我很惊讶,我找不到一个。
我从Visual Studio 2015社区版创build了一个全新的ASP.NET 5项目。 我在这里检查代码到BitBucket的存储库中: https://bitbucket.org/admin_at_scanburapps/sandbox-repo 我在Azure上创build一个新的Web应用程序,并从此存储库安装部署。 Azure拉出代码,开始build设,并给我这个错误: > module.js:339 > throw err; > ^ > > Error: Cannot find module 'lodash' > at Function.Module._resolveFilename (module.js:337:15) > at Function.Module._load (module.js:287:25) > An error has occurred during web site deployment. > at Module.require (module.js:366:17) > at require (module.js:385:17) (请参阅下面的更多输出) 我已经完成了npm install和npm重复数据删除,并在node_modules中进行了检查。 我也validation了lodash的确在node_modules下find。 所以我很困惑为什么找不到lodash模块。 任何人都可以猜测问题是什么? 注意:完整的构build日志如下所示: > […]
我正在尝试设置一个xcode项目和机器人,将build立一个github库on commit nodejs应用程序on commit并在生成完成后重新启动服务器。 僵尸工具目前正在处理存储库更改,但无法正确构build。 我正在使用xcode external build tool project ,该external build tool project使用/bin/bash作为工具path,并将工作目录设置为本地存储库path。 after integration脚本after integration的bot是类似的, npm install –production npm run build npm run server:restart 我收到错误,如[npm|node] is not recognized 。 只是寻找一些清晰的东西,我可能会错过或可能会出错。
这是我想要为我的node.js应用程序的pipe道: 在开发机器上写代码 – > commit to github – > Travis的构build和testing – >成功时:部署到私有服务器 我正在寻找工具来完成最后一部分。 例如,一些工具,将通过特拉维斯通知,并将代码从github到我的私人服务器(并以这种方式部署应用程序)。
墨菲在一个小时前踢了我的$。 语境: 我最近join了一个新的雇主,产品在依赖方面相当落后, Angular 1.2.x , Angular-UI 0.12.0等等。 这是我工作过的第一个雇主,每天都在做生产等等。(以前我只在一个叫做大公司的公司工作,慢慢转身)。我最初的任务之一是升级依赖项,能够。 因此,今天早些时候,我们和一些开发者进行了一场关于为什么我们所有的bower依赖关系都被硬编码为特定版本的水冷谈话。 这两个思想stream派是: 硬编码版本显然提供了100%的安全性,因为版本不能dynamic跳转,但是缺点是如果有人不主动更新,我们会再次落后。 我认为,语义版本化给了我们某种forms的安全性(加上有多个分段环境),并且它应该足够好,比如说Angular设置为^1.5.9 。 从语义版本文档引用: 次要版本Y(xYz | x> 0)必须增加,如果新的,向后兼容的function引入到公共API。 如果任何公共APIfunction被标记为不赞成,它必须增加。 如果在私有代码中引入了实质性的新function或改进,它可能会增加。 它可能包含修补程序级别的更改。 小版本增加时,补丁版本必须重置为0。 问题: 今天早上我们部署到了舞台,一切似乎都很顺利,然后我们在一个小时前部署到了产品上, 问题是AngularJs从1.5.9变为1.6.0 。 我在迁移文档( migrate 1.5 – > 1.6 )中看到这样的说法: 您可能还会注意到,此版本附带了一个比平常更长的更改列表。 不要让这些让你灰心,因为其中大部分都很小 – 往往不会影响实际应用。 这些突破性的变化是必要的,以便: 题: 我的断开连接在哪里? …或者是语义版本的文档只是我一直以来的虚假安全感? 处理这些情况的人们如何呢? 在现实世界的解决scheme中,人们是否利用汽车依赖性升级(对不起,如果这对某些人来说是非常明显的),对于我来说,构build通过升级并打破生产的事实实际上更关心。 (我问的原因是因为对小增量更新的恐惧现在回来了,比以往任何时候都强,而且我不确定是否同意这一切……)
我正在使用react-starter-kit来开发我的web应用程序,并使用Gitlab作为我的远程git存储库。 我想configuration一个连续的部署,以便在每次向主服务器推送时,都会执行npm run deploy脚本。 从我的本地电脑执行npm run deploy构build节点应用程序并将其推送到远程的heroku git存储库。 它使用我的电脑本地凭据。 我已经configuration了gitlab runner(在.yml文件中)来执行相同的npm run deploy ,但是失败并显示Error: fatal: could not read Username for 'https://git.heroku.com': No such device or address 。 我需要find一种方法来validationgitlab亚军heroku。 我试图设置variablesHEROKU_API_KEY ,但它也没有工作。 我怎么能从我的gitlab亚军推到我的heroku git回购?
我对Azure和Angular2完全陌生。 目标 使用GitHub设置Azure连续部署。 问题 Azure正在提交存储库上的主分支。 所以这部分是可以的。 但是,由于构build错误,部署失败。 这里是部署细节: 这里是完整的日志: Command: "D:\home\site\deployments\tools\deploy.cmd" Handling .NET Web Application deployment. MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'. All packages listed in packages.config are already installed. D:\home\site\repository\LearnJS\LearnJS.Web\app\app.component.ts(1,41): error TS2307: Build: Cannot find module 'angular2/core'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] D:\home\site\repository\LearnJS\LearnJS.Web\app\app.component.ts(2,46): error TS2307: Build: Cannot find module 'angular2/router'. [D:\home\site\repository\LearnJS\LearnJS.Web\LearnJS.Web.csproj] D:\home\site\repository\LearnJS\LearnJS.Web\app\crisis-form.component.ts(1,25): error TS2307: […]
以下是我提出的唯一解决scheme(不知道它们是否合适): 服务器端更新: 版本每个客户端请求,并具有代理路由到适当的服务器版本。 Cient端更新: 通过websocket连接通知客户端,在X空闲分钟后重新注入脚本/样式标签,从而调用2个Ajax请求更新JS / CSS文件并刷新页面的HTML。 我不知道这是不是在应用程序的早期阶段的优先事项,我应该把整个应用程序下午在凌晨的“定期维护”。 对于search引擎优化的目的,首页的HTML是由服务器发送的单一的JS / CSS文件。