CentOS 7 安裝git及程式碼自動更新
1.安裝git
yum -y install git
解除安裝
yum -y remove git
2.檢視安裝的版本
git --version
3.建立git使用者
useradd git passwd git #根據提示建立git使用者密碼 線上建議複雜一點 設定郵箱和名稱 git config --global user.email "[email protected]" git config --global user.name "Your Name" # win和linux換行轉換 git config --global core.autocrlf false # 避免中文亂碼 git config --global core.quotepath off git config --global gui.encoding utf-8 刪除使用者 userdel -r 使用者名稱
4.建立git倉庫
mkdir -p /home/git
git init --bare /home/git/one.git
cd /home/git/
## 給git使用者給予倉庫許可權
chown -R git:git one.git
5.禁用git使用者shell登入
vim /etc/passwd
#######將git使用者修改為如下(一般在最後一行)
git:x:1000:1000::/home/git:/usr/bin/git-shell
6.本地克隆專案
在想要克隆專案的目錄下右鍵開啟 Git Bash Here
#### IP地址或者域名 git倉庫路徑
git clone [email protected]:/home/git/one.git#### 注意 ####
由於沒有新增密匙 所以每次pull push 都需要輸入上面建立git使用者所輸入的密碼
#### 注意 ####
由於沒有新增密匙 所以每次pull push 都需要輸入上面建立git使用者所輸入的密碼
7.專案程式碼自動更新
### 開啟 hooks 目錄 cd /home/git/marry.git/hooks ### cp一份 post-receive cp post-receive.sample post-receive ### 編輯 vim post-receive ### 寫入如下內容
#!/bin/sh
unset GIT_DIR
DeployPath="/home/www/one"
LogPath="/home/git/one.git/hooks"
echo -e "\n================= `date +"%Y-%m-%d %H:%M:%S"` ===============\n" >> $LogPath/gitsync.log 2>&1
cd $DeployPath
#git stash
#這裡直接丟棄工作區的內容,防止出現一些奇怪的錯誤。web目錄只做pull,不在這裡修改東西
git reset --hard
#先拉取再合併
git pull origin master >> $LogPath/gitsync.log 2>&1
#強制與遠端伺服器同步,不與本地合併,只能通過提交的客戶端提交的方式修改程式碼。
#git fetch --all
#git reset --hard origin/master
#time=`date`
#echo "web server pull at webserver at time: $time."
echo "================================================" >> $LogPath/gitsync.log 2>&1
8.給予post-receive git使用者許可權及可執行許可權
chown git:git post-receive
chmod +x post-receive
9.最後在線上站點目錄clone一下
cd /home/www
## git倉庫地址
git clone /home/git/one.git
### 開啟站點目錄
cd /home/www
### 給予專案one目錄git使用者許可權
chown git:git -R one
10.免密拉取及提交
開啟Git Bash
生成密匙,一路回車就可以了
ssh-keygen -t rsa -C "[email protected]"
Git伺服器開啟RSA認證
vim /etc/ssh/sshd_config
新增如下
RSAAuthentication yes
將下面有註釋的取消註釋
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
在/home/git/目錄下
cd /home/git
建立.ssh資料夾 如已經存在就不需要建立
給予許可權
chmod 700 /home/git/.ssh
沒有這個檔案就建立一個
chmod 600 /home/git/.ssh/authorized_keys
最後建立的檔案請設定使用者組為git
然後把本地的id_rsa.pub裡面的公鑰複製到/home/git/.ssh/authorized_keys裡面 一行一個即可
git命令現在不需要密碼了,但是git烏龜還是需要密碼
git烏龜用puttygen轉成ppk格式的公鑰 然後提交的時候選擇ppk公鑰地址就可以了
11.實現線上生產和測試程式碼都可訪問
#### linux伺服器 ####
#### 建立倉庫
git init --bare /home/git/one.git
#### 許可權
chown -R git:git /home/git/one.git
#### 建立站點目錄
mkdir -p /home/www
#### 開啟
cd /home/www
#### 克隆專案
git clone /home/git/one.git
#### 許可權
chown git:git -R one
#### 克隆專案 命名測試
git clone /home/git/one.git test
#### 許可權
chown git:git -R test
#### 本地 ####
git clone [email protected]:/home/git/one.git
#### 放入專案程式碼然後提交
#### 建立本地分支
git branch test
#### 建立遠端分支
git push origin test:test
#### 伺服器 ####
cd /home/www/one
git pull
git checkout master
chown git:git -R one
cd /home/www/test
git pull
git checkout test
chown git:git -R test
#### 鉤子檔案
cd /home/git/one.git/hooks
vim post-receive
鉤子檔案內容
#!/bin/sh
unset GIT_DIR
#生產目錄
Path="/home/www/one"
#測試目錄
TestPath="/home/www/test"
#測試分支名
TestName="test"
#日誌目錄
LogPath="/home/git/one.git/hooks"
echo -e "\n================= `date +"%Y-%m-%d %H:%M:%S"` ===============\n" >> $LogPath/gitsync.log 2>&1
#獲取分支名
read oldrev newrev ref
Branch=${ref#refs/heads/}
if [ $Branch = $TestName ]; then
#開啟測試目錄並更新程式碼
cd $TestPath
#切換分支
git checkout $Branch >> $LogPath/gitsync.log 2>&1
#這裡直接丟棄工作區的內容,防止出現一些奇怪的錯誤。web目錄只做pull,不在這裡修改東西
git reset --hard
#拉取程式碼
git pull >> $LogPath/gitsync.log 2>&1
elif [ "$Branch" = "master" ]; then
#開啟測試目錄
cd $Path
#切換分支
git checkout master >> $LogPath/gitsync.log 2>&1
#這裡直接丟棄工作區的內容,防止出現一些奇怪的錯誤。web目錄只做pull,不在這裡修改東西
git reset --hard
#拉取程式碼
git pull >> $LogPath/gitsync.log 2>&1
fi
#強制與遠端伺服器同步,不與本地合併,只能通過提交的客戶端提交的方式修改程式碼。
#git fetch --all
#git reset --hard origin/master
#time=`date`
#echo "web server pull at webserver at time: $time."
echo "================================================" >> $LogPath/gitsync.log 2>&1
給予鉤子檔案許可權
chown git:git post-receive
chmod +x post-receive
相關推薦
CentOS 7 安裝git及程式碼自動更新
1.安裝git yum -y install git 解除安裝 yum -y remove git 2.檢視安裝的版本 git --version 3.建立git使用者
Centos 7 安裝Supervisor及使用
csdn html inux tar 設置 簡單的 install blog lib Supervisor官網鏈接:http://supervisord.org/installing.html 安裝與設置開機啟動: http://blog.csdn.net/fenglail
CentOS 7 安裝 Git
客戶端 psr 當前 oca fbv info bin MQ use 服務器端 1.先從yum安裝git yum –y install git 2.在需要的位置創建一個裸倉庫(最後以.git結尾) cd /usr/local mkdir git cd git git
centos 7 安裝git 免密登錄
用戶 內容 mkdir lse authorize 安全 免密碼登錄 toolbar onf 第一步.安裝git服務 yum install git 第二步.創建git用戶 adduser git 第三步生成git登錄公鑰 安裝完成 git客戶端
CentOS 7 安裝Nginx 並配置自動啟動
1、官網下載安裝包 http://nginx.org/en/download.html,選擇適合Linux的版本,這裡選擇最新的版本,下載到本地後上傳到伺服器或者centos下直接wget命令下載。 切換到/usr/local目錄,下載軟體包
【freeSwitch】——centos 7 安裝教程及常見問題
引言 最近公司需要在系統中整合軟電話的功能,之前我們是直接購買的螞蟻電話,在使用了一段時間以後,會有一些問題,比如說穩定性,還有就是一些和我們自己業務相關的需要定製的功能都不能滿足,所以我們需要自己搭建軟電話平臺,在前期調研以後我們選定freeswitch來完成,關於fr
如何在CentOS 6.x/7.x上安裝git及最新版
原始碼包安裝 步驟1. 安裝依賴包 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # yum install gcc perl-ExtUtils-MakeMaker
contos7編譯安裝git及搭建git遠端版本庫,及鉤子自動更新
一 安裝最新版git1.檢視yum源倉庫git資訊: yum info git初始化的阿里雲contos7的yum是1.8.3.1版本的;和官網不匹配;2.依賴庫安裝yum install curl-devel expat-devel gettext-devel opens
CentOS 7 安裝MySQL 5.6遇到問題及解決方案
linux localhost not ces name 解決 info target case centos下安裝mysql真的沒有想象中那麽容易,在這裏我總結一下遇到的問題 1. ERROR 2002 (HY000): Can’t connect to loca
CentOS 7安裝Samba 4.6 版本步驟及錯誤解決方法
style chmod tab root 必須 共享文件夾 默認 mini div 首先通過這次教訓,讓我養成一個好習慣:備份 備份 備份 不管做什麽配置或者更改什麽東西之前先做好備份! 還有我本身的一個壞毛病:眼高手低! 工廠有一臺服務器,由以前的運維裝的S
centos 7 安裝及配置zabbix agent
repr rac nbsp sta 找到 更改 spa gen 監控 一、在被監控主機上設置防火墻,允許zabbix-agent的10050端口通過 二、執行yum list |grep zabbix,找到zabbix的agent安裝包並安裝 三、在 /etc/zabbix
centos 7 安裝及配置 iptables (yum install iptables-services)
一、防火牆配置 不知道為什麼,雲主機沒有開啟firewall 或iptables,記錄一下配置iptables防火牆的步驟 1、檢測並關閉firewall 1 2 3 4 5 systemctl status firewalld.service #檢測是否開啟了firewall
centos 7 升級 git 版本(通過安裝 ius 源的方式)
文章目錄 檢視系統相關資訊 檢視CentOS的版本號 檢視核心版本 檢視 git 版本 通過安裝第三方 yum 源的方式來更新git 下載對應的 yum 源 安裝 yum 源 刪除掉已經存
centos-7安裝rabbitmq-21詳細步驟及坑
1、先在www.erlang.org/downloads下載erlang的碼源,然後下載rabbitmq 2、初始化環境 <1> 配置 阿里雲yum源 詳細步驟 https://blog.csdn.net/ltx06/article/details/7
電腦基礎知識及拓展:使用Git將程式碼庫更新到本地(完整版)
環境:Git已安裝(皮一下) 新建一資料夾 右鍵,Git Bash Here git init 新增庫 git remote add origin 想要更新的原始碼地址 將庫裡的程式碼下載到本地 git pull origin ma
CentOS 7 安裝配置git
安裝yum install git 驗證[[email protected] ~]# git --version git version 1.8.3.1 [[email
Linux搭建SVN伺服器及服務端程式碼自動更新
系統版本:CentOS6.8 流水線安裝如下: >>yum -y install subversion#安裝svn >>rpm -ql subversion#檢視安裝位置 >>svnversion --version#檢視版本 >&
CentOS 7 安裝、配置、使用 PostgreSQL 10 安裝及基礎配置
install the server packages: yum install postgresql10-server 此時在/usr/下多了pgsql-10目錄 關於安裝的幾個軟體的介紹: postgresql-client libraries and
CentOS 7 安裝Python3.5 及Django
1.首先用yum安裝下vim,因為CentOS 7可能根本沒自帶完整vim,經常出現輸入亂碼:yum -y install vim2.安裝開發工具組:yum groupinstall "Developm
Centos 7安裝Grafana 4及結合Zabbix3.2實現視覺化監控圖形
Grafana 是 Graphite 和 InfluxDB 儀表盤和圖形編輯器。Grafana 是開源的,功能齊全的度量儀表盤和圖形編輯器,支援 Graphite,InfluxDB 和 OpenTSDB。 Grafana 主要特性:靈活豐富的圖形化選項;可以混合多種