伺服器
功能目錄結構
10.90.11.227
系統管理員本地倉庫
/software/process_config
172.31.4.123
中轉倉庫/資料存放倉庫
中轉倉庫: /software/workspace/project 資料存放倉庫: /software/workspace/project-local/project
初始化中轉倉庫
git init 和 git init --bare 的區別初始化出來的倉庫是不一樣的,前者初始化的是乙個普通的倉庫,其中 .git 資料夾是隱藏的,並且能看見該倉庫下所有的原始碼。而後者初始化出來的倉庫中的檔案,就是 .git 中的資料夾,但不能像前者那樣直接瀏覽或修改倉庫中的**。
$ mkdir /software/workspace/project
$ cd /software/workspace/project
$ git init --bare
**結果:**
-rw-r--r-- 1 root root 23 apr 25 06:10 head
drwxr-xr-x 2 root root 6 apr 25 06:10 branches
-rw-r--r-- 1 root root 66 apr 25 06:10 config
-rw-r--r-- 1 root root 73 apr 25 06:10 description
drwxr-xr-x 2 root root 4096 apr 25 10:27 hooks
drwxr-xr-x 2 root root 20 apr 25 06:10 info
drwxr-xr-x 41 root root 4096 apr 25 10:26 objects
drwxr-xr-x 4 root root 29 apr 25 06:10 refs
初始化資料儲存倉庫--其實就是做中轉倉的檢出
$ cd /software/workspace/project-local
$ git clone /software/workspace/project
drwxr-xr-x 6 root root 72 apr 26 00:08 project
配置中轉倉-- hooks
$ cd /software/workspace/project/hooks
$ cat post-receive # 系統管理員每次提交時指定 remote 倉庫 後自動觸發 hooks 執行以下** 必須有執行許可權
#!/bin/sh
cd /software/workspace/project-local/project || exit
echo $
unset git_dir
/usr/bin/git pull
echo "pull successful 172.31.4.123"
系統管理員本地倉庫新增remote 源
# 轉殖版本庫的時候,所使用的遠端主機自動被git命名為origin。如果想用其他的主機名,需要用git clone命令的-o選項指定。
$ git clone -o source
$ git remote add deploy [email protected]:/software/workspace/project # root為系統賬戶
$ git remote -v
deploy [email protected]:/software/workspace/project (fetch)
deploy [email protected]:/software/workspace/project (push)
source (fetch)
source (push)
系統管理員本地倉庫提交測試
$ vim nginx.conf
$ git add .
$ git commit -m "test hooks"
[master 7b05314] test hooks
1 file changed, 1 insertion(+)
$ git push deploy # 此處如果想直接全部提交到遠端倉庫進行如下配置
########
git remote set-url --add --push origin
git remote add both [email protected]:/software/workspace/project
git remote set-url --add --push both
git remote set-url --add --push both [email protected]:/software/workspace/project
git push both
########
counting objects: 4, done.
delta compression using up to 4 threads.
compressing objects: 100% (4/4), done.
writing objects: 100% (4/4), 457 bytes | 0 bytes/s, done.
total 4 (delta 1), reused 0 (delta 0)
# 以下都是自定義 hooks 指令碼返回的資訊
remote: .
remote: 來自 /software/workspace/project
remote: 7c07381..7b05314 master -> origin/master
remote: 更新 7c07381..7b05314
remote: fast-forward
remote: nginx/nginx.conf | 1 +
remote: 1 file changed, 1 insertion(+)
remote: pull successful 172.31.4.123
to [email protected]:/software/workspace/project
7c07381..7b05314 master -> master
lonny@lonnyliumacpro ~/documents/process_configure/nginx (git)-[master] %
配置檔案管理完畢 C 配置檔案管理
試用c system.configuration包中的配置管理類來進行配置管理。步驟如下 首先實現configurationmanagerbase,iconfigurationsource用於獲取section例項。1.實現乙個繼承自configurationelement的類,表示在配置檔案中的乙...
Emacs 多檔案管理配置檔案
emacs時間用久了,由於經常加配置,於是導致.emacs配置檔案奇大無比,比如我的已經有900多行了 管理起來很不方便 我們可以把不同部分的配置放在不同的檔案中,再統一匯入到.emacs中,當emacs執行的時候載入.emacs再通過.emacs依次匯入其它所有的配置檔案,如果細心分類,emacs...
YAML配置檔案管理資源
定義配置時,指定最新穩定版api api版本可以通過命令kubectl api versions檢視到 配置檔案應該儲存在集群之外的版本控制倉庫中。如果需要,可以快速回滾配置 重新建立和恢復 例如git。應該使用yaml格式編寫配置檔案,而不是json。儘管這些格式都可以使用,但yaml對使用者更加...