目录
背景
本以为守得云开见月明,未成想第二波悄然来袭,第三波还在路上。与其坐以待毙,不如先练内功。
不知名App,面向小众人群。App组几人小Team。公司进展太快,萝卜快了不洗泥。原本用Tapd管理,代码则全靠良心。老天让我们slow down,于是规整规整软件开发。
基本想法是用Version Control统一管理App开发、发布流程。目前需求分析、项目安排都在Tapd里面做了,逐步移到华为DevCloud来。在以后较长的一段时间,讨论稿在Tapd,成熟稿则转移到DevCloud。代码托管则一步到位,上到华为云。
华为云DevCloud在代码托管方面就是github。其代码仓库只能通过git连接本地git终端。用熟了Github,DevCloud可以无缝迁移。
工欲善其事,必先利其器:
-
Verion Control
- Git
- 华为云,CodeHub
- Android 3.6.3
- Xcode 11
代码托管
App
公司是华为的战略伙伴,说了说,当天开通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,但是能用。具体操作如下。
- Xcode更新为最新版本11.4.1。
- 选择Clone
Github、Gitlab或者其他仓库可以Add Hosted Account。
Add Hosted Account是选单,无法添加非选单项,所以华为云没办法直接添加,我们用URL。在华为云仓库中找到https URL,复制粘贴过来之后,点击clone,选择本地存储路径,顺利clone到本地。
其实,clone不是目的,主要是为了能实现和华为云的连接。连接后,Git的所有功能都能用了。
4 本地Android Studio通过Git连接华为云LAndroid仓库
Android用Git/SSH。
- Android Studio更新为最新版本3.6.3。网上资源汗牛充栋,不再赘述。
- 下载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的大部分操作。命令行可以少记一点。
- 配置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连接建立完毕。
-
在Android Studio中建立本地仓库
-
测试一下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 参考资料
今天的文章华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30899.html