使用码云做持续集成
1、注册账号
2、新建一个项目
3、确定开发流程
项目地址
Https
码云的https链接地址来和码云上的项目交互的时候,根据项目的特性,有时候可能需要输入用户名和密码。
公有项目
因为公有项目允许任何人clone、pull等只读操作,因此不需要密码。
克隆
git clone https://gitee.com/hjsiamcer/lnmp.git
pull
git pull origin master
参与项目开发
如果想参与项目,push自己的代码到项目当中,是需要权限的,这里有两种方式可以达到目的:
1、管理员在项目成员中将你加入到开发者中(因为开发者有push权限,当然了,保护分支只有管理员可以push)
普通用户不可以push:
加入开发者以后,就可以直接push了:
2、fork项目,在这款项目修改后,发送pull request请求合并,只要原项目管理员通过也可以,参考参与github上开源项目的大致流程和注意事项
私有项目
因为是私有,所以不论任何操作都是需要权限的,而且不同的身份权限还不一样,访客、报告者、观察者、开发者、管理者具有的权限都不同,具体你要讲某个用户加入到那个角色当中,就看需要什么权限了。
项目成员权限说明在这里:项目成员权限说明
ssh
和https协议不同,ssh协议是以shhkey来认证的,原理是在项目当中放一个公钥(public key),那个具有对用私钥的用户就不用输入密码而直接进行操作了,这点在命令行执行中是必要的。
例如,需要在生成服务器上部署一个项目,必须执行clone操作,而刚好项目又是私有的,https协议的话就必须需要在交互式环境下输入用户名和密码,但这点对于脚本来说是做不到的。
ssh协议可以做到免密。
很简单,只需要将用户的公钥添加到部署公钥中即可!
私有项目权限设置
对于私有项目,代码的git 、pull 、push等都需要权限,如果没有,将会有类似下面的错误提示:
这时候就需要加入开发者中,才具有push权限。
部署
代码部署主要有如下步骤
码云平台提供了 WebHook 触发钩子,定义了5种触发方法,我们可以根据 WebHook 的回调来搭建自动化部署/测试平台,下面给出示例(注:以下给出的是伪代码,并不能实际运行,仅作参考):
首先,我们明确自己的需求:搭建一个自动化部署平台,其需求如下:
能做到自动拉取代码
自动编译
自动更新数据库表结构
只更新master分支
#切换到分支
git checkout 分支名(参数,外部传递)
#切换到某个提交版本
git reset --hard <commit id>
#拉取
git pull origin 分支名
git archive -o ../updated.zip HEAD
unzip updated.zip -d upload
详细参考:https://blog.****.net/sinat_38566034/article/details/78326929#comments