❶ LINUX服务器搭建SVN的hooks文件该如何写这样写对么
你这个是RUNTIME没有写入权限
❷ 服务器如何配置
不能仅仅简单买一个高性能服务器来解决问题,建议楼主还是咨询下系统集成厂商,或者懂这方面的朋友,帮你来分析下你们公司的实际情况!以下是我的建议:
既然是OA系统,我们必须要确保其安全性,如果公司对OA的依赖程度很高的话,或者文件都是存放在服务器上的!那么建议你不要只用一台服务器!具体可以这样:
分为两台机器,一台OA服务器,一台WEB服务器;根据负载,如WEB服务器的负载不大,那么配置可以略低于OA服务器,把有限的预算加到OA服务器上去(如果预算充足,那么OA、web、卡巴服务器、邮件服务器(如果有的话)等,分别采购不同的服务器);然后通过集群,首先OA服务器和web服务器(或者邮件服务器,邮件一般也是企业不能缺少的)做双机互备,这样的话,即使其中任何一台机器有问题,那么服务器会自动切换到另一台,这样在保证企业正常使用的前提下,完成服务器修复!
当然OA以及邮件等一些数据对企业来说是非常重要的,损失了往往后果不堪设想的,所以在数据备份方面,如果预算充足,还是建议再挂一台存储器,最好再上一个磁带机!把OA数据库、邮件数据备份在存储设备上!这样即使服务器数据被人攻击或者遭遇严重的病毒攻击,服务器数据完全丢失的情况下,在重装服务器后,可以通过存储设备中备份的数据来挽回损失!
当然关于其他一些问题,包括安装杀毒软件,还有还原软件(赛门铁克比较着名)之类的也需要注意!
❸ 如何利用svn自动同步更新到网站服务器
一、安装 SVN服务器程序
1.1运行 VisualSVN-Server-1.7.2.msi
1.2选择程序安装目录 和 SVN仓库目录
我程序装在 C:\Program Files\VisualSVN Server , SVN仓库目录在 D:\SVN
1.3 安装完成,立即运行
二、服务器配置
2.1服务器维护界面
2.2仓库目录默认的内容
2.3创建新项目wapzucom
2.3创建用户ve
2.4设置项目的用户权限
Properties Security Add 选择刚创建的用户 ve ok 应用 确认
三、创建测试服务器目录 D:\WWWROOT ,本地开发目录 D:\WORKDIR
四、将代码(D:\Code )导入到项目仓库
输入用户名 密码 并 勾选 保存认证
导入成功,并返回版本号1
五、导出项目代码到工作副本、测试服务器目录
同理,另外导出一份到测试服务器目录D:\WWWROOT (测试服务器的Apache目录指向该位置)
六、使用Hooks自动更新测试服务器代码D:\WWWROOT
6.1 进入 D:\SVN\wapzucom\hooks 建立 post-commit.bat 文件
编辑其内容 为"C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\www\test" --quiet --username name --password pwd
或者可参考下面这段话:
接下来最关键的一步是,我们需要找到服务器上安装的版本库的路径下面,以版本库名称命名的文件夹下,有一个名字为hooks的文件夹,在这个文件夹下建立post-commit.bat这样一个批处理文件,里面的内容如下:
@echo off
“D:\VisualSVN Server\bin\svn.exe” update “D:\Apache Software Foundation\Apache2.2\htdocs\soupei360″ –username XXXXX –password XXXXX
update前面的路径,是SVN服务器端程序的执行文件路径, 后面的是在服务器上同步到的目录的路径,username和password后面是刚才建立用户的用户名和密码,这段批处理的意思是,当我们在本地编写代码,然后通过svn的commit提交时候,首先提交到版本库中,然后版本库自动用这个批处理,把内容同步到服务器上之前指定的文件夹中,从而实现本地和远程同步操作。
两款SVN配置软件的具体配置教程可以通过搜索引擎得到具体设置方法,在此需要特意强调的是,一定要将本地和服务器上的目录都check out后,批处理才能够自动同步,服务器上的目标文件夹没有check out的话,即使设置的路径正确,也是不能同步的。
6.2 设置访问权限
我的电脑 右键 管理 服务和应用程序 服务 VisualSVN Server 右键 属性 登陆 添加访问权限 用系统管理员账号(我这里是user)
重启服务器
6.3测试Hooks工作是否正常
修改 index.php 状态
提交修改
最后打开D:\WWWROOT\index.php 可以发现代码已经被成功update
PS : 目录说明
C:\Program Files\VisualSVN Server 服务器安装目录
D:\SVN 仓库更目录
D:\WORKDIR 本地开发用的工作目录
D:\WWWROOT 服务器测试目录(Apache 指向该目录,即可实现工作目录内容修改后提交到SVN自动发布到测试目录)
❹ 如何创建一个GitLab Web Hooks
Git 能在特定的重要动作发生时触发自定义的脚本。
这些脚本都被存储在 Git 目录下的 hooks 子目录中(.git/hooks)。当 git init 初始化一个仓库时,Git 默认会在这个目录中放置一些示例脚本。这些脚本一般都是 shell 脚本。不过自定义的可执行脚本可以使用你喜欢的脚本语言,如 Ruby、Python 等。
这些示例的名字都是以 .sample 结尾,如果需要启用它们,首先要移除这个后缀:
cd .git/hooks
ls
applypatch-msg.samplecommit-msg.samplepost-update.samplepre-applypatch.samplepre-commit.samplepre-push.samplepre-rebase.sampleprepare-commit-msg.sampleupdate.sample
cp applypatch-msg.sample applypatch-msg
钩子按功能分来两类:客户端和和服务器端的。
客户端钩子由诸如提交(commit)和合并(merge)这样的操作所调用,而服务器端钩子作用于诸如接收被推送(push)的提交这样的联网操作。
❺ 如何配置服务器
在网络存在的环境下,服务器可以提供的服务类型各不相同,所以服务器又分为几种,分别是文件服务器、数据库服务器、应用程序服务器以及web服务器,下面我们就以文件服务器为例来介绍一下服务器的设置方法吧。
服务器的设置方法:
第一步:首先需要登录计算机的操作系统,在登录时需要以管理员的身份进行,进入系统以后,使用鼠标选择开始菜单,然后再选择管理工具选项,进入管理工具选项以后,在列表当中选择相应的服务器,这时会自动弹出一个窗口,然后点击添加选项,然后根据配置向导进行下一步操作。
第二步:进行检测,然后选择自定义配置选项,进入下一步操作。
第三步:选择页面当中的服务器角色按钮,然后选择其中的文件服务器选项,接着使用鼠标点击下一步选项。
第四步:这时就可以将文件服务器的磁盘配额打开了,接着再选择相应的复选框,根据实际要求进行相应的设置,输入最合适的数值。
第五步:将文件服务器的索引服务打开,然后选择是按钮,将索引服务启用,接着使用鼠标点击下一步选项。
第六步:进入下一步页面以后,使用鼠标点击选择总结选项,进入到相应的窗口以后,对完成的设置进行检查,没有差错就进入下一步。
第七步:通过添加向导操作将所选用的服务进行启用操作,然后页面就会出现共享文件夹的向导,完成以上操作以后,点击下一步选项。
第八步:将文件夹的路径打开,然后使用鼠标点击浏览选项,在相应的列表当中,找到公共资源的文件夹,然后点击确定按钮,然后进入下一步操作。
❻ gerrit hooks文件放在服务器端哪里
默认在gerrit site 目录下的hooks目录里
❼ 如何对服务器进行配置
硬件
为了能使服务器更高效地运转,我们必须确保服务器各组件的性能合理搭配。例如我们购买了高性能的服务器,但为了降低成本而使用了兼容 组件,由于兼容组件的质量大大低于原装配件的质量,这样就会出现有的配件处于瓶颈状态,有的配件处于闲置状态,最后的结果就会导致整 个服务器系统性能下降。总之,一部高性能的服务器是整体性能的合理搭配,而任何一个产生系统瓶颈的组件都有可能导致整个系统性能下降 。
1.处理器(CPU)
CPU对于服务器来说,就像人类的大脑。CPU的类型、主频和数量决定着服务器的性能。目前,由于IA架构的服务器采用开放体系结构,因而受 到了国内外服务器厂商的青睐,并以较高的性能价格比而得到广泛的应用。Intel现在生产的CPU中主要分为3类,奔腾4(Pentium 4)系列、至 强(Xeon)系列和安腾2(Itanium 2)系列。其中:Pentium4 主要面向PC,对多处理器支持不够好,适用于入门级服务器。 被过滤广告
Xeon作为服务器专用CPU,除了拥有超线程技术外,还集成三级高速缓存体系结构,Xeon支持两个CPU,Xeon MP则支持4以上,适用于工作组和 部门级服务器。Itanium是与其他CPU完全不同的64位CPU,可用于处理大型数据库,进行实时安全交易等应用,适用于企业级服务器。
对于目前规模较小(如10个客户端)、服务器预算较低(如15000元以下)的中小型企业来说,选择CPU应该首先考虑Pentium 4。如果服务器的 数据处理量较大,可以考虑双Pentium 4处理器或Xeon系列。但需要注意的是,不要去买日后能升级到双CPU,但现在标配是单CPU的双路服务器 。因为CPU技术更新很快,当需要升级到双CPU时比较烦琐,而且同样费用下能买到性能明显比原来处理器高出许多的新一代的处理器。除此之 外,CPU的主频越高,缓存数量越大,则服务器的运算速度就会越快、性能就会越高,但必需从自身的应用需求出发搭配相关硬件。
2.内存(RAM)
用户在选购服务器时往往重视CPU,而忽视内存的大小和性能。服务器内存比普通PC内存要严格得多,它不仅强调速度,还要求纠错能力和稳定 性。目前服务器上也有使用SDRAM内存的,但大部分服务器都使用采用ECC专用内存。内存选择要根据实际使用情况和服务器本身所能配置的最 大内存来斟酌,因为服务器在工作时,会占用很多内存,所以应配置大一些,当然这也和资金投入有关。特别是对于数据库服务、Web服务等而 言,内存容量尤其重要。通常,入门级服务器的内存不应该小于512MB,工作组级的内存不小于1GB,部门级的内存不小于2GB。
3.磁盘阵列(RAID)
提升存储系统性能的最佳办法就是采用RAID系统。简单的说,RAID是一种把多块独立的物理硬盘按不同方式组合起来形成一个逻辑硬盘组,从 而提供比单个硬盘更高的存储性能和提供数据冗余的技术。而RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、SCSI控制器、SCSI连 接器和缓存等一系列组件构成的。RAID卡可以有效地提升存储系统的数据传输速率并降低CPU占用率。由于价格的限制,SCSI RAID卡在入门级 服务器中还是很少采用的,但入门级服务器可采用廉价的IDE RAID卡以实现相似的功能。
4.硬盘(DISK)
硬盘和内存都是以大为美。现在的硬盘从接口上来说,主要可分为IDE硬盘和SCSI硬盘。IDE硬盘即我们日常所用的硬盘,它由于价格便宜而性 能也不差,因此在PC上得到了广泛的应用。另一类硬盘就是SCSI硬盘了,由于其性能好,因此在服务器上普遍均采用此类硬盘产品,但SCSI硬 盘虽好但价格较高,因而较少在低端系统中应用。目前,在小型服务器中现在普遍采用的是支持S-ATA(串行ATA)技术的IDE硬盘。这种IDE硬 盘与以往普通的支持P-ATA技术的IDE硬盘相比,由于采用了点对点而不是基于总线的架构,所以可以为每个连接设备提供全部带宽,从而提高 了总体性能。但对于一些不能轻易中止的服务器而言,还应当选用SCSI硬盘以保证服务器的不停机维护和扩容。
5.主板(MAINBOARD)
在服务器的主板方面需要注意的是集成的设备和是否有充足的扩展插槽,像显卡、声卡、USB接口等是否是集成的,这样既可以节约开销,同时 也留下了更多的扩展插槽,散热空间也相对更大了一些。还要提醒您注意的是,在服务器厂商的配置资料中所注明的扩展插槽的数量可能包括 出厂时已经使用的插槽,如网卡、显卡等,所以这样的话,可供您使用的插槽数量已经打了折扣。同时,不同的主板设计也会对服务器的整体 性能有所影响。这里还要提到intel,因为它不仅是CPU制造厂商,同时也是重要的主板厂商,Intel主板严格遵照规范制作,并对Windows做了 优化,可保证产品的最大兼容性,加上对自己所生产的CPU最为了解,更容易释放和获得性能。
软件
操作系统(OS)
如果把服务器的硬件配置比作人体的骨骼和肌肉,那么服务器所选用的操作系统就是血液和脉络。目前,服务器操作系统主要有三大类:第一 类是Microsoft Windows Server系列操作系统,这类产品大家最熟悉,也最容易得到,比较适合中小企业。目前Microsoft的中小企业操作系统 是Small Business Server 2003(以下简称SBS)。SBS是一个针对中小企业的“一揽子”方案,其主要特点是容易安装,容易管理,容易使用 。如:你现在只需要使用一个向导,就可以轻松地为网络、防火墙和电子邮件配置正确的设置。目前SBS有两个版本:标准版(Standard Edition)和高级版(Premium Edition)。第二类是Linux操作系统,它具有一定的开放性,因此价格比Windows Server系列操作系统便宜很多 ,但也正是因为它的开放性导致它的维护成本较高,因此中小企业需要慎用,不要只图一时便宜而陷入后续无底的维护“梦魇”。第三类是 UNIX,代表产品包括HP-UX、IBM AIX等,但这类服务器主要定位于高端,不适合中小企业。
数据库软件(DB)
数据库软件是服务器软件的另一个重点,它是维护企业核心信息的工具,数据库软件选择得是否合适将直接影响到企业未来的业务整合和信息 化的深入。如果你选用了SBS高级版,那么数据库软件SQL Server 2000就已经包含在其中了。与其他的数据管理平台相比较,SQL Server 2000 与更多的中小企业应用程序兼容,同时各种数据库分析、监控工具有助于确保正常的业务运营。如果你安装的是Linux操作系统,那你运行的数 据库软件就应该是MySQL了。作为掌管企业核心信息的数据库,我们不太推荐MySQL。因为MySQL是数据库领域的“中间派”,它缺乏一个全功能 数据库的大多数主要特征,但是又有比类似Xbase数据库更多的特征。它象关系数据库管理系统(RDBMS)那样需要一个守护程序,但又不能象 它们那样消费资源。MySQL可以在Linux世界里找到一个位置,但考虑到中小企业今后的业务扩展,应该选用一个更专业的数据库软件。
❽ windows中svn怎么配置钩子代码
如果服务器端是windows环境的话,那么钩子实际就是批处理文件(扩展名bat)
这些钩子都存放在服务器端的hooks文件夹内,比较常用的钩子包括pre-commit.tmpl、post-commit.tmpl等,pre-commit.tmpl是当服务器端接收到commit请求的时候自动调用这个钩子,post-commit.tmpl是当完成commit操作的时候服务器端自动调用这个钩子,在windows环境下钩子程序的扩展名要改成bat,而不能用tmpl
至于钩子的内容,就看自己的发挥了,你需要熟悉DOS批处理文件的编写技巧,常见的应用比如:当commit完成后,自动调用钩子程序,通过svn update命令,将最新版本发布到服务器上的测试环境中
在网上查了,发现都不对,有哪位大哥大姐知道,告一下。也不提示错误,就是同步不了
❾ svn 的hooks 问题再说一下:我在服务器Repositories 的项目的hooks 下面写 的 post-commit.bat
将整个脚本改成这一行指令看看效果如何:
C:\Progra~1\VisualSVN Server\bin\svn.exe update D:\projects\develop\jlyt\orion2.0.8 --username ycb --password ycb --non-interactive
❿ 如何利用git webhooks 实现网站代码自动化部署
1. 生成公钥
公钥有两个:1. git用户公钥,2. 部署公钥:
git用户公钥
ssh-keygen -t rsa -C "[email protected]"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径
1
2
3
ssh-keygen -t rsa -C "[email protected]"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径
部署公钥
sudo -Hu www ssh-keygen -t rsa # 请选择 “no passphrase”,一直回车下去
2. 准备钩子文件
创建和修改目录权限:
mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook
1
2
mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook
写入钩子文件:
sudo -Hu www touch /home/wwwroot/website.com/hook/index.php
1
sudo -Hu www touch /home/wwwroot/website.com/hook/index.php
<?php
error_reporting(1);
$target = '/home/wwwroot/website.com'; // 生产环境web目录
$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';
$json = json_decode(file_get_contents('php://input'), true);
if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}
$repo = $json['repository']['name'];
// $cmds = array(
// "cd $target && git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );
// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }
// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组
$cmd = "sudo -Hu www cd $target && git pull";
shell_exec($cmd);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
error_reporting(1);
$target = '/home/wwwroot/website.com'; // 生产环境web目录
$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';
$json = json_decode(file_get_contents('php://input'), true);
if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}
$repo = $json['repository']['name'];
// $cmds = array(
// "cd $target && git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );
// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }
// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组
$cmd = "sudo -Hu www cd $target && git pull";
shell_exec($cmd);
确保你的hook文件可以访问:http://example.com/hook/index.php,钩子准备完成。
3.修改git配置和保存git用户名密码
sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "[email protected]" # 邮箱请与conding上一致
1
2
3
sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "[email protected]" # 邮箱请与conding上一致
在Coding网站
1.添加用户公钥
复制/root/.ssh/id_rsa.pub内容到个人设置页的SSH公钥里添加即可(https://coding.net/user/account/setting/keys)
2.添加部署公钥
复制/home/www/.ssh/id_rsa.pub的内容并添加到部署公钥:
选择项目 > 设置 > 部署公钥 > 新建 > 粘贴到下面框并确认
3.添加hook
选择项目 > 设置 > WebHook > 新建hook > 粘贴你的hook/index.php所在的网址。比如:http://example.com/hook/index.php, 令牌可选,但是建议写上。
稍过几秒刷新页面查看hook状态,显示为绿色勾就OK了。
初始化
1.我们需要先在服务器上clone一次,以后都可以实现自动部署了:
sudo -Hu www git clone https://git.coding.net/yourname/yourgit.git /home/wwwroot/website.com/ --depth=1
1
sudo -Hu www git clone https://git.coding.net/yourname/yourgit.git /home/wwwroot/website.com/ --depth=1
这个时候应该会要求你输入一次Coding的帐号和密码,因为上面我们设置了永久保存用户名和密码,所以之后再执行git就不会要求输入用户名和密码了。
**!!注意,这里初始化clone必须要用www用户**
2.往Coding.net提交一次代码测试:
在本地clone的仓库执行:
git commit -am "test hook" --allow-empty
git push
1
2
git commit -am "test hook" --allow-empty
git push
OK,稍过几秒,正常的话你在配置的项目目录里就会有你的项目文件了。
初始化Laravel框架
1. 下载Composer
在项目目录下执行:
sudo -Hu www curl -sS https://getcomposer.org/installer | php
sudo -Hu www php composer.phar install
1
2
sudo -Hu www curl -sS https://getcomposer.org/installer | php
sudo -Hu www php composer.phar install
**!!记得在本地提交的时候在.gitignore中加上composer.phar**