我是一个贸易程序员,“服务器pipe理员”由公司的必要性。 我们正在倾倒旧的痛苦的“通过FTP上传的更新站点”的部署方式。 让web服务器将最新的代码库从版本控制检查到一个文件夹中,并且使用“current”符号链接指向最新的签出(通过更改符号链接可以轻松地回到旧版本)似乎是我们想要的方式走。 但是我有一个问题:处理用户上传的内容的最佳做法是什么? 这东西不是版本控制。 我有几个想法来处理这个问题,但是聪明的,被接受的做法是什么?
我正在寻找一种简单的方法,通过基于Web的界面与其他人共享文件/文件。 要求如下: 在Linux上运行 基于networking的下载/上传 版本 基本授权(用户/组) 自由 最终用户可见的界面应该尽可能简单,我不想混淆非技术用户。
我最近做了一份新工作,其中一个方面就是维护该组织的Umbraco网站。 该网站不受源代码控制,也没有testing环境。 对没有备份的生产系统进行了更改。 我的第一步是使用Mercurial进行源代码控制,这样我就可以快速退出破坏事物的变化。 我通过创build本地文件夹,将网页数据复制到其中,并运行hg commit来完成此任务。 我想使用Robocopy / mir选项来select删除以及更改和添加。 我的问题是/ mir选项删除它在源文件中找不到的每个文件夹,而我的.hg文件夹不在源文件中。 除了在robocopy执行之前将其从目标文件夹中复制出来以外,是否有任何方法可以将.hg文件夹从删除中排除? 我看到了Robocopy的排除function的几个引用,但它们似乎只适用于源文件夹,而不适用于文件夹。 networking服务器和本地计算机都是Windows机器,我也没有pipe理权限。
我不知道如何最好地问这个问题。 几年来,我发展到一个angular落,需要弄清楚一些事情。 到目前为止,我几乎可以肯定地没有遵循最佳实践,但是你去了。 我在我自己的Linux(Ubuntu)服务器上制作和托pipeDjango网站。 我用Bazaarpipe理他们的版本控制,并通过SSH + BZR上传。 他们都进入了一个名为/websites/富有想象力的父目录。 生产副本只是主BZR分支(不是出口)。 我不运行任何types的FTP服务器,只是SSH。 我的工作stream程是编辑网站的本地副本,进行更改。 因为它们都是绑定分支,所以它会自动将其提交到服务器,并有一个钩子,然后运行一个更新,从而决定是否需要重新加载Django站点。 我刚写了一些东西,所以他们为我工作。 所有网站的文件都属于我的用户帐户oli 。 目前所有的网站都在该帐户下运行 。 有时客户想访问他们的网站,这是公平的,但我不确定在目前的结构下是否可以这样做。 我想事情需要改变,以便让我实现以下目标: 我可以为客户创build一个新的用户帐户,以便他们可以login并使用他们的网站(以及他们的网站)。 我相信我的客户,但是我的其他客户不应该被强迫他们互相信任。 我仍然可以在所有网站上工作,就像我自己的帐户一样,理想情况下在一个地方,但如果在服务器上,他们根据用户分割,我会生存。 如果可能的话,强迫用户通过BZR,这样他们就不会把愚蠢的生产分支搞糊涂了,而这个分支不容易被回滚。 你知道这是如何工作的:如果我给客户端访问和“神秘”的东西停止工作,这是我的错,不pipe发生了什么。 我需要能够跟踪发生了什么,但是类似的客户端需要能够在没有我的交互的情况下进行更改(关守VCS模型不适用于我)。 所以假设我可以做任何事情来改变我目前的设置, 这样做的最好方法是什么? 我目前的想法是: 安装一个简单的FTP(等)服务器作为oli运行,以保留任何权限,并试图强制他们使用BZR,否则需要同步更新。 如果你认为这是可行的,是否有一个FTP的安全等同于系统认为是一个用户,但类似的东西,我可以任意限制某些目录(例如用户客户端 – 一个只能查看网站的子目录)。 完全摇动,使用不同的SSHlogin,保持客户的$HOME dirs网站。 如果得到您的投票,我最好的办法是阻止他们做任何事情,但访问他们的文件? 有没有一个很好的组合来限制一个chroot机制的ForceCommand internal-sftp ? 但是,我从坏习惯中学会了坏习惯。 你会怎么做?
目前我们正在使用Puppet(在SVN中有清单和相关文件)来pipe理我们的* nix主机的configuration。 不过,我碰到了一个令人困惑的问题。 我们的许多主机都具有特定于主机的脚本 – cron作业,数据挖掘脚本,dynamic生成configuration文件的脚本等。我正在寻找一种方法来pipe理这些脚本,特别是对它们进行版本化,并允许一个相对简单的恢复解决schemeif主机重build,而不改变现有的布局。 我似乎无法find对我们的环境“有效”的解决scheme。 我们在文件系统的任意位置都有脚本。 特别是考虑到这些应用程序中的某些应用程序的年龄,移动位置不是一种select 大多数开发人员都有一个就地编辑工作stream程。 这是不可能改变的。 SVN没有解引用符号链接的方法,所以我不能只创build一个链接到脚本和版本的目录。 开发人员无法访问Puppet回购。 这需要在现有的文件系统权限内工作,即用户只能修改他们有权访问的脚本,而不能修改其他脚本。 我想最简单的方法来解释我在找什么是我想要但不存在: SVN处理符号链接(即符号链接所有configuration到一个目录,然后正常工作,并让他们版本) SVNpipe理主机上给定的path或目录列表的一个简单方法,但保持不变。 有什么build议么?
我正在决定在Windows Server 2008上build立一个Mercurial或者Git服务器(通过HTTPS)。我听说Git支持对于Windows客户端的使用是粗略的,但是并没有听到很多(关于最新的)设置Windows上的中央存储库。 我听说在过去的一两年里,Git的支持有了很大的提高。 我个人比较喜欢Git,但是不以牺牲Windows的支持为代价。 你有什么build议?
目前我使用免费的在线SVN版本库,但是我正在考虑在自己的服务器上托pipe版本库。 有没有一种方法可以轻松设置VCS,以便将相同的内容分布在我的服务器上? 分布式的版本控制听起来像我在找…不幸的是有太多的人,我需要你的意见什么适合你的需要最好的。 如果有帮助的话,我是唯一一个对代码进行修改的人。
我有一个应用程序需要一个数据库+将大大受益于MVCC模型。 它将理想地支持永久历史存储,在特定时间点访问数据以及增量备份。 我正在查看可能支持这个的数据库。 我知道CouchDB可以(除了增量备份,我不确定),但在这个应用程序中,我真的需要一个关系数据库。 我很惊讶MySQL在Innodb / Falcon中列出了MVCC支持 。 我得到这样的印象,也许这只是在一个事务内的数据库状态,一旦所有的事务级别提交,历史将丢失。 那么PostgreSQL呢?
您好,我正在寻找符合我的以下要求的Linux发行版。 这台机器基本上就是我的软件开发的一个服务器机箱。 我需要安装Mercurial和Subversion,所以我可以托pipe我自己的仓库。 Linux要求(为了我需要) 简易包安装 支持我的硬件。 (见下文) 良好的Mercurial&Subversion安装和configuration支持。 基本的GUI(如XFCE,即最好不是Gnome或KDE) 快速安装 服务器硬件 AMD Athlon 1.8GHz 1.5 GB RAM 320GB高清 基本的graphics卡 以太网(无WiFi)
题: 我正在寻找关于为开发者设置一组服务器\系统的经验和经验的链接或个人帐户。 特别是我感兴趣的是自动化的数量,如果事实certificate是更多的工作,而不是价值或上帝。 我认识到取决于开发产品的性质,这可能是更简单或更复杂的。 我也是新进入这个领域(<4个月),所以我的观点是非常有限的:(以下是我最感兴趣的几点: 您使用的版本控制,为什么? 什么是自动的? 你是否有开发人员直接使用仓库来进行一般的日常使用? 你利用仓库脚本钩子? 你是否将任何工具绑在一起,或者以任何方式将它们整合在一起 ? 开发人员使用基于控制台的graphics工具吗? 当你升级基础架构或改进事物时,你的首要任务是什么? 我有限的经验 就我而言,团队利用MySQL和PHP开发Web应用程序 。 我一直在更新的基础架构使他们能够使用Mercurial和项目pipe理系统Redmine进行版本控制。 我们也有开发,testing和生产服务器的网站以及数据库服务器。 我将版本控制和项目pipe理结合到一台服务器上。 从严格的可用性angular度来看,上面这些坐在自己的服务器上就足够了,但是我一直在使用post-commit钩子来自动发送最新的传入提交到dev服务器,脚本处理(如最小化CSS和JS文件)的方法,并集成发布的触发器来testing,并通过权限控制进入Redmine UI。 我还在Redmine中添加了钩子来执行自定义的Repository创build和删除(使用自定义钩子)。 我也尝试过使用自定义Dreamweaver插件来抓取开发人员提交的消息,并自动处理提交过程(最小化切换窗口和在TortoiseHg中点击的时间)。 由于我还在testing,我不确定什么会使它成为最终产品。 我只是好奇别人所做的事情。