架构模式+架构思想(微内核架构,等架构)

Github与Travis CI测试与部署

2018-10-20  本文已影响0人  null_fca6

敏捷开发

持续集成

Travis CI

使用 Travis CI

选择需要进行测试的私有项目,然后在github上开放权限。


然后就可以看到该项目的build界面了:


进行过n次build的界面

现在就完成了创建工作,接下来需要编辑.travis.yml文件

.travis.yml文件

运行流程

install:
  - command1
  - command2

注:
如果command1失败了,整个构建就会停下来,不再往下进行;
如果不需要安装,即跳过安装阶段,就直接设为true。

install: true
script:
  - command1
  - command2

注:script与install不一样,如果command1失败,command2会继续执行。但是,整个构建阶段的状态是失败。
如果command2只有在command1成功后才能执行,就要写成下面这样。

script: command1 && command2

Travis钩子

  1. before_install
  2. install
  3. before_script
  4. script
  5. aftersuccess or afterfailure
  6. [OPTIONAL] before_deploy
  7. [OPTIONAL] deploy
  8. [OPTIONAL] after_deploy
  9. after_script

运行状态

环境变量

env:
- DJANGO_VERSION=1.9.5 DB=mysql

例子

language: python
sudo: required
python:
- '3.5'
services:
- mysql
env:
- DJANGO_VERSION=1.9.5 DB=mysql
#branchs:
#  only:
#  - master
install:
- pip install -r requirements.txt
- mv configs.example.json configs.json
before_script:
- mysql -e "create database IF NOT EXISTS wechat_ticket;"
- python manage.py makemigrations
- python manage.py migrate
script:
- python manage.py test

如果build成功,则会显示这样的图标:


为了将此图标放置于我们的github上,只需要点击该图标,选择markdown



最后将其内容复制到Github上的README下即可,最终结果为:


这样,就基本完成了Travis CI在Github上的部署,接下来是一些进阶操作

Travis使用SSH免密登陆服务器

此方法来自于:https://juejin.im/post/5a9e1a5751882555712bd8e1

Travis 加密文件

安装ruby
> ruby -v
显示ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0]以上信息
> sudo gem install travis -v 1.8.9 --no-rdoc --no-ri
如果有报错:mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
运行> sudo apt-get install ruby-dev
然后> sudo gem install travis -v 1.8.9 --no-rdoc --no-ri
> travis version
1.8.9
> sudo gem install travis --pre
travis login
travis encrypt-file config.json --add
- openssl aes-256-cbc -K ****_key -iv _****_iv -in *************

最终的文件:

language: python
sudo: required
python:
- '3.5'
services:
- mysql
env:
- DJANGO=1.9.5 DB=mysql
branchs:
  only:
  - master
before_install:
- openssl aes-256-cbc -K ****_key -iv _****_iv -in *************
- chmod 600 configs.json
install:
- pip install -r requirements.txt
before_script:
- mysql -e "create database IF NOT EXISTS wechat_ticket;"
- python manage.py makemigrations
- python manage.py migrate
script:
- python manage.py test

参考

上一篇下一篇

猜你喜欢

热点阅读