云效——项目高效交付

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
云效 DevOps 项目协作,基础版人数 不受限
简介: 云效强在哪里?他把一个产品从需求到交付整个流程集合很完善。权限控制、任务分工十分明确;减少无效沟通,一切皆在看板,可以绑定钉钉,项目任何进度都可以随时通知到指定的人!

云效 —— 免费的一站式DevOps

聊聊实际

去年第一份实习,做的是前端开发,公司用的自建 gitlabjenkins ,项目流程是:产品给需求,前后端负责人建仓库分配权限,开发完后push,在协同软件中产品、开发、测试、运维交流问题,提发版申请,测试,上正式环境

整个流程来说不是很麻烦也不是很简单,毕竟流程要一步步走,研发周期长,一般都是赶着上线。

本文通过部署一个 VitePress项目来做演示

什么是DevOps

这就不得不来一张图了

DevOps

从字面上来看, DevOps一词是由英文 Development(开发)和 Operations (运维)组合而成,但它所代表的理念和实践要比这广阔的多。 DevOps 涵盖了安全、协作方式、数据分析等许多方面。 DevOps 强调通过一系列手段来实现既快又稳的工作流程,使每个想法(比如一个新的软件功能,一个功能增强请求或者一个 bug 修复)在从开发到生产环境部署的整个流程中,都能不断地为用户带来价值。这种方式需要开发团队和运维团队密切交流、高效协作并且彼此体谅。此外, DevOps 还要能够方便扩展,灵活部署。有了 DevOps,需求最迫切的工作就能通过自助服务和自动化得到解决;

要说到 DevOps 那就又不得不说到CI/CD(持续集成/持续部署),DevOpsCI/CD思想的延伸,CI/CDDevOps的基础核心。

我们经常用开源社区GitHub中就有个类似的功能:Action,他有一个工作流的东西(云效中也有),说的是啥呢?

拿我们普通个人项目为例,我们首先需要在本地开发,开发完后要测试,然后 build,在之后要连接服务器,将build结果上传到服务器,如果是后端java类的项目我们可能要重启服务,才能运行最新版,前端项目一般来说直接上传静态资源就可以,整个过程依然十分麻烦,有没有一种可能我们测试完后,在需要一条命令就可以完成呢?那自然是有的,通过定义workflow,能在我们push的时候触发workflow,也就是说开发测试完成后pushgithub稍等一会儿线上项目就会自动同步最新版,省去了后续一大堆步骤。

说了这么大一堆,东一块西一块有啥用呢?那自然是引出阿里云 云效

什么是云效

那就得上图看看云效工具链

云效工具链

一眼看上去这么多东西怎么玩?学习是不是要很长时间?

先不慌,看看咱们熟悉的 “代码管理”、“流水线Flow”

代码管理这不是类似与GitHub吗?流水线Flow这不是类似于GitHub Action吗?至于别的可以看看 官方文档

有了上面的介绍,来看看云效界面吧

image-20220318115251768.png

我们新建一个项目看看,点击新建项目可以看到有很多模板选择,我们就直接选择 DevOps 研发 看看是不是如其名 “一站式DevOps

image-20220318115457192.png

首次使用,可能没有项目分组,需要创建一个项目分组,这里就选私有项目分组吧

image-20220318115702134.png

来到项目内,一个完整的项目生命周期映入眼帘

image-20220318115950641.png

需求

产品经理可在这个页面发布一个新需求,可以指派哪些成员去实现这个需求,需求周期,需求提醒

image-20220318115950641.png

这个在任务面板也能创建

迭代

迭代面板可以看到每一个需求、任务、缺陷、里程碑的 实时状态

image-20220318131338685.png

任务

任务一栏中,项目中每个成员都能清楚看到自己的分工

image-20220318131435516.png

省去了协同办公软件上繁多的需求文档,自己的不是自己的都在一起,亲身经历深受其扰,有了云效,谁登录就能精准定位自己的任务,极大提高了效率

右边工作区分隔的很明显,能很好把握项目整体进度

image-20220318132123021.png

看板中每个任务状态

image-20220318132832974.png

代码

喜闻乐见的代码环节,就像GitHub创建代码库一样简单

image-20220318133545173.png

这里我们试试 快速初始化中的标准智能化仓库

创建完成后会自动与项目绑定,同时会跳转到 https://codeup.aliyun.com 网站

image-20220318135124054.png

image-20220318135618477.png

仓库设置中除了一些Github已有的,还有云效特有的,例如集成服务中的一些功能

image-20220318135815914.png

自然少不了 阿里推出的 Java开发规约,识别依赖中的漏洞也是很实用的功能。

推送规则中通过合理的正则表达式规范项目成员git commit 规范

image-20220318140746074.png

这个也是很实用的功能了,我们来试着提交一个代码,体验一下。当然阿里云也有WebIDE

