近期 CODING 团队在 2019 KubeCon 大会上发布 DevOps 一站式解决方案:CODING 2.0。此次 CODING 全新上线了持续集成与制品库模块,通过自动化与标准化的方式来帮助开发者摆脱编译、构建、集成、制品管理等重复劳动,旨在打造沉浸式开发体验。在 KubeCon 大会现场,我们以一个基于 Spring 的模版项目为例,展示了开发者如何基于 CODING 轻松完成编码到构建制品的过程。

新项目创建

首先新建一个项目,选择一个您熟悉的开发语言预置模版。预置代码模版提供了从代码生成、持续集成、制品库的自动配置,并已预置了 Dockerfile ,实现 Docker 容器化的打包方式。目前代码模版已内置了包括 Java、Ruby、Android、Node.js、Python 等主流语言开发框架的网页或移动端应用。

只需几分钟,项目即可创建完毕。CODING 为您创建了一个代码仓库,并将一个简单 Java 网页应用的代码推送到仓库 master 分支,还为您创建一条可直接运行的构建流水线,产物为 Docker 镜像。基于创建好的代码仓库和构建流水线您可以立即进行代码开发,并且快速集成代码。

接下来我们基于创建好的模版项目 spring-demo ,通过三个环节:代码托管、持续集成、制品管理,来看看 CODING 的 DevOps 配置具体是什么样的。

代码托管

CODING 提供代码托管能力,并支持 Git 与 SVN 的代码提交方式。在自动生成的代码仓库中我们看到了 Maven 编译脚本、Jenkins 构建脚本、Docker 镜像打包脚本、网页应用的源码。在 README 文件中详细介绍了各个源码文件的作用以及如何运行该网页应用,对于开发新手来说可以说是手把手程度的详细介绍。您可以通过本地 Git/SVN 客户端来提交代码。

持续集成

修改后的代码如何集成到软件当中来?我们来看看预置模版下生成好的构建任务,并学习如何修改持续集成配置以满足更多的场景需求。

  • 在下图中可以看到系统已自动运行过第一次的构建,在持续集成首页您可以清晰地看到每次构建结果的状态、触发原因、持续时长等基本信息。CODING 的持续集成支持多 Job 并发运行,如果您的研发团队有这方面的需求,在持续集成页面按需创建多个构建任务即可。

  • 在构建记录中您可以看到每次构建结果的详细信息。比如构建过程的运行状态,如果遇到构建失败的情况,您就可以在该页面查看失败环节的日志信息以便快速修复构建流水线。您还可以看到改动记录、测试报告、还有生成的构建产物(比如 Jar/War/脚本/配置文件等构建半成品)。最终的构建产物(比如 Docker 镜像)通过简单配置即可自动推入制品库中,稍后我们会详细介绍制品库。

  • 接下来我们来看看构建任务的具体配置是怎样的。在触发方式中您可以按需设置触发方式、邮件通知人员。在持续集成过程中您可以选择通过图形化编辑器或者文本编辑器(如果您对 Jenkinsfile 脚本熟悉)的方式来详细配置构建的每个环节。针对一些持续集成过程中无法明文展示或者易变的信息,您可以通过环境变量或者凭据注入的方式来进行设置。如果想要加快构建速度,您可以打开缓存配置,同时还支持清空重置。

制品管理

在持续集成完成生成构建产物后,我们来看看如何使用 CODING 的制品库来管理这些制品。

  • CODING 制品库的层级关系为:仓库 > 包 > 版本,每个层级描述如下:

仓库:用于管理不同类型的仓库和仓库下的包资源,可以设置仓库对外的访问权限。
包:构建产物对外提供访问的基础单元,用于介绍当前构建产物的用途和使用指引。
版本:列出某个包下的所有构建产物,详细记录了每次构建产物的版本迭代更新变化。

  • 仓库当中会明确提示推送以及拉取指引,不同的制品类型对应着不同的存储、拉取、共享方式。除了通过 CODING 的持续集成将制品自动推送到制品库,也可以在本地环境当中推送或上传您的制品。

  • 您可以设置仓库的基本信息(仓库类型、名称、描述、权限范围),也可以设置包的基本信息(包名称、许可证、成熟度、问题跟踪等)。在描述软件包的页面,您可以详细的了解版本信息(版本号、哈希值、上传者等),以便您的研发团队能清晰地追溯每个制品的情况。

目前 CODING 制品库已支持 Docker、NPM、PyPI、Generic File、Helm 等多种类型的制品管理,后续会支持更多制品类型,敬请期待。

点击下方,了解更多 CODING 2.0 升级资讯:
《CODING 2.0 企业级持续交付解决方案》
《打通 DevOps 任督二脉 ,CODING 2.0 制品库全新上线》
《拥抱自动化,CODING 2.0 持续集成全新上线》

