精华内容
下载资源
问答
  • 华为云软件开发服务(DevCloud)是集华为近30年研发实践、前沿研发理念、先进研 发工具为一体的一站式云端DevOps平台,面向开发者提供的云服务,即开即用,随时 随地在云端进行项目管理、代码托管、代码检查、流水线...
  • U+平台、华为云平台、DevCloud; 学习使用
  • DevCloud用户手册

    2016-04-24 21:03:02
    DevCloud用户手册 华为云平台
  • DevOps系列之 —— 持续开发与集成(五)华为云 DevCloud 代码托管服务及 CloudIDE

    DevOps系列之 —— DevOps概览(一)软件产业和交付模式发展趋势
    DevOps系列之 —— DevOps概览(二)新型软件技术及交付模式
    DevOps系列之 —— DevOps概览(三)DevCloud HE2E DevOps 框架及其主要服务
    DevOps系列之 —— 持续规划与设计(一)敏捷项目管理理念与方法实践
    DevOps系列之 —— 持续规划与设计(二)规划与设计
    DevOps系列之 —— 持续规划与设计(三)敏捷项目管理的方法【Kanban 与 Scrum】
    DevOps系列之 —— 持续规划与设计(四)敏捷需求管理【用户故事 & 敏捷估算】
    DevOps系列之 —— 持续规划与设计(五)团队与协作
    DevOps系列之 —— 持续规划与设计(六)华为敏捷项目管理企业实践
    DevOps系列之 —— 持续开发与集成(一)持续集成理念、方法及实践
    DevOps系列之 —— 持续开发与集成(二)代码托管与分支策略(Git Flow、GitHub Flow & GitLab Flow)
    DevOps系列之 —— 持续开发与集成(三)Git 基本概念及主要操作
    DevOps系列之 —— 持续开发与集成(四)代码提交及代码评审
     
    DevOps 系列文章,持续更新中 ~~~

    华为云 DevCloud 代码托管服务及 CloudIDE

    华为云 DevCloud 代码托管服务

    CodeHub 的安全优势

    • 代码托管服务也叫 CodeHub,是云端的代码仓库
    • CodeHub 的安全优势有两个层面
      • DevCloud 层级
      • CodeHub 层级
        在这里插入图片描述

    DevCloud 层级

    • 访问控制
      • 公有云采用 租户+用户+用户组+角色 统一模型对权限进行控制,DevCloud在管理面按照本模型进行控制,在业务面基于角色权限模型进行控制,确保每个租户/用户只能访问已授权的资源
    • 鉴权
      • 基于 IAM 进行认证,认证通过后,以返回的 Token 进行访问 DevCloud 服务
    • 基于角色与权限的细粒度授权
      • 不同的角色,在不同的服务中,根据不同的资源,可以有不同的操作权限

      细粒度模型,通俗的讲就是将业务模型中的对象加以细分,从而得到更科学合理的对象模型,直观的说就是划分出很多对象

    • 不可抵赖性
      • 基于 IAM Token 机制,所有操作都必须带有 Token,租户身份无法伪造
    • 数据保密性
      • 数据传输采用 HTTPS 、SSH 等安全协议
      • 对于敏感信息,进行加密存储
    • 通讯安全
      • 使用 HTTPS、SSH 安全协议
    • 数据完整性
      • 关键信息均保存在内部数据库中
    • 可用性
      • 各个服务都是集群方式
    • 隐私
      • DevCloud 不涉及到租户及用户的隐私

    CodeHub 层级

    • 基于角色与权限的细粒度授权
      • 提供针对代码访问的,更加细粒度的授权模型
    • 不可抵赖性
      • 提供代码仓库的完整访问日志
    • 数据加密
      • 用户的代码在 CodeHub 中,是以加密方式存储的

    CodeHub 的关键流程

    在这里插入图片描述

    创建代码仓库

    • 在代码托管的仓库列表页面,点击新建仓库
      • 分为代码托管服务的总列表,与某一个项目下的代码仓库列表
      • 未创建项目前,无法创建仓库 —— 代码仓库一定要从属于某个项目
        在这里插入图片描述

    代码仓库的模式

    • 有三种新建仓库的模式
      • 普通新建 —— 空白仓库
      • 基于模板创建仓库:内置上百种模板仓库,同时支持用户分享模板
      • 导入外部仓库:支持导入外部的 Git 仓库和 SVN 仓库

    代码仓库的角色与成员

    • 管理员可以从成员列表进入,管理代码仓库的成员,对应到研发环节的各个成员
      在这里插入图片描述

    上传代码到服务器

    • 支持 SSH / HTTPS 协议
      • CodeHub 支持通过 SSH 协议与 HTTPS 协议,读写代码仓库
      • 基本上所有主流的 Git 客户端,都支持这两种协议
    • 支持 WebHook
      • 在代码仓库发生变动时,可以主动的通知用户配置的 Hooks 服务器
    • 支持 IP 白名单设置
      • 在 IP 白名单范围内的仓库访问才是允许的,除此之外其他 IP 发起的访问一律被拒绝

    确定开发规范

    • 在仓库配置中设置开发规范
    • 设定默认分支:master
    • 确定保护分支:master 与 develop
    • 确定分支的命名规范
      • Features / abc 【特性描述】
      • hotfix / 115 【问题单日期】
    • 确定版本的命名规范,并用这个规范来打标签
    • 确定团队内部统一的 Commite 规范
    • 确定合并请求的参与者,职责

    CodeHub 开发流程

    • 开发人员下载代码
    • 创建工作分支
    • 提交代码
    • 创建合并请求
    • 邀请团队成员,参与代码评审
    • 仓库管理员,审视后台合入代码
      在这里插入图片描述

    开发进展情况

    • 查看关联工作项,便于了解本次提交具体对应哪个功能
    • 查看提交历史
    • 查看仓库统计
      • 通过语言、提交频率等多个维度呈现的图形化统计功能

    CodeHub 权限管理

    • 仓库的可见性,代码仓库,有三种可见范围
      • 私有:仓库仅对仓库成员可见,仓库成员可访问仓库或者提交代码
      • 公开只读:仓库对所有访客公开只读,但不出现在仓库列表及搜索中
      • 公开示例模板:仓库公开只读,且出现在华为开发者中心,并成为全站都能使用的代码模板
    • 角色与权限介绍
      • 仓库管理员可执行:浏览类、开发类、仓库管理类操作
      • 开发人员可执行:浏览类,开发类操作
      • 浏览者只能浏览各种信息,包括代码、成员列表和统计信息,操作日志除外
    • 成员管理建议
      • 从管理安全的角度,我议用户,执行最小授权原则,只在必要时,授予有限的人员,当前工作所必须的权限
      • 定期检查小组成员列表与成员权限,确保已经与项目无关的人员能及时退出
      • 部署密钥的作用是自动化构建时拉取代码,不要将部署密钥用于个人获取代码

    CodeHub 分支管理

    在这里插入图片描述

    • 保护分支
      • 通过设置保护分支,能够确保分支代码安全,并阻止强行推送代码,删除分支等操作
      • 一般将 master 分支设置为保护分支
      • 如果严格执行 Git-Flow,则应增加一个 Develop 分支,也设置为保护分支
    • 开发分支
      • 固定接受合入代码的分支,可以设置进阶的开发分支规则
      • 自动合入代码,在小规模团队,简单项目中适用,能够大大的提升效率。复杂项目需慎用
      • 自动关闭代码,在代码质量有严格要求的团队适用
    • 特性分支与 BugFix 分支
      • 基于Git-Flow工作流,除了Master、Develop 和 Release 分支之外,会有多条短时间存在的特性分支和 BugFix 分支
      • 在开发完成,代码被后合入后,这些分支应该被删除
      • 分支的命名是团队内部协商的结果,需要有明确的约定规范
    • 标签策略
      • 标识阶段性的成果,关键在于版本的命名规范

    CodeHub 代码评审

    在这里插入图片描述

    • 角色划分
      • 一次代码评审( Code Review ),包含提交者、合并者与评审者的固定角色,其他团队成员,也可以围观和评论
      • 提交者发起代码的合并请求,并设置合并者与评审者(可多位人员)
      • 评审者和合并者可以给这个合并请求评分,或发出评论
      • 合并者可以根据代码质量与自动化检查的结果,确定是否合入代码
    • 打分机制
      • 代码仓库可以设置任一合并请求的最低合入得分,通过设置合理的分值,可以促进团队内,更多的成员,参与代码的评审
      • 管理员可以+2 或-2 分,普通的成员,可以+1分或-1分
      • 团队内的所有成员,都可以参与评分,提交者也可以邀请更多的人来参与打分

    CodeHub 关键特性

    • Git 代码仓库
      • SSH/HTTPS协议支持
      • 分支与标签支持
      • 代码提交历史
      • 仓库网络
      • WebHook
    • 安全特性
      • 成员权限管理
      • 保护分支与开发分支管理
      • 消息通知机制
      • 安全白名单
      • 操作日志
    • 其他特色功能
      • Code Review
      • 在线编辑
      • 统计图表
      • 基于模板创建仓库
      • 导入 Git / SVN 仓库

    华为云 CloudIDE

    概述

    • CloudIDE 是 DevCloud 的云端开发环境服务,向开发者提供按需配置、快速获取的工作空间(包含编辑器和运行环境),支持完成环境配置、代码阅读、编写代码、构建、测试、运行、调试、预览等操作,并支持对接多种代码仓库
      在这里插入图片描述

    CloudIDE 特性列表

    特性描述
    云化和轻量化依托华为云的计算和存储资源,实现云化开发环境供给,通过浏览器访问就可完成开发全过程,实现移动办公
    快速按需容器化用户工作空间基于全容器技术,极短时间即可按用户所需配置(计算和存储)启动并提供服务,用后随时释放
    多语言和技术栈支持40多种语言的语法高亮,支持Java 等语言的语法补齐,支持7种预置技术栈,无需复杂配置环境即可就位
    试图风格可切换提供亮色和暗色两种视觉风格,编辑器提供多种视图布局,还支持满屏编辑和边栏收缩
    后端环境可配置提供页面终端(WebTerminal)直接访问后端容器环境,以命令行设置变量、处理文件和配置其他环境因素
    构建运行和测试提供命令管理器以支持构建(Build)和运行(run),对Java 等语言还支持断点调试
    可对接三方服务处理对 Git 仓库(DevCloud代码仓库或Github等)的支持,还提供对接第三方服务(即通过外网通道对接其他开放服务)的能力
    企业化权限管控提供基于黑白名单的访问控制能力,为企业租户提供掌控子用户行为的管理面

    CloudIDE 服务概述

    • CloudIDE:定义一种新的在线编程体验
    • 传统的代码编辑器是轻量级,以编辑体验为中心,支持多语言高亮显示,并且可以快速访问文件
    • 本地化IED功能强大(比如eclipse,idea),通常支持代码编辑,项目系统,调试,自动化构建等
    • WebIDE则继承了双方的优点
      在这里插入图片描述
    • CloudIDE:运行在云端的轻量级集成开发环境
    • CloudIDE服务特性
      • 按需获取,轻量,极速
      • 支持主流编程语言
      • 打通开发态和运行态
      • 丰富的插件生态
      • 支持华为鲲鹏原生
        在这里插入图片描述

    CloudIDE 产品特性

    • 开发者可以通过开发桌面,智能终端,移动设备访问华为云cloudIDE,同时cloudIDE可以连通华为云其他应用:kunpeng,DevCloud, Modelarts等
      在这里插入图片描述

    服务集成

    对接 CodeHub

    • 在DevCloud的很多应用中,如CodeHub 我们可以直接用CloudIDE打开代码文件
      在这里插入图片描述

    对接 Classroom

    • 在classroom应用中,学生可以直接在编程作业中进入CloudIDE,直接编写代码,省去了本地搭建研发环境的精力
      在这里插入图片描述

    方案集成(集成华为云 ModelArts SDK 样例)

    Modelarts是华为云AI学习平台

    • 将代码上传至DevCloud的CodeHub,然后以代码为
      基础创建CloudIDE实例,并加载modelarts sdk,修改配置文件后,即可调用Modelarts应用进行模型训练了
      在这里插入图片描述

    最后,欢迎大家关注我的个人微信公众号 『小小猿若尘』,获取更多IT技术、干货知识、热点资讯。同时,我在公众号中分享了精心整理的一些视频资料(包括 Python全栈教程、AI教程、前端、数据库等),大家回复相应关键词即可获取网盘视频链接,感谢大家的关注😊

     在这里插入图片描述

    展开全文
  • 摘要:在“DevOps能力之屋(Capabilities House of DevOps)”中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力。华为云DevCloud将推出“DevOps on DevCloud”系列,针对DevOps领域场景,...

    摘要:在“DevOps能力之屋(Capabilities House of DevOps)”中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力。华为云DevCloud将推出“DevOps on DevCloud”系列,针对DevOps领域场景,阐述该场景在华为云DevCloud上的实施方法与实践。

     

    引言

    在“DevOps能力之屋(Capabilities House of DevOps)”中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力。华为云DevCloud将推出“DevOps on DevCloud”系列,针对DevOps领域场景,阐述该场景在华为云DevCloud上的实施方法与实践。本文阐述了企业A在实施DevOps过程中,如何一步步采用华为云DevOps平台。此客户成功故事,希望为采用DevOps平台的企业提供借鉴。为行文阅读,本文中企业A将以第一人称(“我”或者“我们”)来进行阐述。

    目前,在产品团队的不断努力下,从第一次接触华为云DevCloud开始,现在我们终于拥有了优雅、全面的一站式DevOps解决方案,团队成员不必再费心劳力地使用和维护多种工具及版本。然而回首过去,我们的DevOps持续交付流水线,就像大多数公司和开源项目一样,有很多混杂的产品、服务和脚本,都松松散散勉强一起使用。同时来自不同公司的不同DevOps工具并不总是能够很好地兼容,情况越发复杂。简而言之,我们有很多工作要做,但最终,我们决定要统一工具的行为和目标。

    采用华为云DevCloud,我们经历了6个关键阶段。我们希望这会给通往DevOps涅槃路上的企业提供帮助。

     

    第一步:找到你的痛点

    也许,对于大多数的企业,包括我们自己,DevOps转型的最大动力往往来自于“火烧屁股”,主动转型多数时候是奢谈。正如微软Donovan Brown在谈论到DevOps时经常说:“找到最伤人的东西,围绕它去做很多很多的事儿,使它越来越好,直到它不再伤人。”这也成为我们的座右铭。

    如果你打算采用DevOps,并且正在考虑使用DevCloud,那么首先审视一下自己:在我们的DevOps流水线中,最痛苦的事情是什么?没有足够的单元测试?部署新版本太多手工操作导致容易出错?即使你已经到达了DevOps的顶峰,即使你的发布是可以一键部署,你仍然可能在生产中中断某件事情。然而,你会发现你没有合适的工具来告诉你错在哪里;也许是某些事情遇到了瓶颈,或者只是没有按预期的方式工作。因此,让我们找出这些痛点并从那里开始。   

     

    第二步:源代码版本控制

     “代码”作为软件研发的核心产物,因而源代码版本控制是DevOps的基石。在DevOps异地协同上,集中式的SVN远不如分布式Git,因此,很多公司(包括我们自己)将代码从SVN迁移到Git上。这样,你可以使用华为云DevCloud的代码托管服务。华为云DevCloud也提供了迁移指南通过工具或者脚本来帮助企业进行迁移,大大简化了相关工作。

    当然,如果你采用Git,应该充分意识:No PainsNo Gains。对于新手来讲,Git需要一个巨大的学习曲线,合并、推送、拉取,变基等很多操作有一点儿复杂。这儿有一个很好的建议,当你开始使用Git时,可以像对待以前的版本管理系统一样对待它,如果你把你所知道的相关知识转义一下应用到Git上,你就可以摆脱初始学习的困境了。对于其他复杂的操作,随着时间的推移,你将开始适应它,水到渠成地学会使用那些强大的功能。

    现在整个行业最近都在迅速采用Git,但愿你不会迟到。Git有一个真正具有变革意义的杀手级功能——轻量级分支。Git创建分支的本质只是只是创建一个指针。当然选用哪种分支模型(GitFlowGitlab FlowGitHub Flow或者自定义flow),产品团队需要考虑团队生产力和个人生产力之间的平衡。建议从成熟的flow模型开始。

     

    第三步:任务管理

    任务管理是产品团队除了源代码版本控制外必须做好另一个基础工作。我们一直在使用业界某主流敏捷项目管理工具T。我们非常喜欢它的简单,在看板的工作跟踪时,只有“未完成”、“进行中”、“已完成”等3个状态。但是随着研发需求的增加,简单的状态跟踪无法满足我的需求。此外,我在拿到客户需求的初期,希望对产品做一个需求规划,让团队可以按照发布或迭代进行需求拆解。

    DevCloud的项目管理服务解决了这些痛点,例如思维导图可视化按层级进行需求规划、标准的Scrum方法、可以自定义工作项状态。当然这意味着你失去了简单明了的方式。                                            

    Scrum板视图中查看工作项状态

    归根结底,你可以选择你钟爱的工具,例如至为简洁的敏捷项目管理工具T,它可以工作得很好,但是你将丢失可追溯性。而华为云DevCloud可以帮你在DevOps方面做得更多,例如需求工作项与代码提交的关联,需求工作项与测试用例和缺陷的关联等。

     

    第四步:拥抱CI/CD

    在使用华为云DevCloud前,我们使用的是某主流工具C。它实际上是一个非常好的持续集成产品,它提供On PremisesSaaS版本。

    使用DevCloud编译构建服务的一个好处是构建启动的速度变得飞快。对于工具C,每当我们需要一个新的构建时,就会提供一个VM,这可能需要510分钟。这个前置时间太久,变得很烦人。而华为云DevCloud拥有了一个热的、随时可以在云中构建的机器池,所以只要有人提交一个新的提交,构建就会立即发生。

    以前,我们的部署过程是手动的,我们需要运行一堆批处理脚本。而使用DevCloud流水线是一种乐趣,它不仅仅可以支持一键全自动部署,将变更投入生产,而且提供了完美的可视化编排,可以将构建、部署、自动化测试等纳管起来,并根据实际需要定制多级流水线,加入质量门禁、人工审核等控制。

     

    第五步:Bug跟踪

    在此之前,我们使用ExcelBug进行跟踪,随着团队人数的增加,分清Excel版本已经足够让我们头疼了。使用了DevCloud之后,简直给我们的工作带来了不可思议的改变。

    首先,Bug跟踪在早例会的直观展示。当我们开早会时,将Scrum缺陷跟踪板投屏,可以通过过滤筛选每个成员手中的Bug状态和等级,便于识别风险。

    其次,Bug跟踪与需求、测试的关联。DevCloud中基于需求创建测试用例,测试用例失败生产Bug,实现了需求-测试用例-缺陷双向关联。

    最后,多维度的Bug统计。在DevCloud统计报表中,预置了多种Bug统计报表,用户也可以根据自己的需要自定义统计报表。

                     

     

    DevCloud预置的缺陷统计模板

     

    第六步:定制DevCloud适应项目需求

    不要陷入DevCloud希望你工作的方式中。如果有众多不同的状态,比如批准、已提交、已解决、已验证,请不要盲目屈从于产品对敏捷或Scrum的定义或者那些对你不起作用的东西。先问问自己什么是可能起作用的最简单的事情,然后在DevCloud上开展工作。最为重要的是,不要因为DevCloud产品经理想的太多而强迫自己过度思考,无所适从。

    自定义相对比较简单,因为DevCloud提供了工作项字段、模板、状态流转等的可定制性。你可以用它来增加东西,但你也可以用它来减轻东西。所以,把对你没有意义的东西拿走,只保持最低限度。你只需把它作为一个工具来了解你的团队在做什么,并传达优先事项,保持它的简洁与实用。

    采用华为云DevCloud最重要的是,它作为一个全面的解决方案所带来的聚集效应。你可以选择只使用其中的部分服务,然而如果你选择使用尽可能多的服务,你将发现令人震惊的积极变化。当然,这并非没有困难,一蹴而就。DevOps转型面临不同层面的变革,从改变企业文化,到整个组织的新的工具平台的投资,到团队成员的知识与技能水平。但请相信,这确实是一个短期痛苦、长期收益的改变!

    全面的解决方案无疑会是一个赢家。一旦我们采用了一体化工具平台,向我们的客户交付软件就变得更容易、更自动化,甚至是一个很好的体验。无论如何,采用华为云DevCloud会失去什么呢?我相信无论只使用部分服务,还是全部服务,它只会给你带来更多的业务效益,以及高效的交付体验。

     

    点击这里→了解更多精彩内容

     

    相关推荐

    “敏捷+ DevOps”先行,效能提升助推企业升级

    敏捷&DevOps知识卡大全(内附下载资料)

    云图说 | ContainerOps推出灰度发布模式,助力企业落地容器DevOps最佳实践

    【测试微课堂】DevOps敏捷测试之道

    物理看板和电子看板该如何选择?(内附下载材料)

    科技感满满,华为云DevCloud推出网页暗黑模式

    展开全文
  • Git与华为云DevCloud

    2021-11-27 19:08:09
    ssh -vT git@codehub.devcloud.huaweicloud.com 如果返回内容含有“connect to host codehub.devcloud.huaweicloud.com port 22: Connection timed out”,如下图所示,则您的网络被限制,无法访问代码托管服务,请...

    1、服务概述

    代码托管(CodeHub)是遵循Git的基本运行模式的分布式版本管理平台,其具备安全

    管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能,旨在解决软件开

    发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。

    如果您计划开始一个新项目,那么您可以选择使用代码托管内置的仓库模板创建仓库

    并开始开发,流程请参见从云端开始研发项目

    如果您本地正在开发一个项目,想使用代码托管服务来管理版本,可以将项目迁移到

    云端,流程请参见将本地项目迁移到云端

    从云端开始研发项目 

    如果您全新开始一个项目,那么您可以选择使用代码托管服务为您提供的仓库模板来

    创建项目并开始开发,其使用流程如下。

     

     

    2、按模板新建仓库

    使用代码托管服务提供的模板新建仓库,适用于本地没有仓库,希望按模板初始化一

    个仓库的情景。在代码托管服务控制台按模板新建仓库的步骤如下:

    步骤1

    进入代码托管服务首页(注意切换到您对应的区域)。

    步骤2

    单击“普通新建”,在扩展框中选择“按模板新建”,弹出“选择模板”页面。

     

    步骤3

    “选择模板”页面支持模糊查询,根据您的需求选中某个模板(普通新建)
    进入“按模板新建仓库-详情”页面,填写仓库基本信息。

    按模板新建仓库的参数说明

     

    步骤4 

    点击确定完成


    仓库成员管理

     

    仓库成员管理功能位于仓库详情的“成员列表”页签。

    只有仓库创建者(所有者)、仓库管理员才能对仓库人员进行变动,其他人员只能浏览仓库成员列表如 

     

    1、设置进入

     

    2、仓库进入

     

    进入后先完成添加成员操作

    项目下成员同步策略

     

    说明

    ●项目经理会默认成为仓库的管理员。

    ● 如果想将项目经理移出仓库,需要前往项目的设置中,调整其角色。

    ● 当“项目下成员同步策略”勾选了相关人员自动同步策略,有用户加入到项目时会自动同步

    进入仓库。

    ● 去除勾选“项目下成员同步策略”,使用“立即同步”按钮,会立即移除相关人员。

    仓库成员权限

    仓库创建的权限

    仓库内操作、浏览的权限

     

     

    3、克隆/下载云端仓库到本地

    概述

    首次将仓库克隆/下载到本地的方式主要分为以下三种:

    1使用SSH协议克隆云端仓库到本地;

    2 使用HTTPS协议克隆云端仓库到本地;

    3 从浏览器下载代码包;

    使用HTTPS协议克隆云端仓库到本地

    步骤一、下载Git Bash客户端

    步骤二、设置HTTPS密码

    什么是 SSH 密钥/HTTPS 密码:

    当您需要将代码推送到云端仓库或从云端仓库下拉代码时,云端仓库需要验证您的身份与权限,SSH和HTTPS是对代码托管服务进行远程访问的两种身份验证方式。

    SSH密钥是在本地计算机与您账号下的代码托管服务之间建立安全连接。

    在一台本地计算机上配置了SSH密钥并添加公钥到代码托管服务中后,所有该账

    号下的代码仓库与该台计算机之间都可以使用该密钥进行连接。

    不同的用户通常使用不同的电脑,在使用SSH方式连接代码仓库前需要在自己电

    脑生成自己的SSH密钥,并设置到代码托管服务中。

    HTTPS密码是HTTPS协议方式下载、上传时使用的用户凭证。

    每个开发者,只需要设置一次密码,所有该项目下的仓库都会生效。

    在本产品中,HTTPS协议所支持的单次推包大小为500M,需传输大于500M时,

    请使用SSH方式。

    说明:

    使用其中任何一种方式都可以进行代码的上传下载,密钥(密码)的设置根据您选择的连接方式设定即可。
    设置HTTPS密码步骤

     

     

    步骤三、获取仓库地址

     

    仓库地址

     

    步骤四、打开Git Bash客户端

    在本地计算机上新建一个文件夹用于存放代码仓库,在空白处单击鼠标右键,打开Git Bash客户端。

    说明:克隆仓库时会自动初始化,无需执行init命令。

    步骤五、输入如下命令,克隆云端仓库。

    git clone 仓库地址

    命令中“仓库地址”即步骤3中获取的SSH/HTTPS地址。

    (SSH)如果您是第一次克隆仓库,会询问您是否信任远程仓库,输入“yes”即可。

    执行成功后,您会看到多出一个与您在云端新建的仓库同名的文件夹,并且其中有一个隐藏的.git文件夹,则说明克隆仓库成功。
    (HTTPS)打开Git Bash客户端进入您的目录下,输入以下命令进行仓库克隆,其中第一次克隆需要您填写用户名(账号名/用户名)和HTTPS密码。

    git clone <您的HTTPS下载链接>

     

     

    步骤六、此时您位于仓库上层目录,执行如下命令,进入仓库目录。

    cd 仓库名称

    进入仓库目录,可以看到此时Git默认为您定位到master分支。

     

    --结束

    说明:

    客户端在git clone 代码仓库时失败的原因排查:

    确保您的网络可以访问代码托管服务。

    请在git客户端使用如下测试命令验证网络连通性。

    ssh -vT git@codehub.devcloud.huaweicloud.com

    如果返回内容含有“connect to host codehub.devcloud.huaweicloud.com port 22:

    Connection timed out”,如下图所示,则您的网络被限制,无法访问代码托管服务,请求助您本地所属网络管理员。

     

    4、提交代码到云端

    操作步骤
    一般情况下,开发者不会直接在master分支中进行开发,而是基于master或者dev分支创建一条feature分支,在feature中进行开发,然后将其推送到云端仓库,最后在云端仓库中将其合并到master或dev分支中,下面我们将模拟以上操作。

    ①.进入本地仓库目录,打开Git客户端,本案例以Git Bash为例,其它使用Git进行管理的工具的原理和命令使用基本是一致的。

    ②.基于master分支新建一条分支feature1001,并切换到其中,在master分支中执行以下命令。

    git checkout -b feature1001 #如下图①

    这个命令相当于先新建分支,然后直接切换到此分支。

    执行成功如下图中②所示,此时可用ls命令查看其中包含的文件(如下图中③),此时他与master分支中内容是一样的。

     

    ③.在feature分支中进行修改(代码开发)。

    Git是支持Linux命令的,本案例我们用touch命令新建一个newFeature1001.html文件,代表开发者已经在本地完成了新特性的开发,其对本地代码库的影响是新增了文

    件。

    touch newFeature1001.html

    创建后再次使用ls命令可以看到多出了这个文件。

    ④.使用add、commit命令依次将文件从工作区加入暂存区,再提交到本地版本库。

    期间可以穿插使用status命令,观察文件状态。

    1.使用status命令看到,目前工作区有一个文件未纳入版本管理,如图中①。

    2.使用add命令将文件加入暂存区,如图中②。

    git add . #使用“.”代表所有文件,包括隐藏的,也可以直接指定某个文件

    3.使用status命令看到,文件已经加入到暂存区,正在等待提交的状态是绿色(参考①红色)。

    4.使用commit命令将文件提交到本地版本库,如图中③。

    git commit -m “您的提交备注”

    5.再次查看状态,没有可处置文件,说明提交成功了,如图中④。

     

    ⑤将本地的分支推送到远程云端仓库。

    git push --set-upstream origin feature1001

    本命令会在云端仓库新建一条与您本地feature1001一样的分支,并将其进行关联、同步。

    其中origin是您的远端仓库别名,一般直接可控的仓库默认别名为origin,您也可以直接用仓库地址代替。

    查看云端分支:如下图

    5、分支管理合并审查

    什么是分支

    分支是版本管理工具中最常用的一种管理手段,使用分支可以把项目开发中的几项工作彼此隔离开来使其互不影响,当需要发布版本之前再通过分支合并将其进行整合。

    在代码托管服务/Git仓库创建之初都会默认生成一条名为master的分支,一般作为最新版本分支使用,开发者可以随时手动创建自定义分支以应对实际开发中的个性场景。

    关于分支的常用 Git 命令

    新建分支

    git branch <分支名称> #在本地仓库基于目前的工作区,创建一条分支

    切换分支

    git checkout <分支名称> #切换到指定分支

    新建并直接切换到新建的分支
    有一种快速的操作办法,可以直接新建并切换到新建出来的分支,其用法如下:

    git checkout -b <分支名称> #在本地仓库基于目前的工作区,创建一条分支,并直接切换到该分支

    查看分支

    我们可以使用对应的命令查看本地仓库的分支、远程长仓库的分支,亦或是全

    部,这组命令只是将分支名称罗列,如果想查看分支内的具体文件,请使用 切换分支。

    git branch #查看本地仓库分支

    git branch -r #查看远程仓库分支

    git branch -a #同时查看本地仓库与远程仓库的分支

    合并分支

    当一条分支上的开发任务完成了,有时需要将其合并到另一条分支,以做功能归

    档,分支合并可以理解为将另一条分支最新的修改同步到当前所处分支,其用法

    如下:

    git merge <要合并过来的分支的名字> #将一条分支合并到当前的分支中

    分支合并前一般要先切换到被合入的分支,下面以将branch002 合入到master分支为例进行演示:

    git checkout master #切换到master分支

    git merge branch002 #将名为 branch002 的分支合入到master分支

    Ø解决冲突

    冲突的表现

     

    冲突的解决

    第一步:编辑文件,删除特殊符号

    第二步:把文件修改到满意的程度,保存退出

    第三步:git add [文件名]

    第四步:git commit -m “日志信息”

    注意: 此时commit 一定不能带具体文件名

    删除本地分支

    git branch -d <分支名>

    删除远程仓库分支

    git push <远程仓库地址或别名> -d <分支名>

    将本地新建的分支推送到远程仓库

    git push <远程仓库地址或别名> <分支名>

    展开全文
  • DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师。 官方网站:devui.design Ng组件库:ng-devui(欢迎Star) 官方交流:添加DevUI小助手...

    DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师。
    官方网站:devui.design
    Ng组件库:ng-devui(欢迎Star)
    官方交流:添加DevUI小助手(devui-official)
    DevUIHelper插件:DevUIHelper-LSP(欢迎Star)

    前言

    本文以DevUI组件库网站为例,介绍如何用DevCloud流水线自动化部署一个前端应用。

    本文可以认为是《手把手教你搭建自己的Angular组件库》的续集,当我们搭建好组件库之后,如何将其网站部署到服务器。

    1 搭建服务器环境

    本机开发完代码,并push到远程代码仓库,还需要部署到服务器上,用户才能访问到。

    因此为了部署你的应用,第一步需要购买一台服务器,为了节省成本,一般都会购买按需使用的云服务器,如何申请云服务器就不介绍了,下面介绍如何在Linux服务器搭建Nginx服务。

    1.1 安装Nginx

    Web应用通常都会使用Nginx作为反向代理。

    为了让用户可以访问我们的应用,需要在服务器安装Nginx应用。

    我们使用源码编译方式安装最新版本的Nginx,主要分成以下步骤:

    • 下载
    • 解压
    • 配置
    • 编译
    • 安装

    1.1.1 下载Nginx源码

    先在Nginx官网下载页找到Linux版本的Nginx源码包地址,然后使用wget命令下载Nginx源码安装包。

    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    

    1.1.2 解压

    使用tar命令进行解压。

    tar -zxvf nginx-1.18.0.tar.gz
    

    1.1.3 配置

    先进入nginx源码的根目录,然后执行configure配置脚本,这里只配置了nginx的安装目录。

    cd nginx-1.18.0
    ./configure --prefix=/usr/local/nginx
    

    执行完发现报错了,原来是缺少依赖库。

    [root@ecs-kagol nginx-1.18.0]# ./configure --prefix=/usr/local/nginx
    checking for OS
     + Linux 3.10.0-862.14.1.5.h428.eulerosv2r7.x86_64 x86_64
    checking for C compiler ... found
     + using GNU C compiler
     + gcc version: 4.8.5 20150623 (EulerOS 4.8.5-28) (GCC)
    checking for gcc -pipe switch ... found
    ...
    checking for PCRE library in /usr/local/ ... not found
    checking for PCRE library in /usr/include/pcre/ ... not found
    checking for PCRE library in /usr/pkg/ ... not found
    checking for PCRE library in /opt/local/ ... not found
    
    ./configure: error: the HTTP rewrite module requires the PCRE library.
    You can either disable the module by using --without-http_rewrite_module
    option, or install the PCRE library into the system, or build the PCRE library
    statically from the source with nginx by using --with-pcre=<path> option.
    

    主要需要安装pcre/zlib/openssl三个依赖库,我们使用yum包管理工具(类似Node的npm包管理工具)来安装。

    yum -y install pcre-devel zlib-devel openssl-devel
    

    安装完依赖库之后再次执行configure脚本,Nginx配置成功,配置结果如下:

    ...
    checking for getaddrinfo() ... found
    checking for PCRE library ... found
    checking for PCRE JIT support ... found
    checking for zlib library ... found
    creating objs/Makefile
    
    Configuration summary
      + using system PCRE library
      + OpenSSL library is not used
      + using system zlib library
    
      nginx path prefix: "/usr/local/nginx"
      nginx binary file: "/usr/local/nginx/sbin/nginx"
      nginx modules path: "/usr/local/nginx/modules"
      nginx configuration prefix: "/usr/local/nginx/conf"
      nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
      nginx pid file: "/usr/local/nginx/logs/nginx.pid"
      nginx error log file: "/usr/local/nginx/logs/error.log"
      nginx http access log file: "/usr/local/nginx/logs/access.log"
      nginx http client request body temporary files: "client_body_temp"
      nginx http proxy temporary files: "proxy_temp"
      nginx http fastcgi temporary files: "fastcgi_temp"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"
    

    我们注意到执行完configure配置脚本之后,生成了一个Makefile文件,该文件就是用来编译Nginx源码的。

    1.1.4 编译

    相比配置,编译的步骤就简单多了,只需要执行make命令即可。

    make
    

    1.1.5 安装

    编译完之后就是安装了,这一步才会真正在/usr/local/nginx目录下生成相应的文件。

    make install
    

    安装完之后,在/usr/local/nginx目录下已经生成了运行Nginx应用需要的所有文件。

    1.1.6 运行启动Nginx

    执行nginx目录下的sbin/nginx就可以直接启动Nginx啦。

    /usr/local/nginx/sbin/nginx
    

    1.1.7 验证是否启动成功

    在本机浏览器中输入服务器的公网IP地址,即可访问Nginx应用。

    这里显示了Nginx的欢迎页面,等我们部署好自己的Web应用之后,这个网页将显示我们自己的网站首页。

    2 手工部署流程

    我们在本机开发完DevUI网站的代码之后,执行npn run build,这时将在dist目录得到DevUI网站的所有静态资源文件,可以先在本地用anywhere看下效果。

    为了将其部署到服务器,并通过Nginx服务器访问,我们需要将这些文件上传到服务器的nginx目录,一个一个文件传肯定不现实,需要将其压缩打包,然后上传到服务器,最后解压到nginx的html目录就算部署完成。

    Step 1: 压缩打包 tar

    Step 2: 解压部署 deploy

    2.1 压缩打包

    npm run build构建出来的静态资源都存放在dist目录下,只需要执行以下命令即可生成tar压缩包:

    tar czvf devui.tar.gz ./dist
    

    2.2 解压部署

    登录服务器,使用rz命令将上一步生成的tar包上传到Linux服务器,然后使用tar命令解压到nginx的html目录即可完成部署。

    tar zxvf devui.tar.gz
    

    如果每次开发完都需要手动执行以上步骤,将会非常麻烦,并且很容易出错。

    为什么不将其自动化呢?

    3 使用DevCloud流水线实现自动部署

    DevCloud是集华为研发实践、前沿研发理念、先进研发工具为一体的软件开发平台,为了实现Web应用的自动化部署,我们主要需要使用DevCloud的流水线/编译构建/发布/部署4个服务。

    主要分成以下4个步骤:

    1. 创建DevCloud项目
    2. 创建流水线
    3. 创建构建任务
    4. 创建部署任务

    3.1 创建DevCloud项目

    由于DevCloud所有服务都是通过项目承载的,因此需要先创建下项目,这里创建一个看板项目。

    先进入DevCloud首页,按以下步骤即可创建一个看板项目:

    1. 点击右上角的创建项目
    2. 选择看板项目
    3. 输入项目名称
    4. 确定

    项目创建成功之后直接进入该项目首页,点击头部菜单构建&发布下的流水线按钮即可进行流水线首页。

    3.2 创建流水线

    在流水线首页的右上角有一个创建流水线的按钮,点击即可进入流水线的创建流程。

    创建一条流水线主要分成以下步骤:

    • 输入流水线名称
    • 选择模板,这里我们选择空模板
    • 选择代码源,直接只用Github代码仓库即可
    • 自定义工作流

    选择代码源

    为了选择Github代码仓库的源,我们需要新增一个服务扩展点,获得Github的授权,这样DevCloud流水线这边才可以拉取Github的代码,进行构建、部署等步骤。

    新增扩展点的步骤也很简单:

    • 输入扩展点名称
    • 进行OAuth授权

    有了扩展点,就可以选择你的Github仓库作为代码源啦。

    选完代码源就可以创建你的流水线啦。

    可以新创建的流水线包含3个阶段,第一个阶段关联了一个Github的代码仓,第二个阶段是一个空的构建阶段,里面什么任务也没有,第三个阶段是一个不可编辑的发布仓库阶段。

    这个流水线目前什么都做不了,我们需要往里面添加任务才能完成网站的自动化部署。

    3.3 创建构建任务

    回顾下之前的手工部署步骤:

    1. 构建源代码
    2. 压缩源代码
    3. 上传软件包到服务器
    4. 解压软件包到Nginx目录

    因此我们首先需要在流水线中添加一个构建任务:

    1. 在构建阶段添加一个构建类型的任务
    2. 创建一个构建任务
    3. 在流水线选择上一步创建好的流水线

    3.3.1 在构建阶段添加一个构建类型的任务

    在构建阶段添加一个任务,然后在侧滑中选择构建类型,这时该类型下是没有构建任务的,因此没法选择,需要先创建构建任务。

    3.3.2 创建一个构建任务

    在选择需要调度的任务中点击创建按钮,进入新建构建任务的页面,按照指引创建一个构建任务:

    1. 输入构建任务名称
    2. 选择我们之前创建的Entpoint实例,以及该示例下的Github仓库
    3. 不使用模板,直接创建
    4. 添加Npm构建和上传软件包道发布库这两个构建步骤(关键)
    5. 配置构建参数

    Npm构建

    该步骤直接使用默认的构建脚本命令,只需要增加打tar包的命令即可:

    ...
    
    npm install # 安装依赖库
    
    npm run build # 普通的NG CLI生产包构建命令
    
    npm run tar # 新增
    

    tar命令:

    "tar": "node scripts/tar.js",
    

    tar.js

    const fs = require('fs');
    const tar = require('tar');
    
    fs.stat('./result', (error, stats) => {
      if (error) {
        fs.mkdirSync('./result'); // 不存在result目录则创建一个空的
      }
    
      tar.c({ gzip: true }, ['dist']) // 将dist目录下的文件全部打包
      .pipe(fs.createWriteStream('./result/devui.tar.gz')); // 将生成的tar包(devui.tar.gz)放到result目录下
    });
    
    

    上传软件包到发布库

    上一个Npm构建步骤已经将压缩包创建好了,这个任务的目的是将这个tar包上传到发布库,也就是之前流水线中的第3个阶段,方便部署时下载tar包到目标服务器。

    该步骤主要需要填写构建包路径:

    ./result/devui.tar.gz
    

    发布版本号和包名不要写死,从部署参数里拿,格式如下:

    ${releaseVersion}
    

    其中releaseVersion就是下一步需要配置的构建参数。

    配置构建参数

    codeBranch是默认的参数,我们需要增加releaseVersion和serviceName两个构建参数,一个用于每次构建时的版本号,另一个就是服务名。

    3.3.3 在流水线选择上一步创建好的流水线

    回到流水线,就可以选择上一步创建好的流水线,保存即可。

    至此构建的步骤已经搞定了,我们可以跑一下试试。

    跑完流水线我们就能在发布仓库看到我们的tar构建包:

    有了构建包我们就可以拿它去服务器部署啦,当然我们肯定不会选择手工的方式部署,而是在流水线中创建一个部署任务,让所有过程自动化进行。

    3.4 创建部署任务

    在流水线中添加部署任务和添加构建任务差不多,只需要以下3步即可:

    1. 添加一个新的阶段
    2. 在该阶段中添加一个部署类型的任务
    3. 创建一个部署任务(关键)
    4. 在步骤2中选择步骤3中创建的部署任务

    创建一个部署任务

    和创建构建任务类似:

    1. 输入部署任务名称
    2. 选择空白模板,直接创建
    3. 添加选择部署来源和执行shell命令这两个构建步骤(关键)
    4. 配置部署参数

    选择部署来源

    关键是需要选择主机组,填写软件包部署目录

    软件包就是之前发布仓库的软件包,直接从/devui/${releaseVersion}取即可,其中${releaseVersion}是部署参数,和之前的构建参数类似。

    部署目录是要将tar压缩包上传到目标机器中的目录,我们传到/devui目录中。

    主机组需要新建,选择主机组旁边的新建按钮,进入创建主机组页面,只需要以下步骤即可创建一个主机组:

    1. 填写主机组名称
    2. 添加主机(之前申请的ECS弹性云主机)

    添加主机需要填写的信息:

    1. 主机名
    2. 主机IP地址
    3. 用户名(root)
    4. 密码
    5. 端口号(22)

    执行shell命令

    执行shell命令是当你已经把tar软件包上传到目标服务器之后,希望执行的shell命令,我们当然是希望将tar包解压出来喽。

    执行以下shell即可:

    rm -rf /usr/local/nginx/html/* # 删除之前部署过的静态资源
    tar zxvf /devui/${serviceName}.tar.gz -C /usr/local/nginx/html # 解压tar包到nginx的html目录
    mv /usr/local/nginx/html/dist/* /usr/local/nginx/html/
    

    配置部署参数

    这里的部署参数和构建参数的配置方式是一样的,不再赘述。

    添加好部署任务我们就可以跑下流水线,看下效果。

    流水线跑完之后,四个阶段都会显示绿色:

    部署完之后访问咱们的主机IP地址即可看到网站效果,和DevUI官网是一样的。

    3.5 定时任务

    搭建完流水线,我们可以配置一个定时任务,每天或每周自动用指定分支跑流水线,完全不用人工干预。

    为了保障版本质量,我们也可以在配置灰度部署策略,添加拨测任务,保障每一次部署现网都不出问题。

    限于篇幅就不一一介绍了,感兴趣的小伙伴可以关注DevCloud官网,里面详细地介绍了从需求规划到研发、测试、运维整套DevOps流程的玩法。

    4 小结

    本文详细地介绍如何将一个网站的Github仓库源码自动化部署到服务器。

    先介绍申请服务器和搭建服务器环境,重点介绍在Linux服务器搭建Nginx服务的步骤;

    然后简单介绍了手动部署流程;

    最后详细介绍了如何利用DevCloud流水线工具,实现自动化部署。

    加入我们

    我们是DevUI团队,欢迎来这里和我们一起打造优雅高效的人机设计/研发体系。招聘邮箱:muyang2@huawei.com。

    文/DevUI Kagol

    往期文章推荐

    《手把手教你使用Rollup打包并发布自己的工具库》

    《前端有了这两样神器,再也不用追着后台要接口啦》

    《使用Git,10件你可能需要“反悔”的事》

     

    展开全文
  • 需要强调的是安全性是华为云重点强调的方向,为解决上云的安全性,华为云DevCloud提供加密传输、存储、备份,并为开发与运维人员的操作提供安全审计能力,华为云DevCloud上每个项目均设有基于角色的细粒度权限管理...
  • 近期,华为云DevCloud推出了开发者友好的深色模式,深受开发者们的喜爱和关注。大家都知道,深色模式(DarkMode)在iOS13引入该特性后各大应用和网站都开始支持了深色模式。在这之前,深色模式更常见于程序IDE开发...
  • 软件开发平台devcloud是持续集成(CI)持续部署(CD)工具; 应用管理与运维平台servicestage用来管理多个运行环境(例如alpha开发、beta测试、gamma集成测试、prod生产)。 devcloud关注软件的开发过程,...
  • 什么是DevCloud

    千次阅读 2020-07-17 16:17:27
    DevCloud-产品概述 什么是DevCloud? 软件开发平台(DevCloud)是集华为近30年研发实践、前沿研发理念、先进研发工具为一体的一站式云端DevOps平台,面向开发者提供的云服务,即开即用,随时随地在云端进行项目...
  • 华为云devcloud真好用

    2021-07-30 21:43:33
    团队在云上共同编写程序,很方便愉快。 可以多端随时随地办公 各线程基本互不干扰、合并简单
  • 华为云DevCloud将推出“DevOps on DevCloud”系列,针对DevOps领域场景,阐述该场景在华为云DevCloud上的实施方法与实践。 在企业数字化转型的趋势下,市场分析机构Forrester将DevOps作为数字化企业架构的重要...
  • https://blog.csdn.net/weixin_48437363/article/details/108947006 小问题:https://blog.csdn.net/someby/article/details/85329063
  • 二、弹性IP 在服务列表处找到虚拟私有云VPC,点击进入 选择弹性公网和带宽下面的弹性公网ip 如果提示无权限同样需要主账号开通权限 选择一个ip,也可在这里绑定云服务器 三、将服务器添加进DevCloud项目中 在上面两...
  • 什么是DevCloud? 华为DevCloud的是华为的软件开发平台,软件开发平台(DevCloud)是集华为近30年研发实践、前沿研发理念、先进研发工具为一体的一站式云端DevOps平台,面向开发者提供的云服务,即开即用,让开发者...
  • 本文分享自华为云社区《化蛹成蝶,华为云DevCloud助力互联网+转型,重构钢铁产业链》,原文作者:灰灰哒 。 随着电子商务迅速发展,各个行业巨头纷纷投入互联网+的怀抱,钢铁行业作为典型的传统行业,如何实现华丽...
  • devcloud首页单击“新建项目”按钮进行新项目的创建。 2、添加项目成员以及分配角色 3、华为云devcloud探索功能 (1)需求规划 上图需求规划这一部分中: Epic:通常是这个项目的名称。 Feature:是为用户带来...
  • C# on DevCloud

    2018-12-12 15:56:16
    本文通过一个实例介绍如何使用软件开发服务(DevCloud)完成一个C#Web项目的开发。 1.2 项目详情 1. 项目名称:超级冷笑话网站 2. 项目简介:一个Web网站,包含用户登录注册以及浏览笑话等功能的网站。 3. ...
  • 大咖专栏 | 我在DevCloud做需求

    千次阅读 2019-05-31 15:44:15
    笔者在华为云DevCloud工作,秉承吃狗粮的文化,DevCloud团队在践行精益敏捷DevOps的同时,也在使用DevCloud工具进行实践落地。而我希望讲述老百姓自己的故事,说说DevCloud是怎么做敏捷DevOps的,所以产生了写“我在...
  • 【华为云·云筑2020】DevCloud考卷答案

    千次阅读 2020-12-22 17:26:15
    【华为云·云筑2020】DevCloud考卷答案
  • 该笔记本是一个演示,展示了如何使用Udacity的工作区与Intel的DevCloud集成,请求使用Intel i5 CPU的边缘节点并在集成的GPU上加载模型。 重要信息:设置路径,以便我们可以运行Dev Cloud实用程序 每次进入工作区...
  • DevCloud(华为云 DevCloud) 是基于华为研发云的成功实践经验,通过云服务的方式提供 一站式云端 DevOps 平台。开发团队基于云服务的模式按需使用,在云端进行项目管理、配置管理、代码检查、编译、构建、测试、部署...
  • DevCloud项目管理与Leangoo使用对比

    万次阅读 2017-12-22 15:30:49
    DevCloud(华为软件开发云)是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台,面向开发者提供端到端的研发工具服务。项目管理是DevCloud服务之一,致力于为敏捷开发团队提供简单高效的开发协作服务...
  • 华为云DevCloud设计理念,更高效更智能 TGO鲲鹏会是极客邦科技旗下汇聚全球技术领导者的高端社群,日前,华为云DevCloud高级架构师Seaman Liu受邀参加了8月广州站技术分享会,介绍了华为研发模式演进历程、DevOps...
  • Springboot-DevCloud & DevOps

    2019-01-23 19:21:38
      DevCloud 提供 Springboot 开发环境、全生命周期的一站式研发服务,使软件开发更加 简单高效。 DevCloud &amp; DevOps   DevOps 在业内比较火热,并逐渐成为趋势,其目的是通过自动化的工具,将软件研发中...
  • DevCloud 是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台。DevCloud面向开发者提供研发工具服务,让软件开发简单高效。 2、产品定位 Tower 主要用户群:项目经理、Teamleader、开发...
  • 其次,华为云DevCloud针对需求变动频繁、开发测试环境复杂、多版本分支维护困难、无法有效监控进度和质量等开发者研发中的普遍痛点,使开发人员实现软件研发过程可视、可控、可度量,还可以实现一键式部署,解决...
  • 张甲磊-DevCloud+on+DevCloud每日10次发布效率提升实践

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,053
精华内容 821
关键字:

devcloud