本以为守得云开见月明,未成想第二波悄然来袭,第三波还在路上。与其坐以待毙,不如先练内功。
不知名App,面向小众人群。App组几人小Team。公司进展太快,萝卜快了不洗泥。原本用Tapd管理,代码则全靠良心。老天让我们slow down,于是规整规整软件开发。
基本想法是用Version Control统一管理App开发、发布流程。目前需求分析、项目安排都在Tapd里面做了,逐步移到华为DevCloud来。在以后较长的一段时间,讨论稿在Tapd,成熟稿则转移到DevCloud。代码托管则一步到位,上到华为云。
华为云DevCloud在代码托管方面就是github。其代码仓库只能通过git连接本地git终端。用熟了Github,DevCloud可以无缝迁移。
工欲善其事,必先利其器:
公司是华为的战略伙伴,说了说,当天开通DevCloud。
Android和iOS两个版本。统一在一个项目PTA下。
小Team,个人能力为主,Scrum项目还是看板区别不大。主要目的是record而不是push。
点击项目名称,自动进入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。
我在华为云端建了iOS专用仓库:LiOS。连接办法不是那么straight forward,但是能用。具体操作如下。
Android用Git/SSH。
$ git config --global user.name "Long Wo"
$ git config --global user.email "[email protected]"
$ git config --list //检查一下设置正确
Android Studio将会接管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复制入密钥框。确定。保存。
至此,本地公钥上传到服务器。SSH连接建立完毕。
回到Git,Paste入URL。
点击Test,跳出如下警告:
这句话的意思是:你是否真的想连华为云117.78.39.149?主要怕我们连在一个假冒华为云的网站上,所以再确认一下。选择Yes。
连接成功。
再回到.ssh\下面看,我们发现多了一个文件:known_hosts。用notepad++打开,里面已经存放了刚才让我们确认正确的华为云记录。其实,每次连接的时候,先来这个known_hosts查询远程服务器是否登记在案,如果在,则无需询问,直接连接。这是SSH避免中间人黑客的一个手段。
连接成功后,点clone。云端的一个文件就克隆到本地。
至此,我们在华为DevCloud创建了仓库,本地建立了仓库,通过Xcode和Android Studio把本地仓库和云端仓库联系在一起。开发人员可以入驻了。