Github CI/CD With Travis CI

CI/CD 是什么這里就不多介紹了匾竿。下面是我個人使用 GItHub + Travis 集成的 CI/CD 過程總結(jié)第美。

開發(fā)語言:golang
開發(fā)環(huán)境:Ubuntu 18.04

1. 安裝 GitHub CI 平臺插件故黑。

github 支持很多的CI應(yīng)用可以跳到 這里進行選擇 我這里選擇的是 Travis CI

20190903222024.png

點擊 Travis CI 選擇 下面的 Open Source (提供免費版)膀钠,并點擊 Install it for free想诅。 如下圖:

20190903222237.png

2. 選擇 github repositories

接著根據(jù)頁面的步驟接著執(zhí)行安裝插件操作即可个唧。最后在GitHub的 settings->Applications 中找到 Travis CI 并添加你的項目到 Travis CI 中钥顽。

20190903223420.png

注意:上面步驟中會需要登錄 Travis CI 坟冲,選擇 github 賬號登錄即可睛挚。

3. 編寫基本Travis CI 集成文件

進入 Travis CI 平臺邪蛔, 如果需要登錄,尋找右上角的 Sign in with github 扎狱。進入 Travis 中的 Documentation 查看有關(guān) Travis CI 的使用文檔侧到。
集成文檔分為下面幾個步驟: travis.yml 文件是由這些步驟組合起來的勃教。

    1. OPTIONAL Install apt addons
    1. OPTIONAL Install cache components
    1. before_install
    1. install
    1. before_script
    1. script
    1. OPTIONAL before_cache (for cleaning up cache)
    1. after_success or after_failure
    1. OPTIONAL before_deploy
    1. OPTIONAL deploy
    1. OPTIONAL after_deploy
    1. after_script

我的項目中用到如下步驟:具體 yml 中用到指令查找 https://docs.travis-ci.com/user/job-lifecycle/

  • 1、在github項目中加入 .travis.yml 文件匠抗。
  • 2故源、在文件中指定 language
  • 3汞贸、指定 golang 的編譯版本绳军。
  • 4、編寫 before_install 指令矢腻。
  • 5门驾、編寫 script
  • 6、編寫 deploy

最后編寫出來的 .travis.yml 文件如下:

language: go

go:
  - 1.12.x

before_install:
  - mv ../$(basename $(pwd)) $GOPATH/src
  - go get -v github.com/json-iterator/go

install: true

script:
  - make test
  - make build
  - make docker-read
  
before_deploy:
  - tar -zcf docker_build.tar.gz docker_build

deploy:
  provider: releases
  api_key: $GITHUB_TOKEN
  file_glob: true
  file:
    - bin/*
    - docker_build.tar.gz
  skip_cleanup: true
  on:
    tags: true

注意:deploy 中的 $GITHUB_TOKEN 是在 Travis CI 平臺中設(shè)置的環(huán)境變量多柑。

當github 有 commit 的時候會觸發(fā) deploay 之前的命令奶是,如果在 github 中進行 release 操作就會 觸發(fā) deploy 操作,并且會把編譯好的 binary 文件上傳到 github release 中竣灌,下面這張圖中的文件就是 travis 上傳過來的聂沙。


20190903231840.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市初嘹,隨后出現(xiàn)的幾起案子逐纬,更是在濱河造成了極大的恐慌,老刑警劉巖削樊,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件豁生,死亡現(xiàn)場離奇詭異,居然都是意外死亡漫贞,警方通過查閱死者的電腦和手機甸箱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迅脐,“玉大人芍殖,你說我怎么就攤上這事∏疵铮” “怎么了豌骏?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長隐锭。 經(jīng)常有香客問我窃躲,道長,這世上最難降的妖魔是什么钦睡? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任蒂窒,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洒琢。我一直安慰自己秧秉,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布衰抑。 她就那樣靜靜地躺著象迎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呛踊。 梳的紋絲不亂的頭發(fā)上砾淌,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音恋技,去河邊找鬼拇舀。 笑死,一個胖子當著我的面吹牛蜻底,可吹牛的內(nèi)容都是我干的骄崩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼薄辅,長吁一口氣:“原來是場噩夢啊……” “哼要拂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起站楚,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤脱惰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后窿春,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拉一,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年旧乞,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔚润。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡尺栖,死狀恐怖嫡纠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情延赌,我是刑警寧澤除盏,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站挫以,受9級特大地震影響者蠕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜屡贺,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一蠢棱、第九天 我趴在偏房一處隱蔽的房頂上張望锌杀。 院中可真熱鬧甩栈,春花似錦泻仙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至殴蹄,卻和暖如春究抓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背袭灯。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工刺下, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稽荧。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓橘茉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親姨丈。 傳聞我的和親對象是個殘疾皇子畅卓,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

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