资讯专栏INFORMATION COLUMN

SVN通过钩子同步更新静态文件并上传OSS

hiYoHoo / 1684人阅读

摘要:通过钩子同步更新静态文件并上传需求需要高频率的更新上多个的不同目录的内容。系统以位系统为例下载工具修改文件执行权限使用交互式配置生成配置文件该命令创建将一个配置文件,在其中存储配置信息。

SVN通过钩子同步更新静态文件并上传OSS

需求:

需要高频率的更新oss上多个bucket的不同目录的内容。

解决方案描述:

在svn上新建一个或者多个独立的库,在每个库编辑hooks下的post-commit文件添加命令。

注意事项:

需要安装ossutil64 oss上传工具,配置ossutil conf文件,svn权限密码等

安装ossutil64
根据您的操作系统选择相应的binary或者压缩包,下载后运行相应的binary。  
Linux系统(以64位系统为例)  
下载工具:  
wget http://gosspublic.alicdn.com/ossutil/1.6.0/ossutil64  
                                  
修改文件执行权限:  
chmod 755 ossutil64  
使用交互式配置生成配置文件:  
./ossutil64 config  
该命令创建将一个配置文件,在其中存储配置信息。 请输入配置文件路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。如果用户设置为 其它路径,在使用命令时需要将--config-file选项设置为该路径):   
未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。   
对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。   
请输入endpoint:http://oss-cn-shenzhen.aliyuncs.com   
请输入accessKeyID:yourAccessKeyID   
请输入accessKeySecret:yourAccessKeySecret  
请输入stsToken:   
endpoint:填写Bucket所在地域的域名信息,可参考访问域名和数据中心。  
accessKeyID:查看方式请参考创建AccessKey。  
accessKeySecret:查看方式请参考创建AccessKey。  
stsToken:非必配项,若采用STS临时授权方式访问OSS需要配置该项,否则置空即可。stsToken生成方式参考临时访问凭证
创建专用版本库

建立版本库目录 选择一个目录之后
mkdir -p svntest

*建立版本库
svnadmin create svntest

*SVN的hooks

#start-commit 提交前触发事务  
#pre-commit 提交完成前触发事务  
#post-commit 提交完成时触发事务  
#pre-revprop-change 版本属性修改前触发事务  
#post-revprop-change 版本属性修改后触发事务
编写 post-commit 文件
[root@hooks]# cd /data  
[root@hooks]# svn checkout svn://17.17.177.177/svntest test  
在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】  
[root@hooks]#  cd hooks/  
[root@hooks]# ls  
post-commit       post-lock.tmpl            post-unlock.tmpl  pre-lock.tmpl       pre-revprop-change.tmpl  start-commit.tmpl  
post-commit.tmpl  post-revprop-change.tmpl  pre-commit.tmpl   pre-revprop-change  pre-unlock.tmpl  
[root@hooks]# pwd  
/data/svn/svntest/hooks
[root@ hooks]# cat post-commit  
#!/bin/sh

  
REPOS="$1"  
REV="$2"

mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

  
WEB=/data/test  
svn update $WEB

/data/shell/oss/ossutil64 cp  -r  -f  $WEB oss://dev/xxx/  -c  /data/shell/oss/oss.config  
/data/shell/oss/ossutil64 cp  -r  -f  $WEB oss://sit/xxx/  -c  /data/shell/oss/oss.config  
/data/shell/oss/ossutil64 cp  -r  -f  $WEB oss://uat/xxxx/  -c  /data/shell/oss/oss.config

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110616.html

相关文章

  • ubuntu下搭建svn钩子同步到web目录

    摘要:前言最近在搭建服务器,用到了版本控制,在搭建过程中也遇到了好多问题,简单写一写步骤安装创建项目目录创建一个文件夹,用来存放一个或多个项目进入这个目录创建一个新的项目目录创建文件仓库这一步是让这个新的文件夹变成的版本库权限设置进入设置目录包 前言 最近在搭建服务器,用到了版本控制,在搭建过程中也遇到了好多问题,简单写一写 步骤 1、安装SVN $ sudo apt-get install...

    CastlePeaK 评论0 收藏0
  • svn钩子函数(HOOK)的使用-win平台

    摘要:注意测试之前一定要先把服务器站点根目录代码更新到最新版本强制书写提交说明首先在相应版本库的目录我的是新建一个文件文件内容编辑如下这个服务器安装目录下面的下面的检查不能为空,至少输入十个字符几个点就是几个字符您正在操作的项目是不允许空日志 注意:测试之前一定要先把服务器站点根目录代码更新到最新版本 强制书写提交说明 首先在相应版本库的hooks目录(我的是C:svnRepositor...

    Zoom 评论0 收藏0
  • CentOS 搭建SVN钩子自动实现同步到web目录教程

    摘要:后自动同步到网站根目录的方法为什么需要同步呢原因是我们的文件其实是提交到了的仓库中,仓库不是一个实际的网站根目录。进入到项目下的文件夹把的扩展名去掉,并赋予权限。你的至此已经配置完毕,并且可以实现本地一执行上传,自动同步到网站跟目录。 前言 笔者服务器环境、目录情况: 系统:CentOS 6.5 网站根目录:/home/wwwroot/test/web 为什么要用svn? a.方便多人...

    mochixuan 评论0 收藏0
  • CentOS 搭建SVN钩子自动实现同步到web目录教程

    摘要:后自动同步到网站根目录的方法为什么需要同步呢原因是我们的文件其实是提交到了的仓库中,仓库不是一个实际的网站根目录。进入到项目下的文件夹把的扩展名去掉,并赋予权限。你的至此已经配置完毕,并且可以实现本地一执行上传,自动同步到网站跟目录。 前言 笔者服务器环境、目录情况: 系统:CentOS 6.5 网站根目录:/home/wwwroot/test/web 为什么要用svn? a.方便多人...

    zxhaaa 评论0 收藏0
  • 企业级静态数据迁移OSS实战记录

    摘要:使用有出色优势让企业级管理数据得到了安心。人工数据恢复困难耗时耗力。发布问题,数据迁移之后,要准备上线工作,怎么能做到平滑的上线工作,将灰度降到最低。为时此项不生效。与是阿里云账号的唯一访问秘钥,在控制台面板账户头像下有按钮可以获得。 一、产品考察 根据上一次存储块环境建设的三个月时间后,接到了阿里云产品线的通知,共享存储块开始商业化,以每GB/月的单位计费,价格不菲,但数据昂贵,要赶...

    VincentFF 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<