Github CI/CD With Travis CI

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

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

1. 安裝 GitHub CI 平臺(tái)插件。

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

20190903222024.png

點(diǎn)擊 Travis CI 選擇 下面的 Open Source (提供免費(fèi)版),并點(diǎn)擊 Install it for free。 如下圖:

20190903222237.png

2. 選擇 github repositories

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

20190903223420.png

注意:上面步驟中會(huì)需要登錄 Travis CI ,選擇 github 賬號(hào)登錄即可。

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

進(jìn)入 Travis CI 平臺(tái), 如果需要登錄,尋找右上角的 Sign in with github 。進(jìn)入 Travis 中的 Documentation 查看有關(guān) Travis CI 的使用文檔。
集成文檔分為下面幾個(gè)步驟: travis.yml 文件是由這些步驟組合起來(lái)的。

    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

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

  • 1、在github項(xiàng)目中加入 .travis.yml 文件。
  • 2、在文件中指定 language。
  • 3、指定 golang 的編譯版本。
  • 4、編寫 before_install 指令。
  • 5、編寫 script
  • 6、編寫 deploy

最后編寫出來(lái)的 .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 平臺(tái)中設(shè)置的環(huán)境變量。

當(dāng)github 有 commit 的時(shí)候會(huì)觸發(fā) deploay 之前的命令,如果在 github 中進(jìn)行 release 操作就會(huì) 觸發(fā) deploy 操作,并且會(huì)把編譯好的 binary 文件上傳到 github release 中,下面這張圖中的文件就是 travis 上傳過(guò)來(lái)的。


20190903231840.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容