代码上线

1 .小型企业现状

小型公司一般只有几个开发人员,并且网站核心程序大多都是PHP语言开发,为了方便,会直接通过FTP直接上传程序代码到线上服务器,随时随地上线更新。

1.1 上述代码方案的优缺点

优点:发布快,及时,随时随地就可以发布代码。

缺点:开发人员发布的代码不经过测试人员的测试,用户刷新网页可能发现页面改变,也可能刷新瞬间程序在更新,到时无法访问,对网站用户的体验较差,如果开发写错了代码,造成的影响就更大了,这是拿用户做测试的上线方案。

据统计,网站中大概50%以上的故障是和开发程序代码有关的,比如,开发写错了一个循环代码,导致了死循环,此时大量用户访问这个程序,就能把服务器资源耗尽,搞死服务器。

在中小公司网站出了问题一般是运维人员的问题(例如网站宕机),但是这种情况下,问题大多可能由开发人员或代码引起的,这里比较好的策略是开发项目负责制。

1.2 小型企业上线架构方案建议

开发人员需在个人电脑搭建LNMP环境测试开发好的网站代码,并且在办公室或IDC机房的测试环境测试通过,最好有专职测试人员。

程序代码上线规定时间,例如:三天上线一次,如网站需经常更新可每天下午17点上线,这个看网站业务性质而定,原则就是影响用户体验最小。

代码上线需备份,网站程序问了问题方便回退,另外,从上线技巧上来说,上传代码尽可能先传到服务器网站临时目录,传完整后一步MV过去,或者通过lN做软连接。

代码全部复制到网站,不要增量复制

2 中型网站代码上线

中型企业上线,一般是规范运维人员操作步骤,指定统一的上线操作脚本,备份文件名称,备份文件路径,使操作人性化,统一化,自动化。

3 大型企业代码上线

3.1 PHP程序代码上线注意事项

对于PHP上线方法:发布代码时(也需要测试流程)可以直接发布到正式线临时目录,然后mv或更改link的方式发布到正式线目录,不需要重启http/php服务。

3.2 JAVA程序代码上线注意事项

对于JAVA上线方法:需要分组平滑上线。例如,首先从负载均衡上摘掉一半的服务器,发布代码后,重启服务器测试,没问题后,挂载上线完成一半,再卸载另外一半。如果前端有DNS智能解析,上线还可以分地区上线若干服务器,逐渐普及到全国的服务器,这个称为灰度发布。

3.3 大型集群架构代码发布方案注意事项

上线的流程里:办公测试环境-------IDC测试环境------正式生产环境。所有环境中的所有软件均应版本统一,其次,尽量单一,否则将后患无穷(开发测试成功,IDC测试可能有问题)。例如:操作系统,web服务器,jdk,php,tocat等版本

采用全量升级,而不是增量。

时间: 2024-12-14 00:38:08

代码上线的相关文章

SVN代码上线流程

为了确保维护svn代码的正确性,特制定上传代码流程如下: 开发人员开发: 开发人员本地分支----取得svn最新代码(根据前一天的最后tag合并)-----代码开发----提交分支. 合并时候注意事项,对于冲突的文件看是不是自己本地正在修改的文件,不是的话就按照诛仙的tag来覆盖,否则按照本地,最好提前解决冲突问题(不好操作的话就被分好自己本地代码,讲SVN代码拿过来,好好看一下冲突冲突的问题),这样在回合的时候就可以按照自己分支来操作了(当然我们也要看一下,以防止别人先合并) 开发人员代码合并

svn详细介绍,独立安装配置,hooks的配置管理以及大型门户网站代码上线流程

代码发布方案: 1,安装,优化 软件环境,(nginx,lvs)  <-------运维工程师 2,程序代码(不断更新).   <--------开发工程师,(开发,运维都可以发布) 3,配置变更(不断变更).   <--------运维工程师. 一.版本控制管理工具SVN详解 1.1 什么是SVN(subversion) ? SVN是近年来非常优秀的版本管理工具,与CSV管理工具一样,SVN是一个跨平台开元版本控制系统,但是SVN与众不同的是,SVN会备份并记 录每个文件每一次的修改更

