❶ 如何在mac上使用git連接私有的gitlab伺服器
首先要 ssh遠程登陸工具比secureCRT等
案 基於SSH直接搭建
Git支持協議主要四種:
本: 需要文件共享系統許可權控制
HTTP:速度慢
SSH:同支持讀寫操作支持匿名讀取(Git默認協議)
GIT:快
搭建難易程度特點綜合篩選合適ssh並且部伺服器基本都ssh服務所省少麻煩基本思路給每ssh帳號家通用戶名口令訪問顯選擇做些余並且於repo許可權難管理
使用Github候利用rsa.pub公鑰/私鑰式服務端擁用戶公鑰(*.pub)跨繁瑣口令直接認證提交服務端根據同用戶身份其許可權著更加靈管理我採用種式
服務端
使遠程庫訪問更加直觀先伺服器創建名git賬戶clone候面格式:
git clone git@server:some.git
創建新用戶創建repo等目錄
$sudo adser git
$su git
$cd ~
$mkdir repos
HOME.ssh目錄沒則創建創建authorized_keys文件文件用管理所git用戶公鑰面用戶於項目著R+W許可權
客戶端
於每客戶端我需要密鑰公鑰Github用戶.ssh目錄定id_rsa.pubid_rsa兩文件其第系統公鑰另自要保存密鑰沒終端執行:ssh-keygen完自公鑰提交給管理員注冊行
完
步管理員團隊員公鑰添加authorized_keys比同susie加入:
$ cat susie.pub >> authorized_keys
至家通git@server:repos/some.git訪問公共版本庫
問題
安全問題員登錄git用戶shell,細節許可權支等控制
管理麻煩新建repo,或者增加員比較麻煩尤其修改候
案二 使用Gitolite服務
Gitolite 基於SSH協議構建便管理git repo應用通其源碼安裝.
安裝
安裝按照官給定文檔輕易實現:
$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub
執行條命令候gitolite識別則通面兩種式解決:
gitolite添加PATH面
通$HOME/bin/gitolite setup -pk YourName.pub 執行
至gitolite服務端搭建完畢發現HOME目錄增加文件projects.list目錄repositories,者我版本倉庫每新建repo候其創建
使用
候說gitolite管理模式創建gitolite-adminrepo管理員通像repo提交配置文件實現git伺服器控制
首先repo導入我workspace:前需要配置本ssh,gitolite要求管理員本密鑰其注冊公鑰名字致比我安裝候指定 -pk面 admin.pub 則管理員本需要由admin應私鑰我通~/.ssh/config進行配置(註:些系統用confMac OSX 效能用config).
host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin
我訪問gitolite候自根據配置文件執行配置完根據面命令gitolite-admin轉移本
git clone gitolite:gitolite-admin.git
克隆完發現gitolite-admin面兩目錄其conf保存配置文件我通編輯面gitolite.conf文件管理git伺服器keydir目錄保存用戶公鑰pub文件
我講修改repo 提交候gitolite自應用些配置管理程便
配置規則
打gitolite.conf文件看其示例:
To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitolite.conf' and add lines like this:
repo foo
RW+ = alice
RW = bob
R = carol
面配置文件新建repo foo並且添加三位項目員每許可權同提交push管理便效
視化
我能需要web界面管理些項目我目前知道三種式:
git源碼自帶組件cgi腳本實現使用gitolite服務
gitlab源框架基於ROR新版本再使用gitolite服務
FB源php框架 phabricator功能高端檔
❷ GitLab 中 如何編寫 .gitlab-ci.yml 轉換 php 文件為 html 文件
有專業的格式轉換工具,樓主直接網路就可以
❸ 怎麼在bitnami gitlab下再配置一個php的站點
在雲伺服器上搭好了bitnami gitlab,但是現在想利用裡面的apache搭一個dz的論壇,綁定一個新域名,嘗試了好久,域名綁定不了,站點也無法訪問。
❹ win 7 怎麼安裝gitlab
安裝步驟有:
1. 依賴包
2. ruby
3. 用戶創建
4. 資料庫初始化
5. redis
6. gitlab源碼
7. apache
本文可能會用到VPN連接,在命令行下創建VPN連接的方法如下:
sudo apt-get install pptp-linux
sudo pptpsetup --create VPN名稱 --server 伺服器地址 --username 用戶名 --password 密碼 [--encrypt] --start
以上命令會創建一個設備,如果沒有其他的撥號設備,這個設備會是ppp0,用ifconfig可以看到,「--encrypt」選項可選,因為有的伺服器不支持,會提示MPPE required but peer negotiation failed,創建時帶上「--start」選項可以看到連接的情況。
pptpsetup創建的VPN連接重啟後會失效,如果想在不重啟的情況下刪除VPN連接:
sudo pptpsetup --delete VPN名稱
創建VPN連接後還需要使能,並且添加到路由列表:
sudo pon VPN名稱
sudo route add default dev ppp0
禁用VPN連接的方法是:
sudo poff VPN名稱
下面開始正文:
1. 依賴包
我裝的是ubuntu server 14.04,安裝的時候可以選是否安裝LAMP(Linux+Apache+MySQL+PHP),如果沒裝,可以用下面的命令裝:
sudo tasksel install lamp-server
安裝的時候會提示輸入MySQL的root密碼,下面要用。
接下來是依賴關系:
sudo apt-get install flex bison ruby build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake libkrb5-dev nodejs git-core
注意:這裡面裝了ruby,應該是1.9.1版本的,gitlab需要2.0以上的ruby,但是安裝2.0以上的ruby需要低版本的ruby,所以我們先裝上,一會兒卸掉。另外,ubuntu 14.04的軟體庫里有ruby 2.0,但是實測不能用,所以還是從源碼裝ruby吧。
❺ 如何在一台伺服器上同時搭建禪道和gitlab
如果使用的是linux一鍵安裝包,按照安裝文檔啟動服務即可,如果要自己搭建環境,需要先把 apache mysql php環境搭建好,如何搭建可以網上搜索資料,介紹的資料很多。
❻ gitlab項目自動部署 Php是以www方式執行的
估計和你當前用的 shell 命令行不是同一個 shell 解釋器。
寫 shell 腳本,記住一定要在最開始寫 #!/bin/bash 或者其他的解釋器,比如 csh、tsh。python、perl、php 都可以這么用,這樣你的腳本就制定了一個解釋器來運行。運行時不要用 sh xxx.sh ,而是賦予可運行許可權後 ./xxxx.sh 方式運行。
一般 Linux 下面的 /bin/sh 是一個鏈接,指向一個默認的 shell 解釋器,這個鏈接如果不是你需要的解釋器,那麼腳本運行出現任何問題都可能。如果系統裝了 busybox ,他也會提供一個 sh 解釋器,而且命令的文件名也是 sh ,他和 bash 運行結果也有區別,只是這個 sh 不一定在 /bin 裡面。
❼ git 在使用拉取、推送(pull或push)時時候會出現這樣的錯誤提示
d:Program Files (x86)Git/libexec/git-coregit-pull:line 268:/bin/tr:Bad file number
Your configuration specifies to merge with the ref 'master' 是不是你的代碼有未提交的更新呀?你修改文件後如果沒有提交push,那麼你在pull的時候就會報錯的,會讓你先提交或者merge合並文件
【拓展資料】
git pull origin 拉取代碼到本地,解決拉取代碼時發生的文件沖突:
1)拉取(下載)指定分支代碼合並到當前分支:
相當於指定分支的代碼與當前分支的代碼合並到了一起。
命令:git pull origin分支名稱
注意:
每次使用該命令前,需要保證本地工作區是沒有任何修改代碼的,也就是說需要將本地工作區編輯過的文件添加到暫存區(git add .),或提交到本地倉庫中(git commit),才可以使用該命令拉取指定分支的代碼合並到當前分支中。
每次在操作完git commit命令後,必須拉取一下master分支代碼,保持本地正在開發功能邏輯的代碼分支代碼是最新的,避免後續在提交時沖突過多或覆蓋掉其他人的代碼的問題出現。
如果我們需要將master主幹分支的代碼拉取並與我們當前分支(xuzhangzheng2)的代碼進行合並的話,可以使用該命令。效果如圖:
中間的======是用於分割本地變更和遠程倉庫中的變更的,也就是說出現沖突時,如圖,使用======把沖突的部分分割成2塊。
上面的是本地修改變更的內容,以<<<<<<<HEAD開頭。
下面的是遠程倉庫修改變更的內容,以>>>>>>>版本號 結尾。
版本號,也就是示例中的,即為提交的版本號,使用該版本號可以在gitlab中找到提交記錄,從而方便查詢其他同事在對同文件進行修改時,都修改了哪些內容,便於進解決沖突。
解決方法:
根據實際業務場景,將本地修改變更的部分和遠程倉庫中修改變更的部分進行合並,留下滿足業務邏輯的代碼即可(若團隊開發期間,出現沖突時,建議找到相關同事進行溝通,確保自己解決沖突的方法不會影響到其他人編寫的功能),同時將上面提到的沖突標識刪除掉,不然無法通過語法檢查和編譯。
同時建議使用全文件內容搜索<<<<<<<或======或>>>>>>>,將所有有沖突的地方一一進行解決,保重提交的代碼是可運行,沒有問題的。
解決沖突後,若需要提交代碼的話,需先將代碼使用git add .存入緩存區,或直接使用git commit –am 「本次提交描述」 或git commit –a –m 「本次提交描述」將代碼提交至本地倉庫區,同時再次拉取制定分支的最新代碼,確保本次的代碼時刻都是最新的,再進行接下來的推送代碼至遠程倉庫操作。
❽ 在linux上 使用php執行git 下拉數據時報錯
查看wtz.log 後發現echo 'my name is gitlab'>> /tmp/wtz.log 和echo 'you are so cute!!!::'>> /tmp/wtz.log 都成功寫入到日誌文件中。但測試伺服器項目原代碼就是沒有自動更新。除非手動git pull origin master 或者 在終端裡面直接執行 上面的shll。它才會更新。
❾ 如何在gitlab裡面設置郵件提醒
例子 1
把字元串變數($str)的值寫入輸出:
<?php
$str = "Hello world!";
echo $str;
?>
例子 2
把字元串變數($str)的值寫入輸出,包括 HTML 標簽:
<?php
$str = "Hello world!";
echo $str;
echo "<br>What a nice day!";
?>
例子 3
連接兩個字元串變數:
<?php
$str1="Hello world!";
$str2="What a nice day!";
echo $str1 . " " . $str2;
?>
例子 4
把數組值寫入輸出:
<?php
$age=array("Peter"=>"35");
echo "Peter is " . $age['Peter'] . " years old.";
?>
例子 5
把文本寫入輸出:
<?php
echo "This text
spans multiple
lines.";
?>
運行實例
例子 6
如何使用多個參數:
<?php
echo 'This ','string ','was ','made ','with multiple parameters.';
?>
例子 7
單引號和雙引號的區別。單引號將輸出變數名稱,而不是值:
<?php
$color = "red";
echo "Roses are $color";
echo "<br>";
echo 'Roses are $color';
?>
例子 8
簡化語法(只適用於 short_open_tag 配置設置啟用的情況):
<?php
$color = "red";
?>
<p>Roses are <?=$color?></p>