導航:首頁 > IDC知識 > git伺服器自動更新

git伺服器自動更新

發布時間:2020-12-04 22:17:13

1、如何讓電腦監測到git倉庫有更新後自動拉取代碼

git clone +遠程倉庫地址 這里需要注意了,遠程倉庫會有兩個地址

2、如何建立自動更新的npm.js本地鏡像源

首先,我們需要安裝nodejs和git:

git clone git://github.com/isaacs/npmjs.org.git
cd npmjs.org
sudo npm install -g couchapp
npm install couchapp
npm install semver
couchapp push registry/app.js http://localhost:5984/registry
couchapp push www/app.js http://localhost:5984/registry
我們現在有一個可以工作的NPM資源庫,要測試這一點,我們可以運行下面的命令:

npm --registry http://localhost:5984/registry/_design/scratch/_rewrite login npm --registry http://localhost:5984/registry/_design/scratch/_rewrite search
如果你得到結果的話,一切都很順利!
所以,我們現在有自己的私人npm託管,並保持自動更新。
我們現在要做的是 在自己子域名中修改[虛擬主機]節中/usr/local/etc/couchdb/local.ini 文件。 取消注釋,並重新啟動CouchDB的。

$ vim /usr/local/etc/couchdb/local.ini
[vhosts]
example.com = /registry/_design/scratch/_rewrite
我們在這將該應用程序鎖定,並防止未經授權的用戶刪除我們的數據。

$ vim /usr/local/etc/couchdb/local.ini
[admins]
admin = password
$ sudo /etc/init.d/couchdb restart

開始使用您新的npm與客戶端!
從npmjs.org README中了解到, 我們只需更換<registryurl>與您注冊的網址,例如:

你可以在注冊npm 客戶端的時候將以下代碼放到~/.npmrc文件中。

registry = <registryurl>
你也可以這樣設置npm注冊屬性

npm config set <registryurl>
或者更簡單的是在每次調用的時候,覆蓋npm的注冊配置:
1 npm --registry <registryurl> install <packagename>
現在,您可以編寫並安裝模塊了,即使npmjs.org已關閉,你也可以有運行在本地計算機上的鏡像,並在你起床的時候有最新的NPM更新。

3、git更新到本地代碼後,可以配置jenkins自動構建嗎?對本地代碼構建打包

當時也是花費了不少時間來配置Jenkins自動打包的問題,覺得還是需要記錄一下。專
1.安裝Jenkins,這個很簡單,不需要屬多說。
2.下載Git Plugin,Gradle Plugin,Android Emulator Plugin(這個可以配置SDK路徑,覺得這個插件挺好),
Email Extension Plugin 郵件提醒插件,自帶的郵件提醒插件確實太弱。
3.配置,SDK路徑,JDK路徑,Git路徑,Gradle路徑。
配置git:
git config –global user.name 「name」
git config –global user.email email
查看:
cat /root/.gitconfig
root是指當前的用戶
生成公鑰和私鑰:
ssh-keygen -t rsa -C 「email」

4、本地更新git後怎麼自動化構建部署,使用jenkins。

配置Git
sudo vim /etc/profile #編輯profile文件1

然後而已看到這個文件已經有很多配置了,只需要在最下邊添加git的路徑即可內:
export PATH=/usr/local/git/bin:$PATH1

將這段話放在容最後邊,然後使用source命令應用修改:
source /etc/profile1

6、檢驗Git是否安裝成功
git --version1

二、Maven安裝
1、下載和解壓Maven
Maven的安裝包下載可以根據需求找到合適的版本,解壓之後,我的位置是:

5、git代碼會自動更新嗎

不會,需要使用git命令來進行更新。

6、git的倉庫和web站點不在一台伺服器上,怎麼自動更新

