美好旧时光的CI/CD:
内网装个jenkins,鼠标点点从git拉代码,调maven/npm/...构建
写段脚本把生成结果上传服务器
重启服务,完活
容器/公有云时代的CI/CD:
写脚本将目标文件上传到S3,在aws管理控制台里写段脚本
从ec2到s3拉数据,更新/发布服务,再把这段脚本保存在云端以备调用
创建一个单独的ci/cd流程项目
将以上各种脚本的调用全写进一个dockerfile
把构建出来的docker镜像上传某个公有repo
在业务项目中再写个脚本,让脚本在提交master时自动在git服务器云端执行
脚本会依次下载各种docker镜像,创建容器
执行容器内的脚本,完成构建,上传目标文件,发布全过程
最后别忘了为ci/cd流程项目配置一个
更新dockerfile后自动构建docker镜像并发布到公共repo的脚本……
好处是,从头到尾,你不需要任何一台本地服务器,也没有任何重复性劳动
代价是,必须学习三种不同领域脚本的语法格式
--
FROM 116.233.186.*