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

目录

  • 背景
  • 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下。华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第1张图片
小Team,个人能力为主,Scrum项目还是看板区别不大。主要目的是record而不是push。

2 华为云DevCloud端建仓库

点击项目名称,自动进入backlog。这个故事已经在tapd里有了,回头copy/paste过来就行。暂时跳过。直接点代码-代码托管。
华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第2张图片
既然要托管到这里,就先建两个仓库。一个放Android,一个放iOS。代码其实早就有了,只等着放到仓库里面,所以按模板建木啥意思,就直接做普通新建就好。
华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第3张图片
仓库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
    华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第4张图片
    Github、Gitlab或者其他仓库可以Add Hosted Account。
    华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第5张图片
    Add Hosted Account是选单,无法添加非选单项,所以华为云没办法直接添加,我们用URL。在华为云仓库中找到https URL,复制粘贴过来之后,点击clone,选择本地存储路径,顺利clone到本地。
    华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第6张图片
    其实,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。网上资源汗牛充栋,不再赘述。
    华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第7张图片
    安装成功后,进入Git Bash,设置签名和email,以区分不同的开发人员。要不然对于任何仓库来说,不知道是哪一位开发者commit的代码。如果Git上面有人提交了代码,但是不知道谁提交的,这还是版本控制工具吗?
$ git config --global user.name "Long Wo"
$ git config --global user.email "[email protected]"
$ git config --list  //检查一下设置正确

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

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

简单来说:

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

进入Git Bash,输入

ssh-keygen -t rsa -C "[email protected]"

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

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

打开华为云,添加SSH密钥,ctrl-v复制入密钥框。确定。保存。华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第8张图片
至此,本地公钥上传到服务器。SSH连接建立完毕。

  1. 在Android Studio中建立本地仓库
    华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第9张图片

  2. 测试一下Android Studio和华为云的连接
    华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第10张图片
    点击Git后,需要输入URL。回到华为云DevCloud,选择代码仓库,找到LAndroid仓库,点击SSH复制SSH地址。

华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第11张图片

回到Git,Paste入URL。
华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第12张图片
点击Test,跳出如下警告:
华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第13张图片
这句话的意思是:你是否真的想连华为云117.78.39.149?主要怕我们连在一个假冒华为云的网站上,所以再确认一下。选择Yes。
华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第14张图片
连接成功。

再回到.ssh\下面看,我们发现多了一个文件:known_hosts。用notepad++打开,里面已经存放了刚才让我们确认正确的华为云记录。其实,每次连接的时候,先来这个known_hosts查询远程服务器是否登记在案,如果在,则无需询问,直接连接。这是SSH避免中间人黑客的一个手段。
华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建_第15张图片
连接成功后,点clone。云端的一个文件就克隆到本地。

5 总结

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

6 参考资料

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

你可能感兴趣的:(华为云,Git)