阿里CodePipline + gitee + 钉钉 打造DevOps!

先说下最终效果:

本套DevOps搭建好了以后,只需要push到gitee,即可完成服务器自动拉取最新代码,并自动执行打包,自动部署,然后通过钉钉通知成功或失败结果!

本套DevOps大致的流程:

首先是git的push,然后通过webhook通知codepipline,接着codepipline启动slave去git上拉取最新的代码,让slave执行打包命令,然后上传回阿里的OSS,目标服务器从OSS拉取打包好的东西,执行部署命令进行部署,部署成功后通知codepipline,最后通过一个webhook通知钉钉发送成功消息。

 

配置:

1 CodePipline

1.1 先开通阿里的CodePipline,其实就是阿里自己配置好的一个jenkins,这个CodePipline好像是免费的。。

1.2 新建一个项目如图

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

1.3 配置你的gitee仓库地址和账号

阿里CodePipline + gitee + 钉钉 打造DevOps!

阿里CodePipline + gitee + 钉钉 打造DevOps!

 1.4 选择好gitee的分支,然后填写打包的命令

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

 

1.5 填写需要打包的目录(其实就是打包好文件生成的目录的意思),选择自己开通的OSS,勾选失败不上传

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

1.6 然后先给目标服务器安装一个客户端叫alicloud-salt,安装命令阿里已经给你生成好了直接运行即可,接着选择好目标服务器,填写你的部署命令。这里有几个需要注意的地方:

1 注意他支持的操作系统版本,centos最高只支持到7.3

2 需要先给ECS的安全组开放4505和4506这两个端口

3 注意他这个deployidentifier是他生成的,用来生成一个alicloud-deploy的id,每次都不一样,如果多台ECS共用一个deployidentifier的话下面的列表就会错乱,因为下面的列表是根据这个alicloud-deploy的id来判断选中和未选中。

这个alicloud-deploy的id可以通过修改目标服务器的/etc/alicloud-salt/minion里面的id这个字段,然后重启来修改

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

1.7  填写这个工作空间,构建物会下载到在这里指定的目录下面,并且部署命令是以此为工作目录执行阿里CodePipline + gitee + 钉钉 打造DevOps!

 

1.8 接下来会进入到一个表单页面。。

选择构建的节点和构建的类型,如果不在乎OSS空间的话可以选择带缓存的类型,这样就不会每次都从公共镜像仓库里面拉取包了

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

1.9 填写源码管理,需要重新填写一下选择gitee(这里可能是一个重复填写的bug。。)

接着先勾选触发器,然后填写分支,再点击生成,接着会生成一个webhook触发器地址给后面的gitee用于触发codepipline,这里先放着

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

1.10 这里需要重新填写一下工作空间(又是一个bug。。)

阿里CodePipline + gitee + 钉钉 打造DevOps!

1.11 点击提交即可完成codepipline的配置

 

gitee码云的配置

2.1 先进入到你的项目仓库

2.2 然后选择管理

2.3 选择webhook,点击添加,URL填写之前codepipline生成的webhook,密码空着,选择事件即是触发这个webhook的事件,这里选择push即可

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

 钉钉的配置

3.1 需要用到PC端创建一个机器人。名字可以随便起,然后添加到需要通知的群组。

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

3.2  完成之后会生成一个webhook地址

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

3.3 进入到codepipline的配置页面, 选择构建后通知钉钉,填写URL,这里只需要填写accesstoken即可,勾选成功和失败时通知

阿里CodePipline + gitee + 钉钉 打造DevOps!

 

 

通过以上三个步骤(codepipline + gitee + 钉钉)我们即完成了一个完整的自动化部署配置!