看起来你有很多问题而且它们相当广泛...我会在你的每个要求中添加一些评论作为对话启动者,但这整个帖子可能会被版主阻止,因为它绝对不是问题的风格SO是为了 .

所有代码都通过拉取请求进行审核(通过分支政策强制执行)

我没有看过很多年的VSTS,但我希望他们已经支持分支策略和拉取请求,所以不确定除了配置存储库中的设置之外,还有什么需要 .

如果VSTS不支持,您可以考虑转移到一个工具,例如, BitBucket,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

所有代码都部署到临时环境进行测试

您可以通过设置lifecycles in Octopus Deploy来实现这一目标,以确保部署/促销遵循您想要的顺序 .

我们可以快速返回之前部署的任何代码快照

您已经拥有源代码控制,因此您现在所需要的只是从环境中部署的代码到Octopus Deploy中的部署版本,TeamCity中的构建作业,源代码管理中的分支和精确提交的可跟踪性 .

为了达到这个目的,你可以做一些事情:

定义适合您的版本控制方案 . 我喜欢使用语义版本控制 . "Major"和"Minor"版本由开发人员定义,"Patch"是TeamCity中自动递增的数字(%build.number%) . 每个 git push 构建代码并生成一个唯一的构建版本(%major% . %minor% . %build.number%)

作为TeamCity中构建步骤的一部分,在编译代码之前,请确保使用每个构建分配的 the version number (来自源代码管理的 commit hash , and the branch name )修补源文件 . 例如如果您使用的是.NET,请确保使用该版本更新所有AssemblyInfo.cs文件,以便将版本嵌入到二进制文件中 . 这允许任何人查询查看二进制文件属性的版本,还允许您在应用程序本身上显示应用程序版本(例如状态栏,页脚, Headers ,关于框等)

让TeamCity使用每个构建的版本号标记源代码控制,以便快速查看源代码管理历史记录 . 您可能只想为主分支执行此操作,尽管这是您关心的内容 .

使用部署版本号和环境名称将Octopus标记为源代码管理,以便快速完成看(从您的源代码管理中)部署在哪里 .

第一步和第二步是最重要的,真的 . 3和4是很好的 . 大多数情况下,您只需在环境中打开应用程序,检查"About"中的提交哈希值,并对该提交哈希值执行 git checkout ...

如果测试成功,那么可以从我们的暂存环境“升级”到 生产环境 (不需要再次构建)

同样,Octopus Deploy lifecycles,并确保在应用程序的配置文件中定义了每个环境中的任何不同内容,该文件在Octopus部署期间使用environment-specific variables进行更新 .

在分支工作流方面,最后一个要求使得必须在部署生命周期开始之前将更改合并到 master (或任何"production"分支) .

