目录

  • 背景
  • 1 华为云DevCloud端建项目
  • 2 华为云DevCloud端建仓库
  • 3 本地Xcode通过Git连接华为云LiOS仓库
  • 4 本地Android Studio通过Git连接华为云LAndroid仓库
  • 5 总结
  • 6 参考资料

背景

本以为守得云开见月明,未成想第二波悄然来袭,第三波还在路上。与其坐以待毙,不如先练内功。

不知名App,面向小众人群。App组几人小Team。公司进展太快,萝卜快了不洗泥。原本用Tapd管理,代码则全靠良心。老天让我们slow down,于是规整规整软件开发。

基本想法是用Version Control统一管理App开发、发布流程。目前需求分析、项目安排都在Tapd里面做了,逐步移到华为DevCloud来。在以后较长的一段时间,讨论稿在Tapd,成熟稿则转移到DevCloud。代码托管则一步到位,上到华为云。

华为云DevCloud在代码托管方面就是github。其代码仓库只能通过git连接本地git终端。用熟了Github,DevCloud可以无缝迁移。

工欲善其事,必先利其器:

Verion Control
Git
代码托管
华为云,CodeHub
App
Android 3.6.3
Xcode 11

公司是华为的战略伙伴,说了说,当天开通DevCloud。

1 华为云DevCloud端建项目

Android和iOS两个版本。统一在一个项目PTA下。
小Team,个人能力为主,Scrum项目还是看板区别不大。主要目的是record而不是push。

2 华为云DevCloud端建仓库

点击项目名称,自动进入backlog。这个故事已经在tapd里有了,回头copy/paste过来就行。暂时跳过。直接点代码-代码托管。

既然要托管到这里,就先建两个仓库。一个放Android,一个放iOS。代码其实早就有了,只等着放到仓库里面,所以按模板建木啥意思,就直接做普通新建就好。

仓库URL提供两种:SSH和HTTPS。轻量级应用,差别细微。

SSH和HTTPS的区别
HTTPS易用(用户名、密码就好),SSH则需要先配置和添加好SSH key。
简单来说,HTTPS有证书中心(CA)公证,用起来简单;SSH没有,都是自己签发的,必须事先将RSA Public Key公钥存在Server端,得有相应权限才能上传。
详细内容可参考这篇:非对称加密和SSH、HTTPS的道理和在Git中的应用

我们这里两种方式都会用到。Xcode用HTTPS,Android Studio用SSH。

3 本地Xcode通过Git连接华为云LiOS仓库

我在华为云端建了iOS专用仓库:LiOS。连接办法不是那么straight forward,但是能用。具体操作如下。

  1. Xcode更新为最新版本11.4.1。
  2. 选择Clone

    Github、Gitlab或者其他仓库可以Add Hosted Account。

    Add Hosted Account是选单,无法添加非选单项,所以华为云没办法直接添加,我们用URL。在华为云仓库中找到https URL,复制粘贴过来之后,点击clone,选择本地存储路径,顺利clone到本地。

    其实,clone不是目的,主要是为了能实现和华为云的连接。连接后,Git的所有功能都能用了。

4 本地Android Studio通过Git连接华为云LAndroid仓库

Android用Git/SSH。

  1. Android Studio更新为最新版本3.6.3。网上资源汗牛充栋,不再赘述。
  2. 下载Git2.26.2并安装https://git-scm.com/downloads。网上资源汗牛充栋,不再赘述。

    安装成功后,进入Git Bash,设置签名和email,以区分不同的开发人员。要不然对于任何仓库来说,不知道是哪一位开发者commit的代码。如果Git上面有人提交了代码,但是不知道谁提交的,这还是版本控制工具吗?
$ git config --global user.name "Long Wo"
$ git config --global user.email "longwo@gmil.com"
$ git config --list  //检查一下设置正确

Android Studio将会接管Git的大部分操作。命令行可以少记一点。

  1. 配置SSH
    Git本身带有SSH。我们这里采用RSA非对称算法。最好能懂原理。参见:非对称加密和SSH、HTTPS的道理和在Git中的应用

简单来说:

本地电脑生成钥匙对(两个文本文件)。一个上传到华为云(公钥),一个自己留着(私钥)。

进入Git Bash,输入

ssh-keygen -t rsa -C "longwo@gmail.com"

在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入,建议采用不输入密码方式。

密钥生成后您可以在你本机系统盘下,您的用户文件夹里发现一个.ssh文件,其中的id_rsa.pub文件里储存的即为刚刚生成的ssh公钥。用notepad++打开id_rsa.pub,ctrl-a选择所有,ctrl-c复制。

打开华为云,添加SSH密钥,ctrl-v复制入密钥框。确定。保存。
至此,本地公钥上传到服务器。SSH连接建立完毕。

  1. 在Android Studio中建立本地仓库

  2. 测试一下Android Studio和华为云的连接

    点击Git后,需要输入URL。回到华为云DevCloud,选择代码仓库,找到LAndroid仓库,点击SSH复制SSH地址。

回到Git,Paste入URL。

点击Test,跳出如下警告:

这句话的意思是:你是否真的想连华为云117.78.39.149?主要怕我们连在一个假冒华为云的网站上,所以再确认一下。选择Yes。

连接成功。

再回到.ssh\下面看,我们发现多了一个文件:known_hosts。用notepad++打开,里面已经存放了刚才让我们确认正确的华为云记录。其实,每次连接的时候,先来这个known_hosts查询远程服务器是否登记在案,如果在,则无需询问,直接连接。这是SSH避免中间人黑客的一个手段。

