如何在項(xiàng)目服務(wù)器部署git 并實(shí)現(xiàn)自動(dòng)提交
以下場景適合在服務(wù)器當(dāng)中使用git 方便提交代碼,同時(shí)不需要外部的git倉庫(碼云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倉庫存儲(chǔ)地址
mkdir report_test/aaa.git
4初始化倉庫
git init --bare
初始化完成后會(huì)生成如下文件
`
5 此時(shí)git倉庫已經(jīng)創(chuàng)建完成 通過 ssh://k1919@120.46.74.130:/report_test/aaa.git
可以訪問到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倉庫的.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è)克隆的倉庫) git fetch origin git reset --hard origin/master # 或者,如果這不是一個(gè)克隆的倉庫,你可能需要克隆或拉取代碼 # 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 沒有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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
rsync備份海量文件時(shí)占用大量內(nèi)存的解決方法
這篇文章主要介紹了rsync備份海量文件時(shí)占用大量內(nèi)存的解決辦法,需要的朋友可以參考下2016-07-07Dell R730服務(wù)器6i陣列卡Raid5配置方法(熱備)
這篇文章主要介紹了Dell R730服務(wù)器6i陣列卡Raid5配置方法,需要的朋友可以參考下2018-05-05vscode 遠(yuǎn)程服務(wù)器 上傳至 github的操作步驟
這篇文章主要介紹了vscode 遠(yuǎn)程服務(wù)器 上傳至 github的操作步驟,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12phpnow重新安裝mysql數(shù)據(jù)庫的方法
這篇文章主要介紹了phpnow重新安裝mysql數(shù)據(jù)庫的方法,phpnow是一個(gè)本地PHP開發(fā)環(huán)境,簡單易用,需要的朋友可以參考下2014-05-05Mac環(huán)境下搭建svn環(huán)境和使用方法
本篇文章主要介紹了Mac環(huán)境下搭建svn環(huán)境的使用方法。由于Mac自帶了svn的服務(wù)器端和客戶端功能,所以我們可以在不裝任何第三方軟件的前提下使用svn功能,只需要簡單配置,有興趣的可以了解一下。2017-02-02使用cwRsync實(shí)現(xiàn)windows下服務(wù)器文件定時(shí)同步備份(附錯(cuò)誤處理方法)
原來服務(wù)器一直用綠環(huán)ftp同步工具,發(fā)現(xiàn)一些大文件經(jīng)常無法同步,所以這里推薦使用cwRsync2012-06-06