[存档]前端部署流程概述

# 背景信息

前端代码,早期托管在内部SVN仓储中,地址 http://■■■■/svn 。后期托管在内部Git仓储中,地址 http://git.■■■■/ 。
部署环境有三套,分别为“开发(dev)”、“测试(test)”和“生产(test)”。测试环境域名为 https://static.■■■■/ ,生产域名为 https://static.■■■■/ 。
前端开发环境在不同语境下有所不同,现在语境或一般语境下即为开发人员本机,早期语境或开发服务器语境下是指IP为 ■■■■ 的服务器。
测试环境的Nginx只有一套,不区分“对内(内网)”和“对外(外网)”。生产环境的Nginx有两套,区分“对内(内网)”和“对外(外网)”,内外网之间有网络隔离,一般无法相互访问。

# 基于 Jenkins 和 SVN 的部署流程

早期的■■前端时代,统称为■■3.9版本,代码托管在SVN中,大概在2016年,■■4.0版本发布,代码更换了SVN目录。
此时的前端部署,并没有编译支持,更不存在环境相关配置,只是采用文件复制方式部署项目。在部署至不同环境前,前端开发需要手动修改环境相关的代码,或通过域名与URL参数等方式猜测当前运行环境。
概要流程如下:
1. 在相应版本的本地SVN目录中,提交代码至远程SVN服务器。■■3.9版本仓储在 http://■■■■/svn/style 中,■■4.0版本仓储在 http://■■■■/svn/■■4.0 中。
2. 远程SVN服务器自动触发Jenkins平台相应的Job流程。■■3.9版本触发 http://■■■■/job/UI_rsync_static/ 流程,■■4.0版本触发 http://■■■■/job/UI4.0_rsync_static/ 流程。
3. 被触发的Job流程,复制被变更的文件至多处。一个是开发服务器(即为SVN仓储所在的机器),一个是测试环境Nginx下的相应目录,一个是一台跳板下的相应目录。测试环境Nginx下的相应目录,此时已可通过测试环境域名 https://static.■■■■/ 访问。
4. 进入运维平台 http://■■■■/execute/minions_salt_get.html 的CDN管理菜单。
5. 定位至“静态资源同步”功能。在“文件或目录”文本域中按照要求填入,待同步的文件或目录路径,支持使用英文逗号分割的多个路径。选中“资源环境”中的“生产PROD”单选框。点击“同步”按钮就会将跳板机下相应目录内的文件,复制至生产环境的外网Nginx下相应目录。此时已可通过生产环境域名 https://static.■■■■/ 访问。如未能同步,请检查下方输出的操作日志。
6. 定位至“输入URL刷新CDN”功能。在“文件URL地址”文本域中按照要求填入,待刷新的文件或目录路径,支持使用英文逗号分割的多个路径。根据需要选中“文件类型”中的相应单选框。点击“提交”按钮就会将生产环境的外网Nginx下相应目录,同步至阿里CDN集群。此时已可通过CDN域名 https://static[1-4].■■■■/ 访问。如未能刷新,请检查下方输出的操作日志。

# 基于 Jenkins 和 Git 的部署流程

前端代码托管环境迁移到Git后,大部分项目增加了编译(构建)步骤,可传入相应的环境参数,构建产出的文件即为对应环境的版本。
Jenkins操作步骤:拉取Git仓储->构建指定分支代码->部署构建产出文件->在指定分支上打标签->推送回Git仓储。
详细流程请查看此处: 基于 Jenkins 和 Git 实现服务器构建和发布

发表评论

电子邮件地址不会被公开。 必填项已用*标注