连接成功后,点clone。云端的一个文件就克隆到本地。

5 总结

至此,我们在华为DevCloud创建了仓库,本地建立了仓库,通过Xcode和Android Studio把本地仓库和云端仓库联系在一起。开发人员可以入驻了。

6 参考资料

  1. 非对称加密和SSH、HTTPS的道理和逻辑

华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建相关推荐

  1. 【华为云技术分享】华为云 DevCloud 首席产品布道师:AIOps 不是 DevOps 的下一代

    近年来,将软件开发流程迁移到云上成为开发领域的一大趋势.随之而来地,人们会关心,和本地开发方式相比,云上开发能为企业带来哪些益处?能否保证安全.可信?未来它还将与 AI 技术碰撞出怎样的火花?在 QC ...

  2. DevOps系列之 —— 持续开发与集成(五)华为云 DevCloud 代码托管服务及 CloudIDE

    DevOps系列之 -- DevOps概览(一)软件产业和交付模式发展趋势 DevOps系列之 -- DevOps概览(二)新型软件技术及交付模式 DevOps系列之 -- DevOps概览(三)De ...

  3. 华为云DevCloud为开发者提供高效智能的可信开发环境

    在HUAWEI CONNECT 2019期间,在华为云云服务开发者分论坛上,华为云布道师做了<CloudIDE:开发者的高效.智能的可信开发环境>专题演讲,主要介绍了华为云DevCloud ...

  4. git连接华为软件开发云

    我用的是github客户端的git shell 连接.用git bash也可以 github客户端下载地址:https://desktop.github.com/ 1.在华为软件开发云上创建代码仓库 ...

  5. 华为云DevCloud让软件开发更加高效智能, DevOps不止于美

    高速的中子撞击U235原子核,使其分裂成两个原子核,释放出巨大能量,同时产生的几个中子再去撞击其它原子核,形成链式反应,使得核裂变会无限的产生巨大的能量."将高速的中子比喻成人类的创新思想, ...

  6. git连接华为云DevCloud

    华为云DevCloud官网 华为云DevCloud在代码托管方面的个github很类似,引入了代码仓库的概念,同时需要本地安装git客户端,且只能与git进行连接,从这个角度上讲,DevCloud的代 ...

  7. 一图看懂华为云DevCloud如何应对敏捷开发的测试挑战

    作为敏捷开发中测试团队的一员,在微服务测试过程中,你是不是也遇到同样困惑:服务不具备独立验证能力.自动化用例开发效率很低等?华为云DevCloud API全场景测试技术来支招~围绕API的全场景,打造 ...

  8. 在家办公怎么弄?华为云DevCloud宝典一看就懂——迭代开发篇

    最近一段时间,在家远程办公成为软件开发者的工作常态,如何在家实现异地协同,高效开发?本篇将继续介绍如何使用华为云DevCloud提供的代码托管和代码检查服务进行需求的迭代开发,想快速上手项目开发么?请 ...

  9. AI如何驱动软件开发?华为云DevCloud 权威专家邀你探讨

    近期,国际著名咨询公司Gartner 在一份研究报告中将 "AI-Driven Development" 列为 2019 年的 Top 10 Strategic Technolog ...

最新文章

  1. 编程之法:面试和算法心得
  2. vim之格式化代码功能——gg=G
  3. 安装不文件不完全_冬日不偷懒 跑步机不完全使用指南
  4. Spring-Cloud中的 熔断、限流、降级
  5. python写xml文件_用python写xml文件
  6. STM32学习:按键控制LED
  7. Exchange Server2013 系列七:客户端访问服务器高可用性部署实战
  8. linux命令行大全第2版,Linux命令行大全(第2版)
  9. CPRI vs eCPRI
  10. 图片拼图效果——ps
  11. 写一个VSCode插件
  12. VS2013新建项目出现脚本错误的解决办法
  13. 在Android中加入GOOGLE统计系统
  14. VS关闭vue语法检测
  15. 计算机中心英语怎么说,计算机中心,computer center,音标,读音,翻译,英文例句,英语词典...
  16. Mac 删除分区与合并分区
  17. 检索有项目的教师信息mysql_学生成绩管理系统(六):项目总结
  18. 计算机进位制转换方法,计算机进位数制及其转换方法和技巧
  19. 刷题记录:牛客NC20811蓝魔法师
  20. 100个python算法超详细讲解:牛顿迭代法求方程根

热门文章

  1. 《AUTOSAR谱系分解(ETAS工具链)》之Pdus(SystemPdu)
  2. QT——简单介绍 *.pro、*.pri、*.prf、*.prl四种文件
  3. 内网信息收集(超级全)
  4. 感谢飞书放过幕布!GPT-4平替Poe;100个GPT-4实战案例;AI绘画新手指南之SD篇;new Bing靠谱教程;AI生成视频摘要神器 | ShowMeAI日报
  5. 阿里云天池龙珠计划SQL训练营Task 2:SQL基础查询与排序
  6. 捡了只幼猫应该怎么养?威洛特饲养指南大全来啦
  7. 关于iPhone屏幕尺寸、分辨率及适配
  8. 2020年第11期公有云性能评测:盛大云-华东实现“三冠”,百度云虎视眈眈
  9. 口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取出三个球,问得到3中不通过颜色的球的可能取法。(枚举)
  10. mysql 电子书_MySQL开发与实践 (付森等著) 中文pdf扫描版[45MB]