SVN版本管理与代码上线架构方案

SVN是Subversion的简称,是一个开放源代码的版本控制系统,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器.你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改.这就是为什么许多人将 Subversion 和版本控制系统看作一种"时间机器".说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. svn与git的区别svn   svn版本控制系统是集中式的数据管理,

粗浅的增量代码上线shell脚本--菜鸟版

1      说明 这个shell脚本是是我编写的第一代版本的增量代码上线脚本,现在代码上线脚本已更新了几个版本,关注的技术重点是可视化对代码版本任意回滚的上线系统(python语言编写),后期将逐步分享这些脚本^_^ .虽然现在看来,这个脚本写的惨不忍睹,但是在当时却改变了公司的上线方式,从交接工作时的手动上线,改变为脚本自动化上线,也算是一个起点和转折点. 2      模块分析 这个上线脚本功能比较简单,先请看上线总体流程: 以下是详细的上线流程图: 3      代码部分 请使用"not

代码上线--php

绿岸网络代码上线 目录 绿岸网络代码上线... 1 中小企业项目上线方案... 1 小型企业上线方案... 1 中型企业代码上线方案... 2 大唐电信案例... 3 Sina案例... 4 适合目前现状上线方案... 5 中小企业项目上线方案 小型企业上线方案 1 发布快,及时,随时随地的就可以发布代码 2 开发人员发布的代码不经过测试人员测试,且用户访问页面刷新即改变,也可能造成刷新瞬间程序在更新,到时无法访问,对网站用户的体验差,如果开发写错了代码,造成的影响就更大了,这是拿用户作为测试的

php代码上线,实现版本切换

以下为现有php业务,代码上线方式.实现:4套环境版本切换. [[email protected] htdocs]# cat release.sh #!/usr/bin/env bash   work_dir=/mnt/var/www/htdocs release_dir=/var/www/htdocs   # app environment app_env=$1 # build release file path build_file_path=$2   help() {    echo   

代码上线流程以及版本发布小结

之前的上线流程很简单粗暴如图: 这简直是灾难性质的,上传 SVN,在测试服务器上看看正在调试的接口没问题,直接 sync 到线上服务器.代码无法回滚,只能覆盖.而客户端的同学需要稳当的 api 作为调试,最初的做法,他们需要新数据,我们就需要上线代码.这很坑爹,也许某人某段代码正写了一半,又正好提交.被另外一个人上线了,那么就线上出了严重 BUG.对此我们很头疼,所以做了如下规划: 首先建立三个版本库 开发服务版本库(对应图片中 dev,假设为 http://211.155.84.144/top

网页代码上线详解

第1章 代码上线 早期手动部署代码 纯手动scp上传代码. 纯手动登陆,Git pull 或者SVN update. 纯手动xftp上传代码. 开发发送压缩包,rz上传,解压部署代码. 缺点: 全程运维参与,占用大量时间. 如果节点多,上线速度慢. 人为失误多,目录管理混乱. 回滚不及时,或者难以回退. 1.1 小型公司代码上线案例 1.1.1 特点及问题 01.发布快.及时,可随时随地发布代码 02.开发发布的代码不经测试,导致无法访问(如死循环代码),对网站用户体验较差 1.1.2 架构方案

代码上线架构方案

小型企业上线架构方案 1.开发人员需在个人电脑搭建LAMP环境测试开发好的网站代码,并且在办公室或IDC机房的测试环境测试通过,最好有专职测试人员. 2.程序代码上线规定时间,由网站业务性质而定,原则就是影响用户体验最小. 3.代码上线之前需备份,网站程序出了问题方便回退,另外,从上线技巧上将,上传代码时尽可能先传到服务器网站临时目录,传完整后一步mv过去,或者通过ln做软连接. 线上更新代码的思路.如果严格更新,把应用服务器从集群节点平滑下线,然后更新. 4.尽量由运维人员管理上线,对于代码的