Tag: git

为什么Git会自动忽略大多数节点文件?

我是Node.js和NPM的新手,我正在写一个网站并在Git上添加它(这是公开的,但仅仅是因为我不想为私人主机付费)。 当我将文件推送到Github时,Git会自动忽略与Node相关的每个文件,而我无法弄清楚为什么。 具体来说,它似乎忽略了所有node_modules文件夹, Gruntfile.js es和package.json 。 这是因为Git还是Node,还是我的一个虚拟移动? 当我做git add -A , git add . 或git add -u ,所有这些应该包括所有添加和删除的文件(我认为),然后使用git commit或git commit -a我得到这样的东西: $ git commit -m "hopefully added all files" On branch dev Your branch is up-to-date with 'origin/dev'. Untracked files: .jshintrc app/ libs/Gruntfile.js libs/node_modules/.bin/_mocha libs/node_modules/.bin/_mocha.cmd libs/node_modules/.bin/mocha etc. nothing added to commit but untracked files present […]

NodeJS生产部署最佳实践

我正在寻找以一致和及时的方式将一些Web服务部署到生产环境中的方法。 我目前正在实施一个部署pipe道,该pipe道将以一个特定版本的软件的手动部署操作结束到由Ansible提供的许多虚拟机。 这个想法是使用版本Aconfigurationx个实例,同时已经有y个运行版本B的实例。然后映射并轻拂stream量。 同样的机制应该允许我使用我已经创build的映像在一个集合中扩展新的vms。 我已经考虑了以下选项,但是想知道是否有我忽略的东西: TGZ CI环境将从已通过unit testing和集成testing的项目中构build一个tarball。 可选的是,将会捆绑(取消在生产计算机上运行npm install并依赖到公共或专用npm存储库的networking连接)的需求。 我的主要问题是依赖于系统库的任何依赖关系将build立在不同的机器上(尽pipe是相同的图像)。 我不喜欢这个。 NPM CI环境将发布到私有NPM存储库,并且在configuration之后,Ansible部署脚本将检出特定的版本。 当您想要部署时,这又会受到对外部服务的依赖。 我不喜欢这个。 混帐 任何依赖于系统的模块都将作为供应的一部分进行全局安装,并将所有其他依赖项都检入到资源库中。 这使我能够灵活地进行差异化部署,只需推动增量,应用程序守护进程几乎可以立即由进程pipe理器自动重新启动。 依赖关系然后被绝对locking。 这意味着,除非缩放,否则不需要旋转新的虚拟机。 部署可以直接推送到所有活动的实例。

是否可以在`git clone`的仓库以外下载一个大文件?

我正在开发一个Cordova插件,它依赖于一个大的二进制文件(一个自定义的ios框架),可以大于300MB。 这太大了检查到我们的git仓库,我不认为这将是正确的解决scheme。 但是,当插件的用户首先通过Cordova命令行安装时,我希望二进制文件在那里: cordova plugin install https://path.to.the.plugin.on.github cordova将自动克隆git仓库。 我想知道的是如何自动从另一个来源如S3下载二进制文件,并将其放置在正确的位置? 这不可能吗?

使用依赖性pipe理2+ nodejs包的开发

我正在开发2个node.js包,每个包都在自己的git仓库中进行pipe理。 包B依赖于包A ,所以我的本地目录结构如下所示: A1/ B/ node_modules/ A2/ 如果我对A1的本地代码进行更改,我想先用B对其进行testing,然后再推送到公共存储库。 我怎样才能做到这一点? 在当前状态下, B有自己的本地副本( A2 ),所以它引用了不同的版本。 B是公开包,所以我想避免直接修改B的源代码到引用A1 。 一个可能的解决scheme是有2个本地副本B : B1是释放的公共版本,它有自己的本地依赖于A2 ,而B2是我自己的私人版本,使用类似于require('./../A1') 。 A1/ B1/ node_modules/ A2/ B2/ 这看起来很丑陋(并且会迫使我保持B两份),而且我想知道是否有推荐的方法来处理这种情况? 谢谢。

