在Linux下自建CI/CD 持续集成与持续部署环境系列(一)【环境搭建】
一、使用TeamCity 构建镜像
登录TeamCity (http://{IP}:8111/)
1、创建项目
项目的GIT地址:https://github.com/keepteamv/vblog.git
如果是private项目,则需要填Username 和 Password (我这里使用我添加的一个测试项目来构建)
然后 Proceed
Proceed
TeamCity会自动扫描你项目可以用来Build的选项
这里我们只需要选择Docker就行了,然后点击Use selected
2、配置Build Steps
在点击Edit之前,我们先配置Docker 镜像仓库,这里用到阿里云的镜像仓库
先点击左边的Show more
1、Build Features
2、Add build feature
3、选择Docker Support
点击 Project Connections
然后我们打开https://cr.console.aliyun.com/cn-shenzhen/repositories 创建一个镜像仓库
1、镜像仓库
2、创建镜像仓库
3、填写一些信息 (你要设置为公开或者私有都可以)
4、下一步
选择本地仓库(因为我们只是要阿里云的仓库而已,镜像不需要通过他们来构建,通过TeamCity来构建)
点击管理
这时候我们复制
registry.cn-shenzhen.aliyuncs.com
然后设置Register登录密码(等下绑定的时候要用到)
这时候回到TeamCity ,回到刚才点击Project Connections打开的页面
1、显示名称
2、registry.cn-shenzhen.aliyuncs.com
3、用户名是你登录阿里云的帐号,密码是Register设置的密码
4、点击Test Connection ,如果测试成功代表配置通过,否则认真注意检查2-3步填写的是否正确
回到Build Features 页面,刷新,这时候可以看到有一个选项。选择,然后Save
选择左侧菜单 Build Step: Docker ,点击Edit
1、Step Name
2、Dockerfile文件的相对路径,当然也可以选择直接填写配置内容,
3、根目录
4、Image name:tag
5、%build.version%是算定义参数
点击Save
添加 Push 步骤
选择Docker
Image name:tag 和 build 一致
配置参数
Value值可以为任意,最终生成的是docker 镜像的tag ,如上图:registry.cn-shenzhen.aliyuncs.com/vanzheng/vblog:1.0.0
至此,所有配置完毕,点击右上解Run按钮
接下来就等它完成啦,快慢跟服务器配置和带宽有关。
.
.
.
.
至此,已经构建成功了。这时候去阿里云的查看,
二、配置Rancher 并部署应用
1、绑定主机
基础架构->主机->添加主机
点击保存
选择自定义
由于运行Server和要绑定的主机是同一主机,所以这里需要填写当前Server的IP,如果要绑定的主机不是运行Server的主机,第4需要留空,意思就是说,Rancher可以管理N台主机服务器,如果Server主机也运行Agent,则需要填写当前主机IP
然后复制第5部分的命令到要加入管理的主机里运行。
如果运行不出错证明绑定成功。
这时候回到基础架构->主机,你会发现有一台主机绑定是激活状态了。
2、发布网站
应用-》用户-》添加应用
添加阿里去镜像库
基础架构-》镜像库-》添加镜像库
添加服务
1、容器名称
2、发布到阿里云镜像库的镜像,这个镜像是TeamCity构建的
3、8000是主机端口
4、添加标签主要是为了后面的持续集成
创建之后打开IP:8000能正常打开代表创建成功。
至此发布完成。
3、添加持续集成功能。
API->Webhooks->添加接收器
1、类型选择 升级服务
2、镜像标签意思是:如果构建的tag标签为指定的值才更新,
3、服务选择器:如果容器的标签为设置的值才更新对应的容器
点击创建
配置阿里云触发器
到这里,所有配置完成了。
大家有什么问题就留言评论、加qq群(798683137)或者给我发邮件吧。
Author: Van Zheng