日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

腾讯云搭svn服务器,腾讯云使用笔记二: 安装svn服务器及web同步

發(fā)布時間:2023/12/1 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 腾讯云搭svn服务器,腾讯云使用笔记二: 安装svn服务器及web同步 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

A01:安裝subversion

sudo apt-get install subversion

A02:創(chuàng)建倉庫

很多目錄可以放subversion文件倉庫,最常見的是/usr/local/svn和/home/svn

sudo mkdir -p /home/svn/youshengyouse

sudo svnadmin create /home/svn/youshengyouse

//說明:先創(chuàng)建目錄(-p多級創(chuàng)建),再在該目錄下新建版本庫

A03:啟動svn網(wǎng)絡服務

svnserve -d -r /home/svn

// svnserve不要寫成svnserver

// -d表示以守護方式啟動

// -r表示倉庫的根目錄,這樣svn://ip地址/youshengyouse/就表示對應的倉庫路徑為/home/svn/youshengyouse

A04:配置倉庫

先備份配置文件

ubuntu@VM-0-8-ubuntu:/home/svn/fangshuixiushan/conf$ sudo cp svnserve.conf svnserve.conf.bak20180907

/home/svn/youshengyouse/conf/svnserve.conf文件的內容如下

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

/home/svn/youshengyouse/conf/passwd文件的內容如下

先備份buntu@VM-0-8-ubuntu:/home/svn/fangshuixiushan/conf$ sudo cp passwd passwd.bak20180907

[users]

aaaa=aaaamima

bbbb=bbbbmima

/home/svn/youshengyouse/conf/authz(先備份)

[groups]

develop = aaaa,bbbb

manger = aaaa

[/]

@develop=rw

*=r

修改后要重啟

svnserve -d -r /home/svn

//如果報錯svnserve: E000098: Can't bind server socket: Address already in use

查下svn當前占的端口

root@VM-0-14-ubuntu:~# ps -aux | grep svn

root 16960 0.0 0.1 72492 940 ? Ss 14:29 0:00 svnserve -d -r /home/svn

root 19765 0.0 0.0 13232 880 pts/5 S+ 15:20 0:00 grep --color=auto svn

//kill進程

kill -9 16960

//再啟動

svnserve -d -r /home/svn

A05:編輯騰訊云安全組

添加規(guī)則

0.0.0.0/0 TCP:3690 允許 -

否則會拒絕svn訪問

A06:安裝客戶端

A07:測試

倉庫路徑為 svn://ip地址/youshengyouse/

檢出(checkout)成功,新建一文件上傳,也成功,ok,萬里長征,完成60%

常見問題

提交如果報錯

Can't connect to host '134.175.42.125': 由于目標計算機積極拒絕,無法連接。

原因1:svn服務未啟動

line 1: Section header expected

原因:一般是本個配置文件格工或哪里多了空格之類的

can't open file db/txn-current-lock:permission denied

原因:權限不夠

$ sudo chmod -R 777 /home/svn/youshengyouse

post-commit hook failed (exit code 255) with no output.

原因: post-commit 腳本文件的權限不對,post-commit 腳本必須有 +x 權限。

sudo chmod 777 /home/svn/youshengyouse/hooks/post-commit

============如何讓svn代碼與web網(wǎng)站同步=========

只在svn提交就可以,不要再向網(wǎng)站提交代碼

B01:新建鉤子文件 post-commit

#!/bin/bash

# 基本變量

export LANG=en_US.UTF-8

dateTime=`date +%F`

dateTimeMinute=`date +%H%M%S`

binSvn=/usr/bin/svn # 你svn命令的絕對路徑,如果不知道,請用find / -name svn查找

dirHtmlApp=/var/www/youshengyouse/ # 檢出的web站點根目錄

logFileName=/tmp/youshengyouse_svnhooks_${dateTime}.log

# svn配置

# [1] REPOS-PATH 倉庫路徑

# [2] REV 剛執(zhí)行修訂版本號

# [3] TXN-NAME (the name of the transaction that has become REV)

REPOS="$1"

REV="$2"

# 檢出或者更新subversion,鉤子的核心功能

echo "-- $dateTimeMinute" >> $logFileName

# 先要將svn倉庫中的內容檢出到網(wǎng)站對應的目錄中,如何判斷有沒有檢出過呢,就是看是否有文件夾.svn

# 如是檢出過,就直接更新就行

if [ ! -d $dirHtmlApp/.svn ]; then

# 檢出SVN

echo "$binSvn co file://$REPOS/ $dirHtmlApp" >> $logFileName

# 使用命令co檢出

$binSvn co file://$REPOS/ $dirHtmlApp

if [ $? -eq 0 ]; then

echo "checkout ok" >> $logFileName

else

echo "checkout error" >> $logFileName

fi

else

# 更新svn

echo " $binSvn up $REV $dirHtmlApp " >> $logFileName

# 使用up命令更新

$binSvn up $REV $dirHtmlApp >> $logFileName

if [ $? -eq 0 ]; then

echo " update sucess " >> $logFileName

else

echo " update fial " >> $logFileName

fi

fi

echo "--" >> $logFileName

B02:上傳

建議先用測試下,檢出,上傳,刪除后,確認無誤后再進行批量操作

總結

以上是生活随笔為你收集整理的腾讯云搭svn服务器,腾讯云使用笔记二: 安装svn服务器及web同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。