鲍尔没有从bower.json安装

我被困在公司的防火墙/代理地狱…我试图从我的bower.json文件安装我的依赖关系,但是打到这个错误: bower jquery#~2.1.1 ECMDERR Failed to execute "git ls-remote –tags –heads https://github.com/jquery/jquery.git", exit code of #128 Additional error details: fatal: unable to access 'https://github.com/jquery/jquery.git/': Failed connect to github.com:443; No error 我已经谷歌这一点,并find了很多答案,并尝试以下,但似乎没有解决我的问题。 我已经设置了我的gitconfiguration如下: url.http://.insteadof=git:// url.https://.insteadof=git:// 我使用CNTLM来pipe理我的代理凭证,所以我的代理设置如下所示: http.proxy=http://127.0.0.1:53128/ https.proxy=http://127.0.0.1:53128/ 以下在我的NPMconfiguration: http_proxy = "http://127.0.0.1:53128/" https-proxy = "http://127.0.0.1:53128/" https_proxy = "http://127.0.0.1:53128" proxy = "http://127.0.0.1:53128/" registry = "http://registry.npmjs.org/" strict-ssl = […]

Heroku节点应用程序部署失败

从今天的01-jan-2015突然到Herkuku,部署失败 + git push git@ec2-54-187-2-82.us-west-2.compute.amazonaws.com:sky-tickets-dev/skytickets-front.git stage Everything up-to-date + git push -f git@heroku.com:skytickets-stage.git stage:master Fetching repository, done. —–> Fetching custom git buildpack… done —–> Multipack app detected =====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git =====> Detected Framework: Node.js Node engine: 0.10.21 Npm engine: 1.2.x Start mechanism: Procfile node_modules source: prebuilt node_modules cached: true NPM_CONFIG_PRODUCTION=true NODE_MODULES_CACHE=true PRO TIP: Avoid […]

在服务器和Git Repo上使用应用程序密钥时的最佳实践

在服务器上使用应用程序密钥(如Twitter API密钥或Parse.com密钥)的最佳做法是什么? 我们有一些NodeJS代码需要部署到一个云端服务器,它将访问Twitter和Parse.com API。 将config.js模块中的密钥推送到Git仓库是否安全,然后在服务器上克隆该仓库(或者我只是偏执狂)?

一个git仓库中的多个模块; 只有一个模块需要部署到Heroku

我有一个项目,目前有2个npm模块。 一个模块将在Heroku上运行,而另一个模块将运行在客户端上。 这两个模块都是用Node编写的。 现在,他们在不同的回购协议,但我想把他们在同一个回购。 他们是彼此独立的,但devise为彼此交互,所以我想他们在同一个回购,因为他们是同一个项目的组成部分。 问题是Heroku推动回购中gitignore文件不会忽略的所有内容,但是我不希望客户端模块只能放在服务器上。 有没有办法告诉Heroku,我只想要一个npm模块部署,而不是其他? 也许与Git子模块或其他方式?

你应该在部署Web应用程序时重新创build容器吗?

我试图找出最佳做法是否会规定,当部署我的Web应用程序的新版本(nodejs运行在自己的容器中)时,我应该: 做一个从容器内的git pull并更新“到位”; 要么 用新的代码创build一个新的容器,并执行两个docker容器的热插拔 我可能会错过一些技术细节,因为我对容器的想法很陌生。

在运行Yeoman生成器时出错

我正在遵循mean.js的教程,而运行命令yo meanjs我有以下错误: 错误:错误:命令失败:C:\ Windows \ system32 \ cmd.exe / s / c“git –version”'git'n?o? 不被识别为内部或外部命令,可操作程序或batch file。 愿有人向我解释为什么我得到这个? 节点 – 版本 v4.3.1 哟 – 翻译 1.7.0 npm – 版本 3.7.5