一、codepipeline是什么
阿里云CodePipeline是一款提供持续集成/持续交付能力,并彻底兼容Jenkins的能力和使用习惯的SAAS化产品。经过使用阿里云CodePipeline,您能够方便的在云端实现从代码到应用的持续集成和交付,方便您快速的对您的产品进行功能迭代和演进。
讲人话就是,帮你 构建 你的项目,而后部署到你指定的服务器位置上;
二、codepipieline的流程
- 首先会从你指定的git地址拉取你的项目文件,而后执行构建命令(自行填写)
- 构建命令执行完毕后,把构建物上传到oss上;
- 部署服务器会从oss拉取构建物,而且自动解压到工做空间
- 执行部署命令
三、为何选择使用codepipeline
- 不须要本身部署ci服务器,好比jenkins,也不会占用服务器资源
- 集成到项目里面很是简单(坑我已经给你踩了)
- 目前状况来开,免费的可能性很是高。阿里出了云效(另外一个ci)给大中型公司使用。而codepipeline针对的是我的开发和中小公司。
- 能够配合钉钉使用,自动同步构建结果。很是舒服
若是自己就在使用阿里云code和阿里云服务器,就更加适合使用了
四、准备工做
- 由于须要上传到oss上,因此必需要开通oss。(可能会产生费用,存储1G一个月0.12元,这个应(ken)该(ding)能够承受)
五、正式开搞
一、先开通codepipelinehtml

二、建立一个新项目,前端必备都是nodejs环境
前端
三、这儿记得填写项目的ssh地址。就是git@....,证书必定要配置!
vue
四、配置证书,选择ssh用户。填入你的私钥,注意不是公钥。node

若是是阿里云code的项目,如图:存放你的公钥。

五、 构建命令:好比个人vue项目。就是git
npm install
npm run build
测试命令就要看本身项目的配置了npm
六、上传到oss上,vue默认的打包生成的目录都是dist,根据本身实际的填写就好了。这儿是打包成 xxx.gz的压缩包上传的bash

去oss上新建bucket,选择默认选项就好了。区域就用华北2就好了。

七、这里有大坑 (加红加粗)(若是须要不须要部署到ECS就直接跳过)

若是在ECS上执行了下面的代码(每一个人的不同,不要复制个人代码),可是可选部署目标里面刷新不出来。
export DEPLOYINDENTIFIER=9996e9f03039d1d121f5cb015e701d62 && wget -nv -O- http://aliclouddeployclient.oss-cn-beijing.aliyuncs.com/alicloud_deployclient_installer.sh | bash(别复制,只是示例)
- 请含泪查看官方文档,是的,只支持两个地方的ECS服务器,其余的须要提工单。
- 然而我是遇到的是第一次出现了,第二次配置的刷新不出来了。属于官方文档的第二种状况
- 第二次配置的时候,同一个服务器不要在执行上面的代码 (加红加粗)!!!!
官方文档 官方文档 官方文档 官方文档 官方文档,真很差找。。服务器
部署命令(加红加粗)!!!!
- 先解释下:部署命令 会把构建物从oss上下载下来而且解压后才会执行。(文档上没有)
- 部署命令的执行环境是下面的工做空间指定的目录,构建物也是放在这个目录的。
- 官方的建议是:最佳实践是 工做空间 不要指定为代码部署的路径,而是单独的一个目录,而后在部署命令里面把解压出来的文件复制到代码部署的地方,而后清空这个单独的目录。

检查命令和回滚命令请自行玩耍,我目前是空着的。
八、 依旧是大坑(若是你要使用触发器的话)
如图,框起来的部分,千万别动了。必定不要去改!!!(加红加粗)!!!! 若是修改了,就会致使触发器的代码无效。

其实到这儿基本上就ok,若是你须要添加触发器的话,请继续往下读。不须要的话,也继续往下,由于你忘了给我
点赞 :)
八、添加触发器,强烈建议使用触发器,这样当你须要构建的时候,只须要push一次代码就自动构建了。
生成触发器请仔细阅读触发器文档,必定要注意步骤,最后才去点 生成 按钮。ssh

特别提醒,必定不要修改源码管理的东西,别问我为何,卡了两天才得出来的结论我会告诉你
九、部署成功后,目前能够发邮件和钉钉提示。这个很简单就不介绍了
其实部署成功后还能够有不少玩法,这个就须要本身去玩耍了。
后续遇到的坑:
- 若是发生构建失败,记得要删除当前构建,不然触发器不会工做