java 部署策略_如何使用TeamCity和Octopus完成此分支和部署策略相关推荐

  1. python爬虫反爬策略_抖音字体反爬,爬虫字体反爬策略——每周一个爬虫小教程系列...

    在B站上看到一个关于抖音字体反爬的视频,看完之后,精神抖擞,不禁感觉,我又行了,于是在模拟器上下载了一个抖音,打开了我尘封已久的抖音号. 可以看见显示的数字是正常的,但是查看源码就是错误的. 既然是字 ...

  2. Java web小项目_个人主页(1)—— 云环境搭建与项目部署

    摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...

  3. java线程池饱和策略_线程池的饱和策略-调用者执行 | 学步园

    java并发编程实践阅读笔记之线程池的饱和策略 使用java的任务管理框架的线程池执行任务时,线程池的任务等待队列被填满时,饱和策略开始发挥作用.ThreadPollExecutor的饱和策略通过se ...

  4. java部署平台_开源Java自动化部署平台JDeploy

    JDeploy是Java + Shell实现的基于Linux系统的自动化.可视化的项目部署平台,能部署Java服务.Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkin ...

  5. JAVA软件海豚_海豚调度系统Apache DolphinScheduler单机部署官方文档(Standalone)

    DolphinScheduler单机部署分为后端部署和前端部署两部分: 1.后端部署 1.1 : 基础软件安装(必装项请自行安装) PostgreSQL (8.2.15+) or MySQL (5.7 ...

  6. java自动化部署平台_开源Java自动化部署平台JDeploy

    JDeploy是Java + Shell实现的基于Linux系统的自动化.可视化的项目部署平台,能部署Java服务.Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkin ...

  7. JAVA召回算法_推荐系统召回策略之多路召回与Embedding召回

    图1. 推荐系统整体架构 推荐系统学习笔记系列链接: 1. 多路召回 1.1 概述 所谓的"多路召回策略"就是指采用不同的策略.特征或者简单模型,分别召回一部分候选集,然后再把这些 ...

  8. 基于java的推箱子游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

    项目报告 基于Java的推箱子游戏设计与实现 社会在进步,人们生活质量也在日益提高.高强度的压力也接踵而来.社会中急需出现新的有效方式来缓解人们的压力.此次设计符合了社会需求,Java推箱子游戏可以让 ...

  9. 负载策略_面试官:讲一下什么是负载均衡,什么是轮询策略随机策略哈希策略

    什么是负载均衡? 先举个例子吧.以超市收银为例,假设现在只有一个窗口.一个收银员: 一般情况下,收银员平均 2 分钟服务一位顾客,10 分钟可以服务 5 位顾客:到周末高峰期时,收银员加快收银,平均 ...

最新文章

  1. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18)
  2. 【CyberSecurityLearning 34】Linux脚本编写(Shell脚本)
  3. linux mysql 释放x锁_MySQL 加锁处理分析-转载
  4. 项目不需要SVN控制的时候,该怎么办
  5. 【OpenGL从入门到精通(三)】第一个点的理论
  6. Java中的异常栈轨迹和异常链
  7. java+icepdf+下载_Java使用icepdf将pdf文件按页转成图片
  8. webflow ajax,java开发之spring webflow实现上传单个文件及多个文件功能实例
  9. (Unity4.7)assetbundle 坑爹总结
  10. 从aspx后台页面向浏览器输出js文件
  11. 14-微信小程序商城 产品详情页布局(微信小程序商城开发、小程序毕业设计、小程序源代码)(黄菊华-微信小程序开发教程)
  12. 高校科研管理系统源代码_教育领域各大高校如何建设智慧校园?你的学校够数字化吗?...
  13. Java判断操作系统是32位还是64位
  14. Matlab实现数字图像处理——滤波
  15. 一个检查输入内容的 AppCompatEditText 。
  16. qq传输文件腾讯服务器保存在哪里,电脑接收的QQ文件在哪里?在哪个文件夹可以找到QQ接收的文件...
  17. 企业微信SCRM会员营销 您的私域流量池精细化运营平台
  18. 无线网卡安装后显示无服务器,USB无线网卡安装后连接图标不显示怎么办【解决方法】...
  19. 某大厂外包员工抢了个红包,被要求退回,太侮辱人了!千万别做外包,狗都不如...
  20. 移动磁盘提示文件系统损坏要怎么恢复数据

热门文章

  1. 洛谷3月月赛 R1 Step! ZERO to ONE
  2. 如何把e01挂载到系统上?
  3. 【入门AUTOSAR网络管理测试】RSS-NOS状态转换
  4. 【Android初级】什么是ANR?如何防止?如何修复?
  5. 2019一级建造师《水利水电》每日一练
  6. 【虚拟化qemu】(二)--- qemu 虚拟化软件使用
  7. 破拆机器人_破拆机器人是如何工作的?
  8. 蓝桥云题库之国王游戏——Python满分解答
  9. 【MySQL篇】第一篇——数据库基础
  10. SpringCloud分布式开发五大神兽(一)