美文网首页
Github CI/CD With Travis CI

Github CI/CD With Travis CI

作者: VIL凌霄 | 来源:发表于2019-11-14 11:35 被阅读0次

    CI/CD 是什么这里就不多介绍了。下面是我个人使用 GItHub + Travis 集成的 CI/CD 过程总结。

    开发语言:golang
    开发环境:Ubuntu 18.04
    

    1. 安装 GitHub CI 平台插件。

    github 支持很多的CI应用可以跳到 这里进行选择 我这里选择的是 Travis CI

    20190903222024.png

    点击 Travis CI 选择 下面的 Open Source (提供免费版),并点击 Install it for free。 如下图:

    20190903222237.png

    2. 选择 github repositories

    接着根据页面的步骤接着执行安装插件操作即可。最后在GitHub的 settings->Applications 中找到 Travis CI 并添加你的项目到 Travis CI 中。

    20190903223420.png

    注意:上面步骤中会需要登录 Travis CI ,选择 github 账号登录即可。

    3. 编写基本Travis CI 集成文件

    进入 Travis CI 平台, 如果需要登录,寻找右上角的 Sign in with github 。进入 Travis 中的 Documentation 查看有关 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 平台中设置的环境变量。

    当github 有 commit 的时候会触发 deploay 之前的命令,如果在 github 中进行 release 操作就会 触发 deploy 操作,并且会把编译好的 binary 文件上传到 github release 中,下面这张图中的文件就是 travis 上传过来的。


    20190903231840.png

    相关文章

      网友评论

          本文标题:Github CI/CD With Travis CI

          本文链接:https://www.haomeiwen.com/subject/lqskyctx.html