如何在項目服務器部署git 并實現(xiàn)自動提交
以下場景適合在服務器當中使用git 方便提交代碼,同時不需要外部的git倉庫(碼云gitee或者github作為管理平臺)。依靠服務器本身ssh 連接協(xié)議做為git提交的地址,同時利用鉤子自動同步項目代碼
1.首先下載git
sudo apt update sudo apt install git
2.查看版本是
git version
3.創(chuàng)建git倉庫存儲地址
mkdir report_test/aaa.git
4初始化倉庫
git init --bare
初始化完成后會生成如下文件
`
5 此時git倉庫已經創(chuàng)建完成 通過 ssh://k1919@120.46.74.130:/report_test/aaa.git
可以訪問到git項目
其中 k1919 是用戶名 120.46.74.130為IP地址
(有一點要注意,所使用的用戶名要有操作目錄的權限)
6 在hooks 下創(chuàng)建 post-update 鉤子(或者post-receive鉤子)
sudo touch post-receive sudo chmod +x post-receive
編寫post-receive
#!/bin/sh # 確保這個腳本在Git倉庫的.git/hooks目錄下運行 REPO_DIR=$(dirname "$0")/.. cd "$REPO_DIR" # 輸出信息 echo "Updating rrr project to the latest master..." # 切換到目標目錄 TARGET_DIR="/project_test/aaa" cd "$TARGET_DIR" # 拉取最新代碼(假設這里是一個克隆的倉庫) git fetch origin git reset --hard origin/master # 或者,如果這不是一個克隆的倉庫,你可能需要克隆或拉取代碼 # git clone <repository-url> . --branch master --single-branch # 返回到原始目錄(如果需要) # cd "$REPO_DIR" exit 0
post-receive和post-update的區(qū)別如下
6 創(chuàng)建項目,并添加git信息
mkdir project_test/aaa git init git remote add origin ssh://k1919@120.46.74.130:/report_test/aaa.git
7 服務器生成 秘鑰 ssh-keygen -t rsa
跳轉到 .ssh 目錄 cd ~/.ssh
此時會生成公鑰私鑰 id_rsa.pub 文件為公鑰
如果.ssh 沒有authorized_keys 自己創(chuàng)建
touch authorized_keys
將 id_rsa.pub 中的內容 復制到 authorized_keys
8 將自己電腦當中的 公鑰也復制到 authorized_keys中,windows路徑一般為
C:\Users\Administrator.ssh
如下圖所示
在本地提交代碼會自動同步至服務器(并且配置了公鑰,不用輸入密碼)
git add . git commit -m "kkk" git pull origin master git push origin master
到此這篇關于在項目服務器部署git 并實現(xiàn)自動提交的文章就介紹到這了,更多相關服務器部署git 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Dell R730服務器6i陣列卡Raid5配置方法(熱備)
這篇文章主要介紹了Dell R730服務器6i陣列卡Raid5配置方法,需要的朋友可以參考下2018-05-05Mac環(huán)境下搭建svn環(huán)境和使用方法
本篇文章主要介紹了Mac環(huán)境下搭建svn環(huán)境的使用方法。由于Mac自帶了svn的服務器端和客戶端功能,所以我們可以在不裝任何第三方軟件的前提下使用svn功能,只需要簡單配置,有興趣的可以了解一下。2017-02-02使用cwRsync實現(xiàn)windows下服務器文件定時同步備份(附錯誤處理方法)
原來服務器一直用綠環(huán)ftp同步工具,發(fā)現(xiàn)一些大文件經常無法同步,所以這里推薦使用cwRsync2012-06-06