SVN通过钩子同步更新静态文件并上传OSS
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
相关推荐
ECSHOP专属建设 2020-11-13
xzjforDream 2020-09-23
fenggit 2020-09-15
起点 2020-08-17
leehbhs 2020-07-26
leehbhs 2020-07-04
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf
起点 2020-06-28
leehbhs 2020-06-20
dingqinghu 2020-06-16
dengweijunkedafu 2020-06-09
nebulali 2020-05-27
起点 2020-05-10
起点 2020-05-05
83520298 2020-05-04