专栏首页CODING DevOps十分钟 CODING DevOps 全链路体验

十分钟 CODING DevOps 全链路体验


近期 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(coding_net)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于 CODING 轻松搞定持续集成

    CODING 支持包括 Docker 镜像、Jar、APK 等软件包的构建,预置了主流开发语言的构建环境:Java、PHP、Go、Python、NodeJS 等...

    CODING研发管理系统
  • CODING 持续集成上线新功能!

    持续集成在现代软件研发流程中,扮演了十分重要的角色。通过对每次提交的代码不断进行自动化的单元测试、代码检查、编译构建,甚至自动部署,持续集成大大降低了开发人员的...

    CODING研发管理系统
  • 腾讯云推出一站式 DevOps 解决方案 —— CODING DevOps

    在产业互联网的大背景下,如何将人工智能、大数据等前沿技术与实体产业相结合,推动传统企业转型升级,已经成为每一个企业不得不思考的问题。落后的软件研发能力已经拖慢了...

    CODING研发管理系统
  • 通往成功DevOps的六大障碍

    在现今的社会中,每个公司都是软件公司,无论是通过台式机、云服务还是移动设备,软件都已成为世界各地、各个公司日常工作的工具。例如,汽车是带轮子的计算机,空调是数据...

    JFrog杰蛙科技
  • 通往成功DevOps的六大障碍

    在现今的社会中,每个公司都是软件公司,无论是通过台式机、云服务还是移动设备,软件都已成为世界各地、各个公司日常工作的工具。例如,汽车是带轮子的计算机,空调是数据...

    JFrog杰蛙科技
  • 2020年务必要了解的最好用的14款CI/CD工具

    企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量。在DevOps中,连续和自动化的交付周期是使快速可靠的交付成为可能的基础。

    Peter Shen
  • JNNP:脑小血管病的结构网络变化

    最近的一项关于脑小血管病(SVD)的纵向研究表明,白质结构脑网络的一个指标——“全局效率”与SVD患者的认知损伤关系密切,并且基线时段的全局效率还可以预测SV...

    用户1279583
  • 30岁还没入门测试开发怎么办?

    苦叶子
  • 一个兼容get请求和post请求的Ajax封装函数

    今天在看某风网老师录制的 Ajax 函数封装的视频,get 和 post 请求都考虑到了,我在这里也做一下笔记。

    德顺
  • python3.x 读取csv遇到的bu

    2、_csv.Error: iterator should return strings, not bytes (did you open the file i...

    py3study

扫码关注云+社区

领取腾讯云代金券