docker学习系列8 实现持续集成
上一节我们构建了一个Node镜像。
这里我有一台已经安装了docker的Linux主机,比如 IP 是154.8.100.124。
我只需在主机上执行 docker run -d -p 3000:3000 finleyma/express
,就会部署并运行项目
然后浏览器中输入154.8.100.100:3000 就可以访问了。
这里牵涉到两个问题:
- 每次修改了项目代码需要重新构建新的镜像,然后push到仓库。
- 每次还得登录服务器从仓库拉最新的镜像重新运行 ,这样才能反映出变化。
持续集成就能帮我们做到自动化。
不过有几个条件:
- 需要一个提供持续集成服务的平台,这里我使用国内的 daocloud
他可以接入我们的主机,提供在线 web 的方式管理运行在主机上面的容器。 - 需要一台能访问的且安装了docker的主机(最好是Linux)。
- 代码要部署到 github,coding 等 daocloud 支持的代码托管商。
下面介绍下流程:
去daocloud绑定仓库,和主机
根据仓库构建镜像
配置
- 查看主机上运行的 docker相关的信息
在主机上我们得敲 docker info, docker inspect 等。这里直观的多。
- 添加应用
- 添加项目,需要绑定 github 或 coding代码源
代码源就是上节的express项目,仓库地址是:https://coding.net/u/finley/p/docker-express-demo。
里面有Dockerfile。我们让daocloud帮忙构建,并且发布到主机上面。
在流程定义中构建阶段后面添加发布阶段,选择发布到自有主机
这个过程就是push代码之后,daocloud要根据Dockerfile去构建镜像,构建之前可以要运行测试脚本,构建成功之后可能要发送提醒。
默认是图形化的配置,也可以切换到yaml形式,编写流程定义 daocloud.yml 文件。
这里有个细节,如果你切换到了yaml格式,内容为空。push代码不会触发自动构建的。
稍微吐槽下daocloud做的不够人性化,流程定义没有帮助提示。比如匹配分支,满足条件那块,我不知道能填哪些,你弄个问号,鼠标指上去显示几行描述也好啊
- 这样就实现了,每当本地push代码到仓库,daocloud会重新构建镜像然后发布到主机。
有很多细节没有讲到,请自行查看提供的文档。
参考:
http://guide.daocloud.io/dcs/ci-9863687.html
https://github.com/Ye-Ting/docker-ci/blob/master/daocloud.md
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS7中用kubeadm安装Kubernetes
准备 每个节点均要执行以下步骤 关闭防火墙 如果各个主机启用了防火墙,需要开放Kubernetes各个组件所需要的端口,可以查看Installing kubeadm中的”Check required ports”一节。 这里简单起见在各节点禁用防火墙: systemctl stop firewalld systemctl disable firewalld 禁用SELINUX # 临时禁用 setenforce 0 # 永久禁用 vim /etc/selinux/config # 或者修改/etc/sysconfig/selinux SELINUX=disabled 修改k8s.conf文件 cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system 关闭swap # 临时关闭 swapoff -a 修改 /etc/fstab 文件,注释掉 SWAP 的自动挂载(...
- 下一篇
在阿里云购买的域名,需要备案服务号怎获得,没有购买服务器,
在阿里云购买的域名,需要备案服务号怎获得,没有购买服务器,只需要域名备案 域名无法单独备案,需要虚拟主机或者ecs服务器,虚拟主机备案直接选择虚拟主机,ecs 需要去 备案服务号里面找到ecs申请(每台ecs可以申请5个备案服务号) 先开通一个ecs就有了 没有购买阿里云虚拟主机和服务器是你没办法在阿里云备案,只是购买域名就没办法在阿里云备案,请购买相关产品后才能进行备案。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果