image-20220318150019970.png

这个就不多说了,需要在设置基本设置编程主语言 配置仓库主要语言

首先需要前往 云效个人设置,新建一个SSH密钥(跟Github操作一样)当然在这之前你需要绑定并验证一个邮箱,然后执行下面的命令生成密钥

ssh-keygen -t ed25519 -C "your_email@example.com" -f "C:\Users\your\.ssh\codeup_id_rsa"

然后切换到用户主目录\.ssh下,新建config文件,添加如下内容

# codeup
Host codeup.aliyun.com
HostName codeup.aliyun.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/codeup_id_rsa

保存后,执行如下命令

ssh -T codeup.aliyun.com

看到 Welcome to Codeup, 字样说明配置成功,然后就可以愉快的开发啦✌️,我们来试着搭建一个 VitePress

yarn init
yarn add --dev vitepress
mkdir docs && echo '# Hello VitePress' > docs/index.md

package.json中添加如下内容

"scripts": {
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs",
    "docs:serve": "vitepress serve docs"
}
yarn docs:dev

测试没问题后

git add .
git commit -m "feta: vitepress"
git push

然后我们配置流水线

image-20220318151734081.png

这里我们选择Node js 会自动绑定当前代码库的主分支,当然你也可以指定分支

image-20220318151856639.png

配置构建步骤,类似于Github Action的配置,当然这里部署命令需要改一下,具体看package.json文件中 script字段带有build 哪一行,自己改成build也可以的

image-20220318152410921.png

上面写的有问题 源文件目录 应该是 docs/.vitepress/dist/,Bucket Folder 目录不填

点击运行后,等待

image-20220318152641082.png

这里有一些坑,使用Node构建的时候,请先确认你的Node版本,云效

image-20220318155944128.png

这里最好选择输入指定版本,这样基本可以避免很多错误

image-20220318155149643.png

这样就好了,这里我用的是OSS上传,OSS也可以开启静态页面访问,要开启共有读权限,这样静态网站就部署好啦

image-20220318163627983.png

最后目录中应该是这样的,然后访问域名

image-20220318163836402.png

就可以看到我们的网站了,这时候将流水线关联到云效项目中

image-20220318163929533.png

image-20220318164001108.png

这样基本就完成了,至于后面的我们稍后再看,先来试试我们之前说的一行命令更新线上服务

image-20220318164315189.png

我这里是测试,所以指定代码提交即可触发真实环境一般是合并后,因为经过提交的代码测试后才会被合并到主分支,保证线上环境的安全

image-20220318164917788.png

image-20220318164950727.png

这里就会自动执行流水线部署,稍等片刻,刷新网站

image-20220318165348961.png

image-20220318165847981.png

这里后续的测试流程就不演示了,知识库就是文档,演示项目中无需文档

提交完成后就可以更改需求状态

image-20220318170259721.png

然后后续的流程交由其他负责人完成即可,我们可以进行下一个优先级高的需求了。

总结

云效优势

  1. DevOps工具链一步配齐,开箱即用
  2. 一套账号、数据体系,打通所有系统
  3. 简单易用,优秀实践经验模板化沉淀
  4. 深度集成阿里云产品,云上DevOps工具首选
  5. 多重企业级安全防控能力,安全可信
  6. 云效公共云产品,基础版,不限人数,免费使用

CI/CD功能,GitHub的确已经能完成,但没有企业会用Github来部署自己的项目吧

像我之前公司 自建 GitLab jenkins 或许是不少公司的选择,但终究依然有限制,比如产品、开发、测试、运维 不能高效沟通,多少会对项目进度有影响的。

云效 强在哪里?他把一个产品从需求到交付整个流程集合很完善。权限控制、任务分工十分明确;减少无效沟通,一切皆在看板,可以绑定钉钉,项目任何进度都可以随时通知到指定的人!

以上就是我初探云效的体验

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
目录
相关文章
|
4月前
|
敏捷开发 机器人 API
阿里云云效产品使用合集之怎么删除项目
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 缓存 Kubernetes
阿里云云效产品使用合集之一个项目下面是否可以创建多个里程碑
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用问题之提示已存在,但是创建任务的时候,只能到项目、迭代,不能关联到需求,是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 JavaScript 前端开发
阿里云云效产品使用合集之项目创建人是否可以变更
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将项目数据迁移到另外一个账号
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之项目中如何单独设置用户权限
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
敏捷开发 缓存 测试技术
阿里云云效产品使用问题之经过任务分配后,如何查看项目团队的资源日历
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用问题之如何导出项目所有的迭代列表信息
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用问题之如何查看以前项目里存放的文档
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
敏捷开发 监控 测试技术
阿里云云效产品使用问题之“共享到本项目”的视图是否可编辑
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。