问题标签 [continuous-delivery]
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.
sql - 在持续交付过程中,是否有适当的方法可以自动将数据从生产转移到开发?
在一个常见的持续交付过程中,代码从开发实例移动到暂存实例再到生产实例。
出于开发目的(重现错误、使用完整数据集测试性能),大多数时候开发人员从生产数据库获取数据到他们的开发环境。例如,参见这个问题。
在我的公司,我们在持续交付过程中使用除了生产之外的三个实例:
- 最新:每晚与我们的 SCM 中继同步
- staging:在部署到生产之前的最后一个发布版本
- 稳定:与生产中部署的完全相同版本的软件(用于重现生产中发现的错误)
问题在于,在稳定实例上,为了重现错误,我们希望拥有与生产环境完全相同的数据集。所以我们希望每晚同步数据库。
这是一个好习惯吗?如何实施?有什么陷阱吗?
tomcat - 具有数据库更改控制的持续部署工具
我们已经使用 SVN 和 Bamboo 设置了我们的持续集成。
我需要一个工具来获取工件(.war)并将它们部署到多个环境中。
以下是要求:
- Tomcat 支持
- 视窗服务器 2008
- 数据库变更控制支持
- 配置支持。
部署需要将应用程序和数据库以及配置更改部署到众多不同的客户端实例(具有不同的数据库)。
我已经使用 LiveRebel 进行了设置,但我相信定价结构会阻止我们做需要的事情(即大量客户端服务器 = 大量代理)。
有没有其他人有类似的设置并使用其他工具?
java - 如何为模块化 Maven 项目部署/检索模块版本信息?
我有一个模块化的 maven 项目,我使用mvn:release
插件来处理版本控制和 scm 标签。每次发布后,每个模块和根项目。当然,我可以检查 scm 标签并进行重建,但这似乎很浪费,所以我想知道是否还有其他方法。我可以轻松(实际上我已经)创建一个简单的脚本来在构建期间运行,以将版本信息与构建一起保存在文本文件中,但我似乎无法找到一种方法将该文件与存储库一起部署到存储库根。pom.xml
都部署到一个工件存储库,稍后我希望能够从中检索它们。我的问题是,一旦将工件部署到存储库,版本信息就会丢失,无法知道哪个版本的模块构成父级的特定版本pom.xml
有任何想法吗?
git - 使用 GitLab CI 持续交付
我一直在思考如何使用 GitLab CI 实现持续交付?
我为 CD 阅读的每个解决方案都依赖于多步管道(例如 Jenkins),或者是侦听 webhook 并提供自己的部署接口的自定义应用程序(例如,GitHub 的 HuBot + Heaven + Janky)。
如果我们只关心在 Master 分支上执行 CD,并且我们的测试套件/部署步骤非常快,您可以简单地将其包含在 GitLab CI 运行的 shell 脚本中......但是,如果您的测试套件不快?或者您的部署可能需要几分钟来下载软件包等?然后你的 CI Runner 正忙着做一些事情。
我能想出的最佳解决方案是:
- 创建一个接受来自 GitLab 和 GitLab CI 的 Web Hooks 的 Web 应用程序,并跟踪所做的每个单独的提交和构建状态。
- 启动自己的自定义运行程序,尝试为收到的每个通过的 webhook 执行交付到暂存站点。应用程序可以使用,例如,fabistrano,以便于部署/回滚。
- 收听合并请求以合并到通过所有测试的 GitLab 中被接受的 master。
有什么想法吗?有人用 GitLab CI 实现过 CD 吗?
jenkins - 如何将构建 XML 从 Master 复制到 Jenkins 中的 Slave 节点?
我创建了一个 Jenkins 作业,它曾经在主服务器中运行,并且我在主服务器中有build.xml
文件。
现在我添加了一个从节点并添加了设置Restrict where this project can be run
,以便我的作业始终在特定的从节点上运行。
现在我的构建工作失败了,我可以看到:
此 autobvt.xml 文件已存在于主服务器中。所以看起来我需要手动将此文件复制到从节点,这看起来不太方便。
我如何指示詹金斯将其复制为构建的一部分?
javascript - 使用 JsHint 构建的 Strider 报告“不是拉取请求”。跳过 JSHint'
我在 Strider 中有一个构建,并且刚刚将 JsHint 集成到构建中。
运行构建时,Strider 报告“不是拉取请求。跳过 JSHint'
关于可能导致此消息的任何想法?
谢谢,
缺口
continuous-integration - 在 CD 平台中自动化 Rundeck - 将节点添加到 rundeck
我正在为我的持续交付平台探索 Rundeck。我在这里可以预见的挑战是自动化 rundeck 本身 -每当创建新节点/vm 时将节点添加到 Rundeck。
我想用我的 rundeck 服务器的公钥创建 vm,并将 vm 详细信息添加到资源文件 [~/rundeck/projects/../resources.xml] 中。但这是一种低效的方法,因为我必须在每次删除 vm 时删除条目来管理 resources.xml 文件。我主要依靠主厨来提供基础设施,从主厨那里获取节点库存似乎是一个可行的解决方案,但它会增加更多的开销和工作流程的延迟。
如果我能得到一些简单/干净的建议来解决问题,那就太好了。
github - 删除构建管道上的旧版本分支 (Jenkins)
我们正在使用 Jenkins 构建管道插件。我们的持续交付策略就是这样;
- 团队推送代码,Jenkins 初始工作触发......
- 创建了一个新的发布分支。
- 如果打包和单元测试成功。然后
- 将发布分支推送到 github,否则删除本地创建的分支。
- 文物存档和....
- ……
我的参考:https ://www.youtube.com/watch?v=McTZtyb9M38
正如在第 4 步中看到的那样,每个作业触发器都会创建新的分支,并导致我们的 SCM 发生分支污染。
如何从 SCM (Github) 中删除旧分支我想在 github 上保留至少 5 个最新分支。
注意:我们不会将每个构建都部署到生产环境。
java - 使用特定的 Maven 配置文件使用 jenkins 部署功能分支
在使用 jenkin 和 maven 运行测试/部署功能分支时是否可以使用特定的 maven 配置文件。
我们有一个使用功能分支的开发人员团队。我们有自己的 Maven 配置文件和相关的 uat 部署环境。
我们如何设置 jenkins 来部署,例如,分支:
使用 Maven 配置文件“ developer1
”
asp.net - 使用带有 Azure 虚拟机的 Visual Studio Online 持续交付到 Azure
我需要使用 Visual Studio Online 持续交付到 Azure 虚拟机(不是云服务或网站)
这是持续交付的链接 - http://azure.microsoft.com/en-us/documentation/articles/cloud-services-continuous-delivery-use-vso/
Azure 虚拟机可以做到这一点吗?
我的另一个问题是哪一个是最好的 Azure 虚拟机、云服务或网站?我的应用程序是构建在 asp.net 4.5 和 SQL Server 2012 中的大型企业应用程序,所以我想知道哪个最适合“持续交付”