1. 架設Git伺服器 我們以Ubuntu為例。首先,在git伺服器上創建一個名為 'git' 的用戶,並為其創建一個.ssh 目錄。並將其許可權設置為僅git用戶有讀寫許可權 $ sudo adser git $ su git $ cd $ mkdir .ssh $ chmod 700 .ssh 接下來,把開發者的 SSH 公鑰添加到這個用戶的 authorized_keys 文件中。假設你通過電郵收到了幾個公鑰並存到了臨時文件里。重復一下,公鑰大致看起來是這個樣子: $ cat /tmp/id_rsa.john.pub ssh-rsa /ww+ouN4gSLKssMxXnBOvf9LGt4L ojG6rs6hPB09j9R/T17//5zytK6Ztg3RPKK+4k Ez /nLF6JLtPofwFBlgc+myiv Pq dAv8JggJICUvax2T9va5 gsg-keypair 只要把它們逐個追加到 authorized_keys 文件尾部即可,同時將authorized_keys設置為僅git用戶有讀寫許可權。 $ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys 現在可以用 --bare 選項運行 git init 來建立一個裸倉庫,這會初始化一個不包含工作目錄的倉庫。 $ cd /opt/git $ mkdir project.git $ cd project.git $ git --bare init 這時,Join,Josie 或者 Jessica 就可以把它加為遠程倉庫,推送一個分支,從而把第一個版本的項目文件上傳到倉庫里了。值得注意的是,每次添加一個新項目都需要通過 shell 登入主機並創建一個裸倉庫目錄。我們不妨以 gitserver 作為 git 用戶及項目倉庫所在的主機名。如果在中國絡內部運行該主機,並在 DNS 中設定 gitserver 指向該主機,那麼以下這些命令都是可用的: # 在 John 的電腦上 $ cd myproject $ git init $ git add . $ git commit -m 'initial commit' $ git remote add origin git@gitserver:/opt/git/project.git $ git push origin master 這樣,其他人的克隆和推送也一樣變得很簡單: $ git clone git@gitserver:/opt/git/project.git $ vim README $ git commit -am 'fix for the README file' $ git push origin master 用這個方法可以很快捷地為少數幾個開發者架設一個可讀寫的 Git 服務。 作為一個額外的防範措施,你可以用 Git 自帶的 git-shell 工具限制 git 用戶的活動范圍。只要把它設為 git 用戶登入的 shell,那麼該用戶就無法使用普通的 bash 或者 csh 什麼的 shell 程序。編輯/etc/passwd 文件: $ sudo vim /etc/passwd 在文件末尾,你應該能找到類似這樣的行: git:x:1000:1000::/home/git:/bin/sh 把 bin/sh 改為 /usr/bin/git-shell (或者用 which git-shell 查看它的實際安裝路徑)。該行修改後的樣子如下: git:x:1000:1000::/home/git:/usr/bin/git-shell 現在 git 用戶只能用 SSH 連接來推送和獲取 Git 倉庫,而不能直接使用主機 shell。嘗試普通 SSH 登錄的話,會看到下面這樣的拒絕信息: $ ssh git@gitserver fatal: What do you think I am? A shell? Connection to gitserver closed. 這里提供的方法,組內所有成員對project都有讀寫許可權,也就是說每個分支都可以push代碼,如果需要更加細致的許可權控制,請使用Gitosis或者Gitolite。 2. 搭建Gitweb 安裝gitweb之後就可以通過中國站訪問我們的項目了。就像中國git.kernel.org一樣顯示了 首先需要安裝Gitweb,如果沒有安裝apache,那麼直接安裝Gitweb,也會將apache2安裝的。 $ sudo apt-get install gitweb apache2 安裝完成之後,我們只需要修改一下配置文件,將/etc/gitweb.conf文件中的$projectroot修改為放工程文件的目錄。 $ vim /etc/gitweb.conf # path to git projects (.git) $projectroot = "/opt/git"; 至此gitweb就可以使用了,現在可以通過中國[git_server_IP]/gitweb訪問了。 3. Push之後發送郵件通知 當組內成員push代碼到伺服器上之後,會自動發送郵件通知組內所有人員,該次push的具體內容是什麼。具體配置方法: 一般在安裝Git的時候發送郵件的腳本/usr/share/git-core/contrib/hooks/post-receive-email已經存在了,首先要修改所有者和執行許可權,並且安裝sendmail。 $ sudo chown git:git post-receive-email $ sudo chmod 755 post-receive-email $ sudo apt-get install sendmail 然後到切換到工程目錄下的hooks中,添加 post-receive軟鏈接指向 /usr/share/git-core/contrib/hooks/ post-receive-email。 $ cd /opt/git/project.git/hooks $ ln -s /usr/share/git-core/contrib/hooks/post-receive-email post-receive 最後修改工程目錄中的config文件即可。mailinglist是郵件列表, envelopesender是發件人的郵箱, $ vim /opt/git/project.git/config [core] repositoryformatversion = 0 filemode = true bare = true [hooks] mailinglist = "example@gmail中國, example2@gmail中國" # 收件人列表 envelopesender = project.git@example中國 # 送件人地址 emailprefix = "[Project commit] " # 郵件標題前綴 showrev = "git show -C %s; echo" # 不只顯示有變化的文件,同時也顯示改變的內容 為了使郵件顯示的更清楚,還要修改一下工程目錄當中的description文件,在description文件中,默認第一行是項目名稱,所以要在第一行填入該項目的名稱,這個在郵件中會有顯示。 $ vim /opt/git/project.git/description Project_

與git伺服器自動更新相關的知識