Tag: 部署

如何指定maven的分发pipe理组织范围?

我想弄清楚如何组织许多(大约50多个)maven2项目,以便他们可以部署到一个中央连接库。 当使用mvn deploy目标时,需要像这样在distributionManagement标签中指定目标: <distributionManagement> <repository> <id>nexus-site</id> <url>http://central_nexus/server</url> </repository> </distributionManagement> 现在,我不希望每一个pom.xml(50+)都包含这个块。 我的第一虽然将是settings.xml文件,但似乎不可能(在devise上)在那里定义它。 所以,第一个问题是,为什么是这样呢? 如果可能的话,我可以在maven2发行版中的settings.xml中指定它,它可以分发给所有的开发者。 我find的唯一可能的解决scheme是创build一个组织范围的master-pom项目,它包含这些设置,并通过<parent>标签使所有其他的pom.xml依赖于这个master-pom。 但是这在多模块构build中看起来有些奇怪: – master configuration POM (pm) – Project 1 parent pom (p1 with module 1 and module 2 as modules) – Project 1 module pom (with pm as parent) – Project 2 module pom (with pm as parent) 通常我读的所有文档中,模块poms应该使用父pom,而不是一些不同的。 但是在阅读了关于inheritance与聚合的maven网站之后,写道这确实是可能的。 我发现的一个问题是在maven网站的一代,这似乎有这个设置的问题(模块没有得到正确的链接,如果他们没有直接的回参考) […]

在使用Phusion Passenger和Rails时,初始服务器启动速度缓慢

为了跳上Phusion Passenger的旅行车,我们为一个小型的Rails应用程序设置了一个登台服务器来testing事情。 到目前为止它已经非常好用了,它使安装/configuration和部署应用程序变得轻而易举。 问题是我们正在使用的网站不会经常碰到,它似乎closures在后台的服务器。 这意味着当有人进入网站时,他们有一个很长的等待,直到启动一个新的服务器来处理请求。 我们已经通读了文档,尝试了很多不同的设置(智能/智能lv2模式,passengeridletime等),仍然没有find一个真正的解决scheme。 在searchGoogle结果之后,我们无法find有用的信息。 目前,我们有一个cron作业,每隔一段时间发出一个请求,以保持服务器的运行。 是否有其他人遇到这个问题,你有什么build议修复?

在Heroku上登台实例

我希望能够推送代码到dev.myapp.com进行testing,然后到www.myapp.com进行生产使用。 Heroku有可能吗?

已存在相同名称的configuration

我有一个包含10个以上项目的解决scheme(VS2010 SP1)。 我在解决scheme中定义了以下configuration: debugging debugging-QA 发布-UAT 发布生产 这使我可以轻松地为每个部署场景设置特定的设置。 但是,由于某种原因,我无法按照我的意愿设置事物。 请看这个屏幕截图: 注意突出显示的项目/configuration。 我无法为这些项目创build“Debug-QA”configuration(通过在该特定项目的单元格中select<New> )。 当我尝试向DataUtility项目添加一个新的“Debug-QA”configuration时,例如,Visual Studio对我说: 由于已经存在相同名称的解决schemeconfiguration,因此无法创build此configuration。 我知道它! 我正在尝试将configuration添加到项目中! 我在这里错过了什么? 我希望所有的项目都有5个configuration。 在尝试匹配(创build)平台时(例如,向DataUtility项目添加“任何CPU”平台),我遇到同样的问题。

提交到Subversion后,“无法更新项目的依赖关系”

我在.NET中有一个安装项目。 当我保存项目和其他项目颠覆,安装项目不再编译。 我收到错误“无法更新项目的依赖关系”。

如何在Windows上使用深度node_modules结构部署Node.js应用程序?

我遇到了一个奇怪的问题 – 显然有些Node.js模块具有如此深的文件夹层次结构 ,Windows复制命令(或PowerShell的Copy-Item就是我们实际使用的)在path上遇到臭名昭着的“path too long”错误超过250个字符长。 例如,这是一个Node模块可以创build的文件夹层次结构: node_modules\nodemailer\node_modules\simplesmtp\node_modules\ xoauth2\node_modules\request\node_modules\form-data\node_modules\ combined-stream\node_modules\delayed-stream\… 这看起来很疯狂,但是对于Node模块却是一个现实。 我们需要在部署过程中使用复制粘贴(我们没有使用像Heroku这样的“聪明的”目标平台,其中Git部署将成为一个选项),这是Windows的严重限制。 是不是有一个npm命令或什么东西,可以压缩node_modules文件夹,或者只包括运行时实际需要的东西? (节点模块通常包含test文件夹等,我们不需要部署。)任何其他的想法如何解决它? 不幸的是,不使用Windows是一种select:)

在生产Windows服务器上安装.NET的哪个版本有哪些安全的方法?

