laravel远程工作 - 开始前的准备和沟通

  • 原来在laravel-china社区的远程工作模块留言希望得到锻炼,结果没几周微信就有人加我询问情况。当时还在上课,又正好碰上G9200刷机事件,直到晚上快十一点才电话联系上。

  • 电话里对方简单问了下我学习php和laravel的情况,我做了个简单回复:php学习了一年,简单做过的企业站,laravel方面跟着慕课网完成了博客系统的后端api开发,没使用RESTful API,会用Git和Composer。对方也明确表示这是一个租赁系统,开发周期1-2月,询问我的业余时间段后给我开的价格是2K。本着学习的意愿我当然是同意了。

  • 其实这个时候我学习上已经很忙了,并且处在穰学长的firechat微信项目开发优惠券模块中。考虑到学长并不是专门搞PHP,这个项目的流程并不正规搞得我自己也晕头转向的,想到laravel社区这位大牛和我说话时也表示会教很多东西给我们,正好用来补救firechat项目,同时也把学长这个项目学到的用在租赁系统的模块开发上,做的好还能额外拿到2K-3K呢。

  • 两三周过后,这位大牛(晓乐)联系我说明老板和他们那边都准备好了,我们开始聊开发前的一些准备工作。本地环境要求有Composer和Git,我使用的PhpStudy集成环境PHP版本7.0,这个租赁系统基于laravel 5.1开发。心想幸好不是最新的5.4,否则数据库问题(见Laravel 5.4 composer报错:指定的键太长)又是一大尴尬,那我可能就要使用自己不太熟悉的homestead或者laradock了。

  • 晓乐继续询问我是否对Git的分支管理有了解?这里听了郭佳栋的,都说不会总没错。于是他给了我这个地址:http://www.ruanyifeng.com/blog/2012/07/git.html ,阮一峰大神的Git分支管理策略。代码放在他们公司搭建的Gitlab上,还给我创建了一个账号,说明了平时主要在dev上面开发commit时候字数不要太多尽量使用英文要了解gitignore的作用不要随意添加库文件等等。

  • 然后就是团队协作软件了。以前刚接触laravel-china时候看到个小蜜圈觉得挺好的团队交流和协作开发工具,他这里使用的teambition却明显更加正规。我用手机注册账号之后他拉我进了名为租书的项目团队,说好下午拉我进入开发群。这次我学乖了,不敢多说话,等进群了也尽量少说话,免得人家把我当作菜鸟。其实我多问问学习也没错啊。

  • 他叫我下午把本地环境部署好,我想了想自己还是应该先把Git分支管理策略看一下,再登陆一下对方的gitlab看看,然后花点时间了解下teambition的基本使用,接下来搭建本地环境,看看这个项目进行到哪里了,目录和路由,引入了那些库等等。

  • 好吧,其他的问题晚点补上。


接下来是下午的操作:

  • 下载并登陆Teambition客户端,修改了个人信息,下载并查看了小叮租书项目文件中的说明,数据库ER图。

  • 登陆私有Gitlab,修改了个人信息和密码,查看项目成员只有三个,另外两个都是负责人。项目master分支的代码是william一周前提交上去的,另外提交的两次添加了zizaco/entrustdingo/api两个第三方库,最近的一次添加了.gitignore中PhpStorm生成的.idea配置文件夹。dev远程的开发分支没注意看。

  • 参考生成本地SSH密钥一文,搞定本地SSH和Gitlab,GitHub部署SSH。windows步骤如下:

    • cd && ls -al查看是否有.ssh文件夹,如果有,则使用rm -rf .ssh删除

    • 请使用Git Bash执行ssh-keygen -t rsa -C "[email protected]",然后三次回车。这里你输入的密码和Github,Gitlab均无关,只是每次push和pull时候要求输入的一个验证,三次回车以后进行版本控制就不用输入密码。

    • 查看.ssh目录下的文件夹可见id_rsa id_rsa.pub known_hosts。SSH使用的非对称加密算法存在公钥和私钥的说法,私钥id_rsa保留在本地即可,我们需要往Github和Gitlab部署的是公钥id_rsa.pub中的所有字符串。非对称加密详情。

    • cat id_rsa.pub输出文件内容复制粘贴到Github的Settings》SSH and GPG keys和Gitlab的Profile Settings》SSH Keys即可,命名随意,需要验证密码。

  • 下载项目源码本地部署,项目用到的composer包如图。

laravel远程工作 - 开始前的准备和沟通_第1张图片
后台用到的composer包
- git clone http://gitlab.develop.umeishu.com:port/root/rent-api.git在WWW目录下执行,由于魏关闭了服务器22端口,无法使用ssh下载。但是公钥部署和Access Token依然有用。

- 然后是分支管理,创建并切换到开发分支`git checkout -b develop master`,[使用见文章](https://erchoc.github.io/2017/05/09/Git%E5%9C%A8%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E4%BD%BF%E7%94%A8/)

- 新建rent数据库,切换win10的bash执行`cp .env.example .env`,修改.env中数据库和登陆账号密码。

- 生成key:`php artisan key:generate`

- 修改hosts,添加rent.dev映射,配置phpStudy虚拟域名,访问rent.dev测试。

- 由于我clone的master,remote上的dev版本比master新。所以我要pull拉一下服务器上的dev代码,使用`git pull origin dev`,dev是服务器上分支名称,pull之后本地代码就会有变动,Route就会添加。

- 然后`compoer install`更新一下依赖包,访问测试路由/hello。

- 访问测试出现一个错误:`Unable to boot ApiServiceProvider, configure an API domain or prefix`,这是因为远程仓库的dev分支上使用了dingo/api包,会在.env-example自动生成几个变量。我pull的时候拉到.env.example文件,把里面的添加的几个API开头的配置项复制到.env中,并且将API_DOMAIN配置为本地映射的虚拟域名如 tanktank.cn 即可.再次访问/hello。

你可能感兴趣的:(laravel远程工作 - 开始前的准备和沟通)