通过持续集成与持续交付提供优秀的 DevOps 环境,极大提高软件发布效率。如下图所示:
持续集成:持续集成强调开发人员提交了新代码之后,立即进行构建、(单元)测试。根据测试结果,您可以确定新代码和原有代码能否正确地集成在一起。 持续交付:持续交付在持续集成的基础上,将集成后的代码部署到运行环境。
优势: 通过在腾讯云容器服务上部署服务,开发人员在 Git 或其他代码平台提交新代码后,可立即进行构建、测试、打包集成。在持续集成的基础上,将集成的代码部署到预发布环境和现网环境上。可以这样理解,持续集成就是构建打包,持续交付就是部署。
Gitlab Dockerfile文件会引用腾讯云镜像仓库中的Docker基础镜像,将源代码添加至Docker基础镜像中,打包成Docker业务镜像。部署是基于Docker业务镜像。
1.将giltab源代码和Dockerfile文件拉取到本地
2.基于Dockefile文件,制作Docker业务镜像(Dockerfile会引用腾讯云镜像仓库中的Docker基础镜像,将源代码添加至基础镜像中,打包成Docker业务镜像)
3.构建又分自动和手动,自动构建:当用户往代码仓库发起push操作时,如果符合自动构建规则,那么就会在腾讯云容器平台上进行容器镜像的自动构建,并将构建出来的容器镜像自动推送到腾讯云容器镜像仓库中。手动构建:用户需要人为手动进行触发构建。
1.Dockerfile文件上传至gitlab
2.构建配置
3.构建日志内容说明
4.构建镜像验证
Dockerfile文件内容:
第1行: FROM引用腾讯云基础镜像ccr.ccs.tencentyun.com/liangfeng/test:nginxV1
;
第2行: 通过MAINTAINER 说明作者和作者邮箱地址;
第3~4行:代码部署,由客户自行进行业务逻辑控制,3行功能是创建目录,4行是将当前目录下的文件添加至基础镜像;
第5行:EXPOSE声明服务端口。(容器内的服务端口,这里是nginx的启动端口)
第6行:通过ENTRYPOINT设置业务镜像,开机自启动nginx服务。
说明:开头FROM和MAINTANER必须要指定;容器业务端口必须要用EXPOSE声明;开机自启动必须要用ENTYPOINT;由于Docker镜像是基于”层”,Dockerfile的内容越精简越好。
在我的镜像中,点击进入构建配置,填写好构建参数,然后点击完成。
1.代码源选择gitlab,Repository选择wordpress(gitlab上的项目)
2.触发方式勾选分为:添加新的Tag时触发和提交代码到分支时触发(意思是我们在gitlab上添加tag或进行提交代码操作,容器云平台会自动拉取代码,进行打包构建)
3.镜像版本命名规范自定义填写,分支/标签,更新时间,commit号根据需求勾选。(若都勾选,例如:构建成业务镜像名称是test-nginx-201907261035-1d096112584d036167c1cd50a335c0a58ff43f6a,test是命名规则,nginx是gitlab上的分支号,201907261035是生成业务镜像的当前时间,1d096112584d036167c1cd50a335c0a58ff43f6a是每次在gitlab提交后生成的commit号)
4.覆盖镜像版本:生成的镜像同时会包含该tag。(可以理解为镜像别名,多打个tag)
5.Dockerfile路径:Dockerfile在文件源代码中的路径。(根据步骤1中Dockerfile和代码在同级目录,所以直接写Dockerfile即可)
6.构建目录:构建时的工作目录。(我这里填写的".",意思是执行当前目录下的Dockerfile文件)
点击完成,会跳转到镜像构建页面
我先在gitlab上提交代码,然后在镜像构建,执行浏览器F5刷新,出现了一条构建记录,点击查看日志,可以看到右侧的构建日志内容
1.可以观察到,图中框选Step 1/6至Step 6/6 都是Dockerfile的文件内容,表示正在执行Dockerfile文件语句。
2.第49行:表示docker build成功。
3.第52行:构建成业务镜像的地址是,ccr.ccs.tencentyun.com/liangfeng/test:test-nginx-201908051618-d852fb93feb0e32c386f4facb8550a3e1e679066
4.第67行:Build successfully,表示构建成功。
至此nginx wordpress业务镜像构建成功,同理,php wordpress镜像构建也可以参照如上步骤。
点击镜像版本,可以看到刚刚构建成功的业务镜像。
nginx wordpress业务镜像地址是:ccr.ccs.tencentyun.com/liangfeng/test:test-nginx-201908051618-d852fb93feb0e32c386f4facb8550a3e1e679066
php wordpress业务镜像地址是:ccr.ccs.tencentyun.com/liangfeng/test:test-php-201908051634-7ec4253f2f17431d387aadecbf3d2b79a690681f
备注:php dockerfile文件内容
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。