代码上线php
绿岸网络代码上线
目录
绿岸网络代码上线... 1
中小企业项目上线方案... 1
小型企业上线方案... 1
中型企业代码上线方案... 2
大唐电信案例... 3
Sina案例... 4
适合目前现状上线方案... 5
中小企业项目上线方案
小型企业上线方案
1 发布快,及时,随时随地的就可以发布代码
2 开发人员发布的代码不经过测试人员测试,且用户访问页面刷新即改变,也可能造成刷新瞬间程序在更新,到时无法访问,对网站用户的体验差,如果开发写错了代码,造成的影响就更大了,这是拿用户作为测试的上线方案
3 据统计,网站中大概50%以上的故障和开发程序代码有关的(比如:开发写错了一个循环的代码,导致了死循环,此时大量用户访问这个程序,就能把服务器资源耗尽,搞死服务器)
4 在中小公司网站出现问题一般是运维人员问题(例如网站宕机)但这种情况下,问题大多数可能由开发人员或代码引起的。这里比较好的策略是开发项目负责制的思想
1 开发人员须在个人电脑搭建LAMP环境测试开发好网站代码,并且在办公室或IDC机房的测试环境通过,最好有专职测试人员。
2 程序代码上线规定时间,例如:三天上线一次,如网站经常更新每天下午17点上线,这个看网站业务性质而定,原则就是影响用户体验最小
3 代码上线前备份,网站程序除了问题方便回退,另外,从技巧上讲,上传的代码时尽可能传到服务器网站临时目录,传完整后一步MV过去,或者通过ln做软连接。
4 务必由运维人员管理上线,对于代码的功能性,开发人员更在意,而对于代码的性能和服务的稳定,运维更在意,因此,如果网站宕机问题归运维管,就要让运维线上这样更规范科学。否则,开发随意更新,出了问题运维负责,运维永远无法抬头。
中型企业代码上线方案
大唐电信案例
部门独立核算。
开发部门租用运维部门服务器,硬件设施,应用设置,监控设置,运维负责监控。 应用宕机每个部门的人去处理。
运维负责底层搭建,迁移。
上线等日常任何操作,每个项组里人负责。
Sina案例 适合目前现状上线方案
上线流程文字说明:
第一步:预估本月上线时间,邮件有开发负责人周知 测试组 运维组
第二步:开发人员代码进入测试环境
第三步:测试组接入测试,是否达到功能实现 接口并发承受能力 --成功,进入第五步
第四步:退回重新开发
第五步:运维接入,确定更新网站URL,rsync 迁移。SQL审核
第六步:测试人员进入,测试预上线环境 是否与测试环境吻合
第七步:开发人员提交代码至SVN,说明路径 地址 及版本
第八步:运维人员,审核其路径 地址 SQL 是否与预上线阶段 一致
第九步:定时拖拽至生产环境。因PHP业务,暂实现灰度上线较困难,实行批量更改
第十步:测试人员,等待上线完成,进行最后测试及把关 ?有问题运维及刻回退 --?今日不做操作,第二天上线。 --邮件周知上线结果

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

PHP logging is essential for monitoring and debugging web applications, as well as capturing critical events, errors, and runtime behavior. It provides valuable insights into system performance, helps identify issues, and supports faster troubleshoot

Laravel simplifies HTTP verb handling in incoming requests, streamlining diverse operation management within your applications. The method() and isMethod() methods efficiently identify and validate request types. This feature is crucial for building

The Storage::download method of the Laravel framework provides a concise API for safely handling file downloads while managing abstractions of file storage. Here is an example of using Storage::download() in the example controller:
