问题标签 [staging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - Subversion 规划开发、登台、直播
我正处于重组我们的颠覆过程和部署的计划阶段,以尽量减少代码丢失和生产部署问题。我们当前的系统只是简单地包括在随机服务器上创建一个子域名以在推送直播之前进行测试,这让我抓狂。
我想听听关于我当前计划的一些建议或意见,并获得有关如何使这个系统更好的反馈或想法。
细节:
- 小型开发团队。
- 开发和登台存在于同一台机器上。
- 生产版本存在于其他服务器上。
- 大约有 30 个项目与 Web 相关(网站、Web 应用程序、Web 服务)。
- 大约 30 个项目是桌面应用程序、DLL、组件、bat 文件等。
- 开发子域名只能通过 VPN 访问。
- Web 的暂存子域可公开访问。exe staging 只能通过 VPN 访问。
- 每个项目都将有一个 dev 和 staging 子域和存储库。开发版是登台主干的一个分支。
- 主要开发存储库:dev.domain.com(例如使用的通用名称)。
- 主要临时存储库:staging.domain.com(例如使用的通用名称)。
部署:
项目的开发版本是临时主干的分支。暂存保存特定项目的存储库。然后将文件手动复制到生产位置或执行部署脚本。
示例:开发人员使用从 projectname.projecttype.dev.domain.com (site1.web.dev.domain.com) 获取的本地副本。对本地版本进行更改并合并到项目开发分支进行测试。完成所有测试后,分支将合并到项目主干中。如果项目主干通过所有测试,则项目将被实时推送。
Subversion 存储库结构: *注意:文件结构将匹配域名结构。*
开发分支:始终在此服务器上向本地开发环境签出。
暂存主干:开发人员从未接触过。只有将分支合并到特定项目的主干中才能更新文件。在推送现场之前测试安装。应假定具有生产能力,但客户无法访问。
这看起来怎么样?我是否缺少或将失去任何功能?他们是我应该使用的更好的系统吗?
web-services - Sitecore 以编程方式清除缓存
我正在尝试在 Sitecore 中以编程方式发布。发布工作正常。但是以编程方式这样做不会清除站点核心缓存。以编程方式清除缓存的最佳方法是什么?
我正在尝试使用登台模块附带的网络服务。但是我收到了错误请求异常(异常:远程服务器返回了意外响应:(400)错误请求。)。我试图在客户端配置文件上增加服务接收超时和发送超时,但这并没有解决问题。任何指针将不胜感激?
我正在使用以下代码:
我正在使用以下代码进行发布。
python - 如何在 Google App Engine 上设置暂存环境
正确配置开发服务器和生产服务器后,我想设置一个暂存环境,用于在将新开发版本部署到生产之前对其进行实时测试。
我知道两种不同的方法:
A.第一个选项是修改app.yaml 版本参数。
我不喜欢这种方法的是生产数据被我的暂存测试污染了,因为(如果我错了,请纠正我):
- 暂存版本和生产版本共享同一个数据存储
暂存版本和生产版本共享相同的日志
关于第一点,我不知道是否可以使用新的命名空间 python API来“修复”它。
B.第二种选择是通过修改app.yaml 应用参数
使用这种方法,我将创建完全独立于生产版本的第二个应用程序。
我看到的唯一缺点是我被迫配置第二个应用程序(管理员设置)。
使用像Gaebar这样的备份\恢复工具,这个解决方案也很有效。
您使用哪种方法为您的 Web 应用程序设置暂存环境?
另外,您是否有任何自动化脚本可以在部署之前更改 yaml?
testing - 用于在浏览器中交换(实时和测试)URL 的书签
我曾经使用以下书签代码在我的站点的登台服务器和实时服务器之间交换 URL,因此我可以测试登台页面是否已成功推送到现场:
登台网址:www.stage.site.com/folder/page.html
实时网址:www.site.com/folder/page.html
这是该书签的代码;剧本有两个方向:舞台生活和舞台生活:
javascript:if(location.host=='www.site.com')(location.href='http://www.stage.site.com'+location.pathname);if(location.host=='www.stage.site.com')(location.href='http://www.site.com'+location.pathname);
但是,我的网站架构发生了变化(CMS),并且暂存 URL 现在与实时 URL 完全不同:
创作网址:author.site.com/bucket1/bucket2/bucket3/folder/page.html
实时网址:www.site.com/folder/page.html
我无法弄清楚如何重写该小书签代码,以便它可以处理截断的路径名。
svn - 如何限制对暂存环境的访问
我们的工作流程目前让开发人员使用 SVN 处理我们的 Web 应用程序的本地托管副本以进行源代码控制。我们有提交后挂钩,可将每个新修订版部署到在子域上运行的指定登台环境。
我的问题是,限制对这些临时站点的访问以使它们不会被偶然发现或上帝禁止被搜索引擎索引的最佳方法是什么?
我们真的很想避免任何基于 IP 的事情,因为我们有远程开发人员不可避免地使用动态 IP 工作。
我有一些初步的想法,例如一个简单的表单,您可以使用登录凭据访问 a) 为您提供一个在登台环境中运行时检查的访问 cookie,或者 b) 将您当前的 IP 地址注册为允许的确定长度的时间。
如果有人可以分享想法,以前的经验或最佳实践,将不胜感激
git - 禁用 git 暂存区
我真的不喜欢 git 暂存区,它只会让我的生活不必要地混乱。
是否可以禁用它,以便所有已编辑和新文件都在一个上下文中?所以 git diff 显示了存储库和我的工作目录之间的差异(我不必也输入 git diff --cached),因此 git ci 会检查我的整个工作副本(不仅仅是暂存的部分)。
如果没有,替代方案(例如设置配置)以使我看起来没有分期也很棒。
我没有选择更改为不同的 DVCS 的选项,也不想学习喜欢暂存区。请不要张贴建议这些:(
谢谢,-肖恩
PS:我在 superuser.com,https ://superuser.com/questions/192022/disable-git-staging-area 上问过这个问题,但该论坛的帖子似乎少得多(只有 118 个标记的 git 与此处的 4448 个相比)
git - Git 生产/登台服务器工作流程
目前我的网站(生产服务器)已经有很多代码。现在我想开始在我的项目中使用 Git,并为我的团队设置一个登台服务器。任何人都可以给我任何建议吗?
这是我脑海中的画面:
我的问题是,我应该如何开始?
以下是我的一些步骤:
- 做一个
git init
生产服务器(这安全吗?) clone
从生产到登台服务器的回购- 开发
clone
从暂存到本地机器的 repo push
完成更改后将文件发送到登台服务器- 准备就绪后,
push
一切都将投入生产
这个工作流程是否有意义,或者有更好的方法来做到这一点?
如果我只想更改一个文件怎么办?
这个过程中origin/master有什么关系吗??谁是起源?我最终会拥有多个来源吗?
另外,在这种情况下,开发人员应该什么时候使用branch
?
php - 设置暂存/开发服务器的最佳/更好/最佳方式
我最近推出了一项服务,这意味着我不能再直接在该网站上工作,或者这样做有风险。
我还没有找到任何“标准”或“最佳”方式来制作开发服务器。我看到的两件事是
a) 使用 GIT 或 SVN 来托管数据(这并不能完全解决我的问题,我需要能够在某个地方进行开发,最好不是我的家用电脑)
b) Capistrano(对于 Rails,PHP 有什么东西吗?)
我正在查看的当前解决方案是将服务器的完整副本放在“development.domain.com”上,这样我就可以处理所有事情,我可以简单地将文件复制到主要部分。
这是一个可行的解决方案吗?最佳解决方案是什么?(独立服务器、专用工具等)
编辑该系统由许多开发人员开发。服务器设置已进行了相当大的调整,以允许系统的全部功能和安全性。在我自己的计算机上进行开发不是一个可行的解决方案,也不是在 Intranet 类型的系统上,因为我们的程序员都不在同一个位置。
我正在寻找服务器上的解决方案。
jquery - 使用 jQuery 将子文件夹添加到所有链接
我目前正在位于 www.example.com/staging 的临时环境中的站点上工作。该站点的所有链接都是相对设置的(例如:/about/)。我正在尝试编写一些简单的 jQuery 来将“/staging”添加到页面上的每个链接,因此我不必更改一周内的所有链接,或者它在登台环境中。我知道 HTML 标记是一个选项,但是因为链接是使用 ExpressionEngine 动态添加的,这似乎不起作用。我认为 jQuery 应该相当简单。这是我所拥有的,但有些地方不太正确:
在此先感谢您的帮助。
ruby-on-rails - 将生产数据库复制到暂存 capistrano
我正在使用带有暂存和生产服务器的 rails 和 capistrano。当我部署到登台时,我需要能够将生产数据库复制到登台数据库。有没有简单的方法来实现这一点?
我想过用mysql和类似的东西来做这个:
(顺便说一句,我没有测试过这个,所以不确定它是否会起作用)但如果有另一种方法会更容易/更好。
谢谢你的帮助