svn异地同步 linux,svn库两地开发之代码数据的同步包括***连接的全套解决方案
應(yīng)用環(huán)境:在北京的svn服務(wù)器提供代碼歸檔服務(wù)為開(kāi)發(fā)和本地的持續(xù)集成編譯測(cè)試環(huán)境,成都開(kāi)發(fā)人員每個(gè)人都需要***連接并且不穩(wěn)定。后來(lái)成都部署了本地持續(xù)集成環(huán)境換取代碼,從北京同步完全不現(xiàn)實(shí)。觸使了成都本地同步北京代碼的必要性。
實(shí)現(xiàn)方式:
1.首先想到的是使用svn的鏡像同步工具來(lái)同步即svnsync。但是通過(guò)這個(gè)方式同步數(shù)據(jù),第一同步時(shí)不能有代碼的提交,同步起來(lái)速度比較慢。后續(xù)同步(使用hook用北京的提交觸同步命令)也很容易出現(xiàn)文件被鎖的情況。
2.第二種方式使用linux的rsync的工具同步北京svn服務(wù)器的代碼根目錄到成都,建立起成都的svn服務(wù)設(shè)置訪(fǎng)問(wèn)目錄就實(shí)現(xiàn)了完美同步,包括權(quán)限的等等,而且所以的數(shù)據(jù)都完全一直,同步速度也很不錯(cuò)。只要解決了成都svn服務(wù)器的***連接就可以穩(wěn)定的運(yùn)用。
ps:這種方式同步后的成都svn服務(wù)。完全和北京保持一直,本地的變動(dòng)也會(huì)在下次的同被北京數(shù)據(jù)覆蓋,所以運(yùn)用的為成都的Teamcity的自動(dòng)化環(huán)境獲取代碼也完美解決的,如果開(kāi)發(fā)人員的獲取提交想要在本地提交成都同步到北京還需要做一下兩地的同步目錄的相互同步。
3.解決兩地同步的***網(wǎng)絡(luò)問(wèn)題實(shí)現(xiàn)***宕機(jī)的自動(dòng)連接,就要寫(xiě)一個(gè)自動(dòng)的連接腳本。首先***帳號(hào)密碼由專(zhuān)門(mén)的人員管理,開(kāi)發(fā)和運(yùn)維是沒(méi)有***的撥號(hào)密碼的,所以就涉及到了腳本的加密。
操作過(guò)程:
1.配置成都svn服務(wù)器的和北京svn服務(wù)器的網(wǎng)絡(luò)互通,cisco的***,linux服務(wù)撥號(hào)使用***c這個(gè)工具s#!/bin/bash
if?[?`id?-u`?-ne?0?];then
echo?"please?use?root?user"
exit
fi
×××=`ifconfig?|?grep?tun
echo?$×××
if?[?-z?"$×××"?]
then
cd?/home/sh
./***c.sh
while?[?1?]
do
Route=`route?|?grep?192.168.17.0`
if?[?-n?"$Route"?]
then
route?add?-net?192.168.17.0?netmask?255.255.255.0?gw?192.168.21.1
break
fi
done
else
echo?$×××?>/dev/null
fi
調(diào)用的啟動(dòng)腳本***c.sh#!/usr/bin/expect
set?timeout?15
spawn?***c?--enable-1des
expect?{
"Enter?IPSec?gateway?address:"?{?exp_send?"x.xxx.xxx.xx\r";exp_continue?}
"Enter?IPSec?ID?for*"?{?exp_send?"***4000\r";exp_continue?}
"Enter?IPSec?secret?for*"?{?exp_send?"cisco\r";exp_continue?}
"Enter?username?for*"?{?exp_send?"chengdu38\r";exp_continue}
"Enter?password?for*"?{?exp_send?"passwd\r"}
}
interact
#expect?eof
到現(xiàn)在實(shí)現(xiàn)了***的自動(dòng)連接。
加密shell腳本的方式有提供兩種
第一是linux系統(tǒng)自帶的gzexe
第二是shc的二進(jìn)制編譯
都可以實(shí)現(xiàn)shell中的明文密碼ip等信息的不可見(jiàn)。
2.自動(dòng)同步的操作
有一遍文章很詳細(xì)的介紹了同步過(guò)程
總結(jié)
以上是生活随笔為你收集整理的svn异地同步 linux,svn库两地开发之代码数据的同步包括***连接的全套解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: divcss布局模板代码_CSS3布局(
- 下一篇: python读awx文件_ansible