TravisCI
Lifecycle
OPTIONAL Install apt addons
OPTIONAL Install cache components
before_install
install
before_script
script
OPTIONAL before_cache (for cleaning up cache)
after_success or after_failure
OPTIONAL before_deploy
OPTIONAL deploy
OPTIONAL after_deploy
after_script
環境変数
TRAVIS_PULL_REQUEST
TRAVIS_BRANCH
TRAVIS_TAG
Database
Deployment
オプション
skip_cleanup build 時の成果物を削除するかどうか。デプロイ時に利用したい場合は true にする
on.tags true に設定すると、タグ付きのビルドのみに hook する
Provider
GitHub Release asset を GitHub の Release にアップロードする。Release の作成も行う
code:.travis.yml
deploy:
provider: releases
api_key: "GITHUB OAUTH TOKEN"
file: "FILE TO UPLOAD"
skip_cleanup: true
on:
tags: true
Draft Release にしたい場合は draft を true にする
GitHub Release の作成時にはタグが必要になる。on.tags が true ならばタグは必ず存在するが、そうじゃない場合は Travis 上で作成しておく必要がある
code:.travis.yml
before_deploy:
# Set up git user name and tag this commit
- git config --local user.name "YOUR GIT USER NAME"
- git config --local user.email "YOUR GIT USER EMAIL"
- export TRAVIS_TAG=${TRAVIS_TAG:-$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)}
- git tag $TRAVIS_TAG
deploy:
provider: releases
api_key: "GITHUB OAUTH TOKEN"
file: "FILE TO UPLOAD"
skip_cleanup: true
npm npm のレジストリにアップロードする
code:.travis.yml
deploy:
provider: npm
email: "YOUR_EMAIL_ADDRESS"
api_key: "YOUR_AUTH_TOKEN"
script 任意のスクリプトを実行する
code:.travis.yml
deploy:
provider: script
script: bash scripts/deploy.sh
on:
branch: develop
Deploy の際に設定できる項目は色々ある。
on による条件指定
tags
true の場合 $TRAVIS_TAG が設定されていたらデプロイがトリガーされる
false の場合 $TRAVIS_TAG が空欄の場合のみデプロイがトリガーされる
設定されていない場合は無視される
環境変数
TRAVIS_PULL_REQUEST_BRANCH
現在のジョブが pull request ならば、PR 元のブランチの名前
現在のジョブが push build ならば、空
TRAVIS_BRANCH
push build の場合、あるいは pull request でトリガーされていない場合、ブランチ名
PR トリガーの場合、PR 先のブランチの名前
tag でトリガーされている場合、タグ名