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

操作系统:CentOS Linux 7.5

容器管理平台:Rancher 1.6.26 (中文文档)

CI(持续集成)工具:TeamCity 2018.2.2 (官方地址)

Docker镜像仓库:阿里云 (https://www.aliyun.com/product/acr)

源代码管理:Github,GitLab,Gitee,其他

一、Docker环境安装与配置

点击我查看安装教程

教程到了这里,你应该已经安装好了docker,

docker version #使用这个命令验证一下是否安装成功

因为某些原因,导致国内访问Docker Hub有点慢,这时候需要配置加速器

阿里云加速器配置地址:https://cr.console.aliyun.com/cn-shenzhen/mirrors

a728bad95248071cea2f647e12b39a28389.jpg
 

运行以下命令更新加速器

sudo mkdir -p /etc/docker 
sudo tee /etc/docker/daemon.json <<-'EOF' 
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] 
}
EOF 
sudo systemctl daemon-reload # 更新daemon配置文件
sudo systemctl restart docker #重启docker

其中xxxxx是你的加速地址

docker -v # 查看版本

0aacfd51b2c222c374b71c37772e4efc7e5.jpg

到此为止,docker安装并配置完成。

二、 Rancher 安装与配置

sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:latest

运行此命令,会拉取rancher镜像并运行,需要开放8080端口

94451926e948fc1fa325da29e4b97f39160.jpg

安装需要1-2分钟,稍候直接使用 ip:port (例:http://47.106.8.234:8080)在浏览器打开,使用外网ip访问,

注:国内的云服务器默认是不开放8080端口的,需要去云服务器控制台开放

5a57e9fd2237f299659cd60f9d37e863e63.jpg

设置语言:

    在界面的右下角有个English字样,点击他就可以设置成别的语言

eab6449c2f3a761f47d70e4c2337e0e9266.jpg

设置管理员帐号

e05dc1109122f7057ca72023a3ad7c09454.jpg

至此,Rancher安装并设置帐号完成,至于接下来怎么使用,下篇文章再来教。

三、TeamCity 的安装与配置

1、安装server

docker pull jetbrains/teamcity-server # 拉取teamcity镜像

d1bce76c9af5c58fb423784b355f5dc54a6.jpg

docker run -it -d --name teamcity-server-instance -p 8111:8111 jetbrains/teamcity-server #运行 ,需要几分钟


docker ps #查看正在运行的容器

87efef5e4c9e2ffdf90aa7335615b55a0cc.jpg

docker logs -f 4de7fe17f3d6 #查看日志

34c0bdd644ff19345108023a483b4a4ab89.jpg

看到Server is running at http://localhost:8111证明安装成功。这时候可以打开浏览器验证,IP:PORT ,(例:http://47.106.8.234:8111)

2、配置Server

2f46085879d8fd1ffdc78d8eee263559a4c.jpg

c483a8c0721129e13bbbe06c4f5c42df250.jpg

选择保存数据的库类型,需要创建一个空的数据库,待会TeamCity会生成需要的表

我这里选择的是MySQL

d90a0d966f18b3438e95577cae41ac29b50.jpg

点击 Download JDBC driver ,teamcity会自动下载对应的数据库驱动

Database host,可以是外网ip,也可以是内网的,只要保存能访问到即可,点击 Proceed ,然后等它初始化完成即可

77b73cde50ef4d505c0d1f70b4727052f58.jpg

同意协议

72369a17fd4c41556f8f742c7d76af853da.jpg

设置管理帐号

bc343e71f9a7f62dafcfaab5873ec4c52bf.jpg
设置Email,这个Email可以用来接收构建结果,这个是可配置的。

3、安装 agent 

因为所有的镜像构建都是在agent完成的。

agent可以安装在别的服务器上,这里为了节省资源,我就和Server安装在一起了

docker pull jetbrains/teamcity-agent #拉取镜像

f90768019705faab5949b8ed39c6625d180.jpg

运行 Agent

docker run -d -it -e SERVER_URL="192.168.2.214:8111" -v /etc/docker:/data/teamcity_agent/conf  -v /var/run/docker.sock:/var/run/docker.sock -v /opt/buildagent/work:/opt/buildagent/work -v /opt/buildagent/temp:/opt/buildagent/temp -v /opt/buildagent/tools:/opt/buildagent/tools -v /opt/buildagent/plugins:/opt/buildagent/plugins -v /opt/buildagent/system:/opt/buildagent/system jetbrains/teamcity-agent

其中SERVER_URL是对应的Server地址,内外网IP都可以,但是,推荐使用内网IP

由于是和Server部署到一起,我们可以直接使用内网IP就可以了,

ip addr #获取ip地址

f0e5eb748676cc392b1dab53066ee22973a.jpg

7cc7dece4257178da845d2d1ec15eeca987.jpg

然后等个三五分钟,就可以配置完成了。当然你也可以通过 docker logs -f <容器ID> 来查看日志,

然后我们回到管理页面

 3bded99778403d77bf9ae8880110fe896e9.jpg

Agents菜单是查看Agent的状态,这个图片的意思是,有0个Agent的状态是正常的,下面有一个未授权的Agent,就是第三步安装的,这时候,我们只需要给它授权即可。点击左边的Authorize按钮

d9d0d5fba2718d1b277acef41260f5b66dc.jpg

c2846c085f364e31544c8318272fd368866.jpg

然后显示是这样的,就说明TeamCity的Server和Agent都配置完成啦。

三、源代码管理工具

GitHub  ,GitLab, Gitee都可以。

 

 

到这里,两个主要的工具(CD工具)Rancher和(CI工具)TeamCity安装且配置完成了。

下篇文章再教大家如果使用这些工具去完成自动化构建和自动化部署吧

 

大家有什么问题就留言评论、加qq群(798683137)或者给我发邮件吧。

 

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

转载于:https://my.oschina.net/mickzheng/blog/3011072

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值