当前位置: 首页 > 后端技术 > Node.js

Jenkins+Docker持续集成、部署(CI-CD)项目实践

时间:2023-04-03 12:05:36 Node.js

前端项目vue介绍,后端项目egg.js的传统方法,前端项目打包获取dist静态文件,然后人肉复制到后台的static目录下-端项目,将整个后端项目打包放在服务器上,安装依赖于启动服务。过程不仅繁琐而且容易出错,还容易出现“明明我本地没问题,为什么上不去”,“运维是你的问题”1.使用Jenkins+Docker部署。前端工程构建,在一个Docker容器中打包,归档dist静态文件2.后端工程构建,获取最后归档的静态文件,打包,安装依赖,将整个后端工程打包成一个镜像3.发布镜像,一般使用docker-compose进行发布,整个过程在Jenkinspipeline中完成。运维只需要在线上的机器上拉取指定的镜像,进行容器热更新,减少了人工出错的可能性,大大提高了效率。准备一台Linux机器,安装Git,Jenkins和Docker,网上教程很多,这里不再搬砖新建Jenkins多分支流水线任务,请参考Jenkins配置多分支流水线项目(github)配置邮件提醒,请参考JenkinsPipeline配置自动发送QQ邮件在项目根目录下写入Jenkinsfile必须包含Jenkinsfile的基本语法。Jenkinsfile的语法比较简单。可以参考JenkinsPipeline的语法。启动容器并将当前工作目录挂载并映射到Docker容器。在Docker容器中操作不会污染宿主机。比如可以在容器中安装cnpm,不影响宿主机提速。管道执行后,容器将自动停止使用archiveArtifacts工件归档静态文件。归档的静态文件在:${JENKINS_URL}job/${project_name}/job/${GIT_BRANCH}/${BUILD_NUMBER}/artifact/${tar_file_name}后端Jenkinsfile:Process:CheckparametersInstallationdependencies,因为ts使用,全部转换为js获取前端归档文件移动到指定目录构建镜像(使用Dockerfile)发布镜像发送邮件通知使用copyArtifactsfilter获取上次归档成功的静态文件。注意需要安装CopyArtifact插件来构建项目。点击对应的分支,点击Build开始构建项目。构建完成后,将发送电子邮件通知。可以设置web-hook自动构建,即推送或合并代码后,自动构建指定分支。gitlab已经实现,教程会发在github上。还没有实现(努力尝试。。。)