在Linux下自建CI/CD 持续集成与持续部署环境系列(二)

原创
2019/02/17 18:00
阅读数 1.9K

在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 

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部