index.xml 6.0 KB
Newer Older
LinuxSuRen's avatar
deploy  
LinuxSuRen 已提交
1 2 3
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
4
    <title>Continuous Integration on Jenkins 中文社区</title>
5
    <link>https://jenkins-zh.cn/tags/continuous-integration/</link>
6
    <description>Recent content in Continuous Integration on Jenkins 中文社区</description>
LinuxSuRen's avatar
deploy  
LinuxSuRen 已提交
7 8
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
9
    <lastBuildDate>Wed, 05 Aug 2020 00:00:00 +0000</lastBuildDate>
LinuxSuRen's avatar
deploy  
LinuxSuRen 已提交
10
    
11
	<atom:link href="https://jenkins-zh.cn/tags/continuous-integration/index.xml" rel="self" type="application/rss+xml" />
LinuxSuRen's avatar
deploy  
LinuxSuRen 已提交
12 13
    
    
14 15 16 17 18 19 20 21 22 23 24 25
    <item>
      <title>在 Kubernetes 上使用 Argo 实现 CI/CD</title>
      <link>https://jenkins-zh.cn/wechat/articles/2020/08/2020-08-05-ci-cd-with-argo-on-kubernetes/</link>
      <pubDate>Wed, 05 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://jenkins-zh.cn/wechat/articles/2020/08/2020-08-05-ci-cd-with-argo-on-kubernetes/</guid>
      <description>持续集成和持续交付是一些人为之努力的目标。它让一切事物变得更简单。当然,市面上有许多 CI/CD 工具,但是随着 Kubernetes 的日渐盛行,所有这些工具都需要做相应的调整。比如说,Jenkins,这款非常成熟的 CI/CD 工具在全球范围内被广泛使用,但是这款工具缺乏创新并且感觉有点笨重。同样的话也适用于 Spinnaker。一款出色的企业解决方案拥有让工作深入开展下去的资源,但是让 CI/CD 工具以一种快速、整洁的方式升级不是一个理想的选择。还有其他的一些工具可以为更简单的工作流提供更多的支持。其中一个就是我们本文中将要介绍的 Argo。
Argo 与众不同的地方在于它管理实际 CI/CD 的方式。它是专门为了 Kubernetes 开发的并且通过 CRD(Custom Resource Definitions)集成到 Kubernetes 中。它定义了一个新的名为‘工作流’的 CRD 。在这个工作流中你可以通过一个 yaml 格式的文件定义你需要执行的操作。每一步均运行在位于 Kubernetes 集群内它自己的 Docker 容器里面。
argoproj/argo
Argo/Argo CD/Argo CI Argo 项目有几个正在开发的项目仓库。Argo 是主项目,聚焦于 Kubernetes 工作流以一种更通用的方式来被使用。Argo CD 是一种处理部署的 GitOps 方法,也就意味着 Kubernetes 集群从版本仓库镜像到任意位置时 git 仓库是事实上的唯一来源。Argo CI 看起来已经不再维护了,但是它曾经是作为 CI 工具用来基于 git 变更触发工作流的。为了安装 CI/CD 工具,你需要 Argo 以及它的工作流,同样也一个需要触发它们的 CI 工具。因为 Argo CI 已经没有开发活动了,我自己写了一个 Argo CI,可以通过 Bitbucket webhooks 触发 Argo 工作流。使用自己开发的 CI 工具,我开始试着使用 Argo 构建了一个功能全面的 CI/CD 工具。</description>
    </item>
    
LinuxSuRen's avatar
deploy  
LinuxSuRen 已提交
26 27
    <item>
      <title>持续集成的收益与挑战</title>
28
      <link>https://jenkins-zh.cn/wechat/articles/2019/04/2019-04-03-the-benefits-and-challenges-of-continuous-integration/</link>
LinuxSuRen's avatar
deploy  
LinuxSuRen 已提交
29 30
      <pubDate>Wed, 03 Apr 2019 00:00:00 +0000</pubDate>
      
31
      <guid>https://jenkins-zh.cn/wechat/articles/2019/04/2019-04-03-the-benefits-and-challenges-of-continuous-integration/</guid>
LinuxSuRen's avatar
deploy  
LinuxSuRen 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44
      <description>毫无疑问,持续集成( CI )已成为一个软件开发的主流原则。CI 的收益在业界众所周知的,并且很难找到反对实施它的人。
在这里,我想把那些收益收集起来放到一个中心化的地方。但是我认为扮演反面角色并试图找出持续集成的弊端或挑战也是很有趣的。
什么是持续集成? 从根本上说, 持续集成( CI )是一种开发实践,开发人员每天都要将代码集成到共享的仓库中。在该仓库中,代码被自动构建进行验证用来在这个流程中检验尽早的发现任何问题。这允许团队花更少的时间回溯,而花更多的时间构建新特性。
持续集成的收益 1、缓解风险 据 Martin Fowler 说,持续集成的最大收益是减轻风险。由于延迟了代码集成,团队将不断增加合并冲突的数量和严重性。当团队频繁集成(使用自动构建),他们减轻了潜在风险的数量,因为他们总是知道系统的当前状态。
2、质量保证 实施持续集成的团队对他们的操作更有信心。他们知道自动构建会立即捕获缺陷,这使他们能够保证质量。 他们也不会猜测系统中 bug 的数量,这允许他们能够向队友提供准确的数量,并为客户提供更好的服务。
3、提高可见性和加强团队合作 自动构建为团队提供了对其系统的完全可见性。他们知道问题的数量,并能快速的解决问题。提高可见性可以让团队有机会在小问题变成大之前通过协作解决。
持续集成的挑战 1、组织文化变革 一些企业更喜欢传统的方法,并且可能很难实施持续集成。 他们必须对员工进行再培训,这就意味着要对现有的业务进行大修。管理者可能会抵制因为持续集成并不能帮助他们实现公司的直接目标(例如:金钱在质量之上)。
2、难以维护 构建一个自动化的代码仓库不是一个简单的任务。 团队必须构建适当的测试套件,并花时间编写测试用例,而不是开发代码。 起初,这可能会让他们放慢速度,让他们对按时完成自己的项目失去信心。如果测试套件不稳定,它可能在某些天内完美地工作,但其他天可能不起作用。 然后团队将不得不花费更多的时间来弄清楚发生了什么。
3、大量的错误信息 对于较大的开发团队,他们可能每天都会看到 CI 错误消息,并开始忽略它们,因为它们还有其他任务和关注点。 他们可能会开始将一个破坏的构建视为一个正常的事情,并且缺陷可能开始堆积在一起。</description>
    </item>
    
  </channel>
</rss>