使用码云做持续集成

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.csdn.net/sinat_38566034/article/details/78326929#comments

猜你喜欢

转载自blog.csdn.net/weixin_42980713/article/details/86590366