- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有 3 个环境:
我们正在使用 Team City,并且仅在我们的开发环境中进行持续集成设置。我不想为 Team City 所做的每个开发部署保存工件。我希望指定人员能够触发构建配置,将某个成功的开发部署部署到我们的登台服务器。
然后,我希望每个临时部署都能保存工件。当暂存部署通过 UAT 时,我想将该包部署到生产环境。
我不知道如何在 Team City 中进行设置。我正在使用版本 6.5.4,并且我知道有一个“升级...”操作/触发器,但我认为这取决于保存的工件。我不想每次都将开发部署保存为工件,但我确实希望运行暂存部署的人员能够指定要部署到暂存的成功开发部署。
我知道可能有多种方法可以做到这一点,有最佳实践吗?您的设置是什么?为什么推荐它?
更新:
到目前为止我有一个答案,这是我们内部考虑过的一个想法。我真的很想知道是否有人有一种通过 Team City 本身部署到临时/生产环境的自动化方法,只有具有特定角色/权限的人才能将部署脚本运行到生产环境,而不必手动处理任何问题一种神器包。有人吗?
更新2
我还有 1 天的时间来发放赏金,我认为下面的答案没有回答我的问题,但重读后我发现我的问题不是我想象的那样。
是否有任何方法可以使用 Team City 对临时/生产环境进行某种自动化部署?
最佳答案
我认为您实际上在这里问了两个不同的问题;一个是关于控制对 TeamCity 构建的访问权限,另一个是关于工件管理的后勤工作。
<小时/>关于权限,我假设您所说的“只有具有特定角色/权限的人才能将部署脚本运行到生产环境”,您对 Julien 的回应是您可能不希望开发人员直接部署到生产环境,但您确实希望他们能够看到项目中的其他构建。这也可能类似于 Julien 的场景,当时 IT 部门将流程从 TeamCity 中“离线”(要么是这样,要么只是 IT 部门在做 IT 部门所做的事情,并坚持要求他们必须使用一个单独的、完全低效的流程,因为“这就是我们做事的方式”) “- 别让我开始说这个!)
问题很简单,TeamCity 中的所有权限都应用于项目,而不是构建,因此,如果您有一个包含所有构建的项目,则没有能够将权限粒度应用于开发与生产构建。我之前用两种方式处理过这个问题:
关于工件管理,在开发版本中保留它们没有问题,只需定义一个清理策略,如果您担心容量,则仅保留最后 X 版本中的工件。许多人希望确定他们将相同的编译输出部署到每个环境,这意味着一旦构建它,您希望保留它以供以后使用。
从开发部署中获得这些工件后,您可以通过单独的构建将它们重新部署到其他环境。您将遇到配置转换问题(假设您正在使用它们),但请阅读 this 2 part series关于如何解决这个问题的一些想法(我还没有详细了解它,但我相信他走在正确的道路上)。
这能回答你的问题吗?还有什么遗漏的吗?
关于deployment - Team City 多阶段部署的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772311/
我想将 [city]、[cIty]、[ciTY]、... 替换为 [City]。 我认为正则表达式是一个很好的解决方案,但我不擅长正则表达式。 尝试过的代码: var text = "[City] [
我正在使用 Ruby on Rails 制作一个网站,我正在考虑数据库结构。 这个网站很简单,我们列出了很多地方,并告诉他们来自哪个城市。 例如“埃菲尔铁塔”/巴黎或“帝国大厦”/纽约 对于数据库,哪
如果 Google 的关键字规划器向我显示关键字“Web Design [city-name]”获得约 880 次搜索,而“Website Design [city-name]”获得约 620 次搜索
这个脚本很好用,它生成函数的town必须注册但是他生成so city 如何将值 #city 插入/传递到输入字段 value="cityname" $(document).ready( funct
我有一个包含很多城市和两个名称相似的城市的数据库。 荷斯坦州奥尔登堡和奥尔登堡(奥尔登堡) 我从 URL 获取城市 示例网址: www.example.com/cityname/oldenburg-i
Cannot read property 'data' of undefined at Object.city 问题是我正在动态调用状态,当我编写city.UP.data时,它显示正确的结果,当我在此
我正在尝试将列表插入到 postgres 表中。 在 try 中,它在这一行失败了: curr.execute("""INSERT INTO CITY (name) values (%s);""",(
我想转换引用对象属性或子属性的 lambda 表达式,例如x => x.Address.City 转换成字符串 Address.City。是否存在执行此操作的现有框架方法(MVC、EF、...?),还
这些 linq 查询有什么区别: Students.Where(x=>x.City == "Lahore").ToList(); Students.ToList().Where(x=>x.City =
一天前我刚刚从 Xcode 9 更新到 Xcode 10,当我正要调试我的位置跟踪应用程序时才意识到我从未收到设备位置信息。所以我去 map 应用程序检查它是否只是我的应用程序的问题,但是当我将位置调
我安装了 django-cities 插件并在 settings.py 中设置了以下参数: CITIES_FILES = { 'city': { 'filena
题目地址:https://leetcode-cn.com/problems/destination-city/ 题目描述 给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 p
我已经配置了Team City通过EC2发送电子邮件,并且工作正常,但是现在如何设置电子邮件帐户以发送服务器上所有构建作业的失败通知?我敢打赌,答案是盯着我,但我只是看不见。 TC 7.x BTW。
将 TeamCity 构建代理安装在构建服务器之外的另一台机器上意味着什么?我的理解是,我需要“TeamCity 服务器安装”才能开始“代理安装”,对吗?现在我已经安装了带有 webUI 的 Team
我正在尝试在构建服务器(团队城市 6.5.5)上添加一个新的构建代理 - 我能够添加一个新的代理,但现在第一个已断开连接,第二个正在运行,我认为存在一些问题我指定的 ownport 和 ServerU
我在TeamCity项目中遇到以下错误: Error collecting changes for VCS repository 'MySvnRepository' Unable to get SVN
各位, 我正在尝试使用团队城市。我完成了 7 个步骤中的 6 个步骤。现在是最后一步,在“Agent Requirements”选项卡下,它向我显示以下消息 Agents compatibility
我们有 3 个环境: 开发:Team City 在此部署,以在主干上进行 Subversion 提交。 暂存:用户接受是在此处针对候选版本的构建完成的。 生产:当UAT通过时,通过的代码集部署在此处。
Gradle支持的最新TeamCity 7版本是什么? 最佳答案 通过使用gradle包装器,您应该能够在Teamcity 7中使用最新的2.8 gradle版本 关于gradle - Team Ci
生成项目时,通常的过程是,一旦将所有文件从源代码控制中拖放下来,就会运行AssemblyInfo修补程序。 使用CodeSmith时,我们对此有疑问。问题在于我们有两个构建步骤。 步骤1-运行Code
我是一名优秀的程序员,十分优秀!