点击使用 CODING 2.0
体验 DevOps 全工具链敏捷研发

十分钟 CODING DevOps 全链路体验的更多相关文章

  1. 十分钟速成DevOps实践

    摘要:以华为云软件开发平台DevCloud为例,十分钟简单体验下DevOps应用上云实践--H5经典小游戏上云. 本文分享自华为云社区<<DevOps实践秘籍>十分钟速成DevOps ...

  2. CODING DevOps 微服务项目实战系列第二课来啦!

    近年来,工程项目的结构越来越复杂,需要接入合适的持续集成流水线形式,才能满足更多变的需求,那么如何优雅地使用 CI 能力提升生产效率呢?CODING DevOps 微服务项目实战系列第二课 <D ...

  3. <转>二十问全链路压测干货汇总(上)

    本文转载自:微信公众号-数列科技<二十问全链路压测干货汇总(上)> 最近几年全链路压测无疑成为了一个热门话题,在各个技术峰会上都可以看到它的身影. 一些大型的互联网公司,比如阿里巴巴.京东 ...

  4. CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全

    本文作者:王振威 - CODING 研发总监 CODING 创始团队成员之一,多年系统软件开发经验,擅长 Linux,Golang,Java,Ruby,Docker 等技术领域.近两年来一直在 COD ...

  5. 如何使用 CODING 实践 DevOps 全流程

    你好,欢迎使用 CODING!这份最佳实践将帮助你通过 CODING 研发管理系统来更好地实践 DevOps 流程. DevOps 的本质是打破各个部门之间的隔阂,打通企业的前中后台,推进跨部门协作. ...

  6. 全链路追踪体验—最简陋TraceId的生成

    对于后端开发来说,排查问题是常有的事情.而排查问题时最常用的就是看日志,看一次调用中经过了哪些系统,是那个系统出问题了.这就需要业务日志中关联调用链的TraceId信息,从而在应用出现问题时,能够通过 ...

  7. CODING DevOps 助力中化信息打造新一代研效平台,驱动“线上中化”新未来

    中化信息技术有限公司,简称"中化信息",是世界 500 强企业中国中化控股有限责任公司(简称"中国中化")的全资直属公司,依托于中国中化的信息化建设实践,建立起 ...

  8. 【NLP】十分钟快览自然语言处理学习总结

    十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...

  9. Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin【Finchley 版】

    Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin[Finchley 版]  发表于 2018-04-24 |  随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请 ...

随机推荐

  1. react文本溢出hover气泡显示全部文本——JS判断文本溢出

    需求: 在文本溢出的时候,显示气泡 JS相关知识 // target js元素 const containerLength = target.width; //当前容器的宽度 const textLe ...

  2. CodeForces 5C Longest Regular Backet sequence

    This is yet another problem dealing with regular bracket sequences. We should remind you that a brac ...

  3. 打样ov9650,无一幸免,失败告终,之调试记录

    新打样的ov9650,焊接了4块,其中只有2块有反应,另外两块无反应,于是使用热风台助焊,调试 助焊无效,怀疑焊盘有问题,于是拆掉 有问题的图像不正常 已看图像,只知道缺位,于是使用示波器检查,发现d ...

  4. redis第一讲【redis的描述,linux和docker下的安装使用】

    Redis(REmote DIctionary Server):是什么 redis(远程字典服务器),是完全开源免费的,高性能的k/v分布式内存数据,热门的Nosql数据库 Redis可以干什么: 内 ...

  5. JS内置对象-Array之splice-删插替

    splice-删除 var arr = [1, 2, 3, 4, 5, 6]; //删除 var delArr = arr.splice(1, 2) console.log(arr); // => ...

  6. 【集合系列】- 深入浅出分析 ArrayDeque

    一.摘要 在 jdk1.5 中,新增了 Queue 接口,代表一种队列集合的实现,咱们继续来聊聊 java 集合体系中的 Queue 接口. Queue 接口是由大名鼎鼎的 Doug Lea 创建,中 ...

  7. 【Java Web开发学习】Spring加载外部properties配置文件

    [Java Web开发学习]Spring加载外部properties配置文件 转载:https://www.cnblogs.com/yangchongxing/p/9136505.html 1.声明属 ...

  8. Linux vi与vim使用

    vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...

  9. Django之视图层与模板层

    目录 视图层 小白必会三板斧 HttpResponse render redirect JsonResponse 前后端分离 FBV CBV 给CBV加装饰器 模板层 模板语法 模板传值 过滤器 语法 ...

  10. c++-面向对象:类和对象

    类和对象 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string.h> using names ...