这个问题不像编程相关,因为它与部署有关。 我发现自己和我公司的团队进行了很多交谈,他们的任务是维护我们的生产Windows服务器并在其上部署我们的代码。 出于法律和合规的原因,我没有直接的可见性,也没有对服务器的任何控制,所以我唯一可以判断哪个版本的.NET被安装在这些服务器上的方法是通过我给这个组的方向。 到目前为止,我所能想到的所有方法都可以告诉你安装了哪个版本(检查与1.1或2.0相匹配的pipe理工具,检查“添加/删除程序”列表中的条目,检查是否存在目录下的c:\ Windows \ Microsoft.NET)是有缺陷的(我已经看到至less有一台机器有2.0,但在pipe理工具2.0条目 – 该方法告诉你任何关于3.0+,“添加/删除程序”列表可能与现实不同步,而目录的存在并不一定意味着什么)。 鉴于我通常需要知道这些事情是提前到位(发现“哎呀,这个没有你需要的所有版本和服务包”在短期维护窗口中并不能很好地工作),我必须因为我无法直接访问服务器,请检查“通过代理服务器”,在生产Windows服务器上安装.NET的哪个版本的安全方法是什么? 最好是使用框架安装的一些固有的方法,因为它会更快,而且不需要某种加载工具,而且如果框架没有正确安装,但仍然有文件,这肯定会失败。 ,有一个目录和gacutil.exe是在那里,但该框架的版本是不是真的“安装”) 编辑:缺乏一个好的万无一失内在的方式来做到这一点内置到框架(S),没有人知道一个好的,轻量级的,没有安装所需的程序,可以find这个? 我可以想象有人可以很容易地写一个,但如果已经存在,那会更好。

使用Composer的开发/生产开关时如何正确部署?

Composer可以select仅在开发时加载多个依赖项,因此这些工具不会在生产环境中(在活动服务器上)安装。 这在理论上是非常方便的,只有在testing,假数据工具,debugging器等开发中才有意义的脚本。 要走的路是在开发中添加一个额外的require-dev块和你需要的工具: "require-dev": { "codeception/codeception": "1.6.0.3" } 然后(理论上)通过加载这些依赖关系 composer install –dev 问题和问题: Composer已经在2013年大幅改变了install和update的行为,现在默认安装require-dev -dependencies(!),随便用require-dev块创build一个composer.json并执行一个composer install来重现。 作为最受欢迎的部署方式是推动composer php。 锁 (保存你当前的composer php设置),然后在生产服务器上执行composer install ,这也将安装开发的东西。 什么是正确的方式来部署这个没有安装-dev依赖关系? 注意:我试图在这里创build一个规范的Q / A来澄清怪异的Composer部署。 随意编辑这个问题。

如何将您的ASP.NET应用程序部署到活服务器?

我正在寻找不同的技术/工具来部署一个ASP.NET Web应用程序项目( 不 ASP.NET网站)到生产? 我对持续集成构build服务器在某个位置丢弃二进制文件和第一个用户请求到达这些二进制文件的时间之间发生的工作stream程特别感兴趣。 你正在使用一些特定的工具或只是XCOPY? 应用程序如何打包(ZIP,MSI,…)? 首次部署应用程序时,如何设置应用程序池和虚拟目录(是否使用手动或使用某种工具创build它们)? 当静态资源发生变化(CSS,JS或者图像文件)时,你重新部署整个应用程序还是仅仅修改了资源? 如何处理程序集/ ASPX页面更改? 你跟踪给定应用程序的所有部署版本,万一出现问题,你有程序恢复到以前已知的工作状态的应用程序? 随意完成以前的列表。 以下是我们用来部署ASP.NET应用程序的方法: 我们将Web部署项目添加到解决scheme,并将其设置为构buildASP.NET Web应用程序 我们将一个安装项目( 不是 Web安装项目)添加到解决scheme,并将其设置为Web部署项目的输出 我们添加一个自定义安装操作,并在OnInstall事件中运行一个自定义构build的.NET程序集,该程序集使用System.DirectoryServices.DirectoryEntry在IIS中创build应用程序池和虚拟目录(此任务仅在部署应用程序时首次执行) 。 我们支持IIS中的多个网站,虚拟目录的身份validation以及设置应用程序池的身份。 我们在TFS中添加一个自定义任务来构build安装项目(TFS不支持安装项目,所以我们不得不使用devenv.exe来构buildMSI) MSI安装在实时服务器上(如果有先前版本的MSI,它首先被卸载)

如何用gulprecursion复制目录?

我正在尝试从一个工作目录到一个服务器(同一台机器)的项目。 使用下面的代码: gulp.src([ 'index.php', 'css/**', 'js/**', 'src/**', ]) .pipe(gulp.dest('/var/www/')); 我希望看到所有的文件复制。 但是,它会使目录结构扁平化 – 所有的目录都被复制,但是每个文件都放在根目录/var/www Gulp似乎是一个很好的构build工具,但是复制项目应该是一个简单的过程呢?