配置檔案管理

2022-08-05 06:27:21 字數 3434 閱讀 9739

伺服器

功能目錄結構

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對使用者更加...