如何在項(xiàng)目服務(wù)器部署git 并實(shí)現(xiàn)自動(dòng)提交
以下場(chǎng)景適合在服務(wù)器當(dāng)中使用git 方便提交代碼,同時(shí)不需要外部的git倉(cāng)庫(kù)(碼云gitee或者github作為管理平臺(tái))。依靠服務(wù)器本身ssh 連接協(xié)議做為git提交的地址,同時(shí)利用鉤子自動(dòng)同步項(xiàng)目代碼
1.首先下載git
sudo apt update sudo apt install git
2.查看版本是
git version
3.創(chuàng)建git倉(cāng)庫(kù)存儲(chǔ)地址
mkdir report_test/aaa.git
4初始化倉(cāng)庫(kù)
git init --bare
初始化完成后會(huì)生成如下文件
`

5 此時(shí)git倉(cāng)庫(kù)已經(jīng)創(chuàng)建完成 通過(guò) ssh://k1919@120.46.74.130:/report_test/aaa.git 可以訪問(wèn)到git項(xiàng)目
其中 k1919 是用戶名 120.46.74.130為IP地址
(有一點(diǎn)要注意,所使用的用戶名要有操作目錄的權(quán)限)
6 在hooks 下創(chuàng)建 post-update 鉤子(或者post-receive鉤子)
sudo touch post-receive sudo chmod +x post-receive
編寫post-receive
#!/bin/sh # 確保這個(gè)腳本在Git倉(cāng)庫(kù)的.git/hooks目錄下運(yùn)行 REPO_DIR=$(dirname "$0")/.. cd "$REPO_DIR" # 輸出信息 echo "Updating rrr project to the latest master..." # 切換到目標(biāo)目錄 TARGET_DIR="/project_test/aaa" cd "$TARGET_DIR" # 拉取最新代碼(假設(shè)這里是一個(gè)克隆的倉(cāng)庫(kù)) git fetch origin git reset --hard origin/master # 或者,如果這不是一個(gè)克隆的倉(cāng)庫(kù),你可能需要克隆或拉取代碼 # git clone <repository-url> . --branch master --single-branch # 返回到原始目錄(如果需要) # cd "$REPO_DIR" exit 0
post-receive和post-update的區(qū)別如下

6 創(chuàng)建項(xiàng)目,并添加git信息
mkdir project_test/aaa git init git remote add origin ssh://k1919@120.46.74.130:/report_test/aaa.git
7 服務(wù)器生成 秘鑰 ssh-keygen -t rsa
跳轉(zhuǎn)到 .ssh 目錄 cd ~/.ssh 此時(shí)會(huì)生成公鑰私鑰 id_rsa.pub 文件為公鑰
如果.ssh 沒(méi)有authorized_keys 自己創(chuàng)建
touch authorized_keys
將 id_rsa.pub 中的內(nèi)容 復(fù)制到 authorized_keys
8 將自己電腦當(dāng)中的 公鑰也復(fù)制到 authorized_keys中,windows路徑一般為
C:\Users\Administrator.ssh
如下圖所示

在本地提交代碼會(huì)自動(dòng)同步至服務(wù)器(并且配置了公鑰,不用輸入密碼)
git add . git commit -m "kkk" git pull origin master git push origin master
到此這篇關(guān)于在項(xiàng)目服務(wù)器部署git 并實(shí)現(xiàn)自動(dòng)提交的文章就介紹到這了,更多相關(guān)服務(wù)器部署git 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
服務(wù)器錯(cuò)誤碼500 501 502 503 504 505 詳解
這篇文章主要介紹了服務(wù)器錯(cuò)誤碼500 501 502 503 504 505 詳解,需要的朋友可以參考下2015-07-07
git多人協(xié)作_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了git多人協(xié)作,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
聯(lián)想服務(wù)器X3850 X6 配置RAID5陣列圖文方法
這篇文章主要介紹了聯(lián)想服務(wù)器X3850 X6 配置RAID5陣列圖文方法,需要的朋友可以參考下2018-05-05
CDN中的OCSP?Stapling是什么?需要開(kāi)啟嗎?
最近使用CDN時(shí),CDN后臺(tái)都有一個(gè)OCSP?Staplin的選項(xiàng),一般在設(shè)置HTTPS里面,不知道什么意思,這里簡(jiǎn)單為大家分享一下2024-01-01
Memcached簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Memcached簡(jiǎn)介,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
阿里云申請(qǐng)的 CA Wosin 證書,在Windows iis下導(dǎo)入證書的步驟分享
這篇文章主要介紹了阿里云申請(qǐng)的 CA Wosin 證書,在Windows iis下導(dǎo)入證書的步驟分享,需要的朋友可以參考下2017-03-03
多服務(wù)器批量管理工具對(duì)比與選型:從Xshell到自動(dòng)化運(yùn)維
本文探討了多服務(wù)器批量操作的挑戰(zhàn)與需求,并詳細(xì)介紹了Xshell同步輸入、腳本功能,以及Ansible、PSSH等專業(yè)運(yùn)維工具,對(duì)比分析了各自特點(diǎn),給出了選型建議,并強(qiáng)調(diào)了安全優(yōu)化與異常處理的重要性2026-04-04

