使用 Travis 將 GitHub 文件上傳傳至服務(wù)器

同一天兩個(gè)同學(xué)問我一樣的問題,所以我決定詳細(xì)的記錄一下如何使用TravisGit?Hub里的文件傳至自己的服務(wù)器

server

首先要確保自己可以通過ssh命令免密登錄自己的服務(wù)器,這就需要先生成密鑰對(duì)

ssh-keygen

輸入上面的指令以后一路回車即可,你會(huì)發(fā)現(xiàn)在用戶根目錄下多了.ssh目錄,進(jìn)去看一下cd ~/.ssh,里面有這3個(gè)文件

接下來把id_rsa.pub里的內(nèi)容,手動(dòng)復(fù)制到服務(wù)器的~/.ssh/authorized_keys(如沒有可自行創(chuàng)建)中去即可

還有一種方法是使用ssh-copy-id root@IP命令,Mac用戶可能需要用brew安裝一下ssh-copy-id,ubuntu用戶應(yīng)該是自帶的這個(gè)命令,實(shí)現(xiàn)的效果與上面手動(dòng)的一樣,更多ssh使用方法請(qǐng)參考介紹 ssh 的日常使用

登錄服務(wù)器的指令如下,如果不需要密碼便進(jìn)入則表示成功

ssh root@服務(wù)器的IP地址
# 如改變過端口則為
ssh -p 端口號(hào) root@服務(wù)器的IP地址

GitHub

在GitHub上新建個(gè)項(xiàng)目,名字自擬

進(jìn)入你所要上傳的項(xiàng)目,輸入一下指令

git init
git remote add origin https://github.com/Godi13/TravisSendToServer.git

Travis

登錄Travis,如果沒有找到新建項(xiàng)目的話,點(diǎn)擊Sync account

先點(diǎn)開開關(guān),然后點(diǎn)擊齒輪,進(jìn)入Setting頁面

這里可以這么設(shè)置

配置文件

在本地項(xiàng)目中添加.travis.yml文件,先只加入一下配置

language: node_js
node_js: stable

接下來使用Travis命令行工具將id_rsa.pub加密,同時(shí)將環(huán)境變量傳至Travis

# 安裝travis命令行工具,如無法使用gem指令須先安裝ruby
gem install travis
# --auto自動(dòng)登錄github帳號(hào)
travis login --auto
# 此處的--add參數(shù)表示自動(dòng)添加腳本到.travis.yml文件中
travis encrypt-file ~/.ssh/id_rsa --add
# 這個(gè)命令會(huì)自動(dòng)把 id_rsa 加密傳送到 .git 指定的倉庫對(duì)應(yīng)的 travis 中去

本次執(zhí)行完travis encrypt-file ~/.ssh/id_rsa --add報(bào)了下圖這個(gè)錯(cuò)誤,是網(wǎng)路問題,終端翻墻即可,不是每次都出現(xiàn)

執(zhí)行完以后會(huì)發(fā)現(xiàn)在Travis網(wǎng)站項(xiàng)目里面的Setting中的環(huán)境變量里多兩個(gè)參數(shù)

并且在.travis.yml里的before_install周期中自動(dòng)多了下面這2行

- openssl aes-256-cbc -K $encrypted_97d432d3ed20_key -iv $encrypted_97d432d3ed20_iv
  -in id_rsa.enc -out ~\/.ssh/id_rsa -d

默認(rèn)生成的命令可能會(huì)在/前面帶轉(zhuǎn)義符\,我們不需要這些轉(zhuǎn)義符,手動(dòng)刪掉所有的轉(zhuǎn)義符,否則可能在后面引發(fā)莫名的錯(cuò)誤

之后為了保證命令的順利運(yùn)行,我們還需要正確地設(shè)置權(quán)限和認(rèn)證,注意第三行主機(jī)IP地址那里寫自己服務(wù)器的IP

before_install
- openssl aes-256-cbc -K $encrypted_97d432d3ed20_key -iv $encrypted_97d432d3ed20_iv
  -in id_rsa.enc -out ~/.ssh/id_rsa -d
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host 主機(jī)IP地址\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config

最后,就是在after_success周期中,添加上傳服務(wù)器的指令即可,在這里要注意,如果沒有stricthostkeychecking=no參數(shù),將構(gòu)建失敗,詳細(xì)原因請(qǐng)參考通過travis部署代碼到遠(yuǎn)程服務(wù)器

# 沒有修改過端口的,可以用這個(gè),上傳目錄要加 -r 參數(shù)
- scp -o stricthostkeychecking=no -r 要上傳的文件或目錄 用戶@域名或IP:/路徑
# 由于我修改了默認(rèn)的port,所以在這里也進(jìn)行了加密處理
- scp -o stricthostkeychecking=no -P $PORT -r 要上傳的文件或目錄 用戶@域名或IP:/路徑

最最后上傳所有文件到GitHub

git add .
git commit -m "Travis Send to Server"
git push

Travis查看log,顯示成功上傳

在這里可以看到我的配置文件項(xiàng)目地址,歡迎大家的反饋,希望能有所幫助

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評(píng)論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,538評(píng)論 3 417
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評(píng)論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評(píng)論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,761評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,207評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,419評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,959評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,782評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,983評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,222評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評(píng)論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,678評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,978評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,785評(píng)論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,198評(píng)論 2 33
  • 隨便寫的東西想上傳到github上就自己百度使用git工具的記錄總結(jié)一下 首先下載一個(gè)git工具和創(chuàng)建github...
    小白不小哦閱讀 889評(píng)論 0 0
  • 1.http://v.diveinedu.com/ 2.蘋果開源:http://opensource.apple.com
    walter0817閱讀 269評(píng)論 0 0
  • 漫長的暑假終于結(jié)束,新的一學(xué)期開始了。今天,冷寂的校園熱鬧起來了。實(shí)中全校報(bào)名,706班的孩子們又回到校園...
    三峽姑娘閱讀 124評(píng)論 0 1