We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
来记录最近做的一件事 -- 关于代码发布问题
借助工具: git / svn
创建两个仓库:
source
release
注: svn 用于存储 release 包,原因在于 git 会存储历史记录代码,clone 代码耗时。相对于 svn 而言只需要一个地址,拉取最新代码包简单而快速。
你的 source 仓库代码,大致的内容是:
source ├─ dist/ ├─ dist.tar ├─ src/ └─ webpack.config.js
你的 release 仓库代码,大致的内容是:
release └─dist.tar
开发人员要进行部署的时候,执行 npm run build 生成对于的 dist.tar 文件。这时进行 git 提交时,gitlab触发webhook,推送信息到 jenkins
npm run build
注: 对于提交频繁的团队,可以在 jenkins 上设置一定时间间隔自动拉取最新 commit 记录,从而节省jenkins 资源(jenkins执行对应的job任务需要耗时,频繁提交,就会堆积任务)
jenkins 根据推送的消息执行对应的 job,将 dist.tar 文件从 git 仓库拉取到 svn 仓库,并生成最新 update 记录,此记录用语上线/回滚等运维操作
拉取完毕后,使用运维脚本从 svn 地址拉取 dist.tar 文件,然后将解压结果推送到测试/生产服务器
实现完这一套,无意间发现跟 @fouber issues 里提到的 关于代码发布 实现方式类似,故此纪录下最近的工作细节。但实现也是有差别的: 我没有用 jenkins 里做代码构建操作。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
来记录最近做的一件事 -- 关于代码发布问题
借助工具: git / svn
创建两个仓库:
source
源代码仓库(git),用于开发release
包发布仓库(svn),用于管理包和回滚注: svn 用于存储
release
包,原因在于 git 会存储历史记录代码,clone 代码耗时。相对于 svn 而言只需要一个地址,拉取最新代码包简单而快速。你的
source
仓库代码,大致的内容是:你的
release
仓库代码,大致的内容是:开发人员要进行部署的时候,执行
npm run build
生成对于的 dist.tar 文件。这时进行 git 提交时,gitlab触发webhook,推送信息到 jenkins注: 对于提交频繁的团队,可以在 jenkins 上设置一定时间间隔自动拉取最新 commit 记录,从而节省jenkins 资源(jenkins执行对应的job任务需要耗时,频繁提交,就会堆积任务)
jenkins 根据推送的消息执行对应的 job,将 dist.tar 文件从 git 仓库拉取到 svn 仓库,并生成最新 update 记录,此记录用语上线/回滚等运维操作
拉取完毕后,使用运维脚本从 svn 地址拉取 dist.tar 文件,然后将解压结果推送到测试/生产服务器
实现完这一套,无意间发现跟 @fouber issues 里提到的 关于代码发布 实现方式类似,故此纪录下最近的工作细节。但实现也是有差别的:
我没有用 jenkins 里做代码构建操作。
The text was updated successfully, but these errors were encountered: