Travis CI でGitHubのReleasesにファイルをアップロードする。2018-12-14
概要
GitHubのReleasesへのファイルのアップロードをTravis CIを使って行います
ググったらいくつか記事は見つかったもののちょっと情報が古いものが多かったので、2018年12月の状況として記事にします
やること
-
travis
コマンドのインストール
travis setup releases
にて .travis.yml
の作成
-
.travis.yml
をpush
1. travis
コマンドのインストール
% gem install travis
travis
コマンドのインストールtravis setup releases
にて .travis.yml
の作成.travis.yml
をpushtravis
コマンドのインストール
% gem install travis
上記コマンドでインストールします
ffi
というgemのインストールでエラーになるかもしれませんが、解決方法は割愛します
2. travis setup releases
にて .travis.yml
の作成
ここが本題
あとは以下のコマンドで .travis.yml
を作成してほぼ完了です
% touch .travis.yml # .travis.ymlが存在しないとエラーになるのでtouchしましたが、すでにある場合は不要です
% travis setup releases --pro -r abetomo/csv-select
Username: abetomo
Password for abetomo: ***
File to Upload:
Deploy only from abetomo/csv-select? |yes|
Encrypt API key? |yes|
コマンドのオプション
-
abetomo/csv-select
は例です。自分のリポジトリを指定します
入力
-
Username:
- GitHubのユーザ名
-
Password for xxx:
- GitHubのパスワード
-
File to Upload:
- アップロードしたいファイルを指定するのだけれど空でEnterでも良いです。(あとから
.travis.yml
を修正すればよいので)
- アップロードしたいファイルを指定するのだけれど空でEnterでも良いです。(あとから
-
Deploy only from xxx/yyy? |yes|
- そのままEnter
-
Encrypt API key? |yes|
- そのままEnter
.travis.yml
実行すると .travis.yml
が作成されています
deploy:
provider: releases
api_key:
secure:(略)
file: ''
on:
repo: abetomo/csv-select
あとは必要な情報を追加していきます。
例として自分の最終形を載せておきます
language: node_js
node_js:
- 10
before_deploy:
- npm run pkg
deploy:
provider: releases
api_key:
secure: (略)
file_glob: true
file: build/Release/csv-select-*
skip_cleanup: true
on:
tags: true
repo: abetomo/csv-select
設定内容の詳細は昔から変わっていないので割愛します
3. .travis.yml
をpush
ふつうにpushするだけなので割愛します
4. 補足
私の場合はtagがコミットされたらdeployする設定だったので、tagをコミットしたらGitHubのReleasesにファイルをアップロードされていました
まとめ
- GitHubでtokenを作成したり...のような手順がいらなくなった
-
travis setup releases
を実行するだけで良くなったので楽でした
「GitHubでtokenを作成したり...」について補足
travis setup releases
を実行するだけで良くなったので楽でしたGitHubの Personal access tokens で travis
コマンドが作ったtokenを確認できます
Author And Source
この問題について(Travis CI でGitHubのReleasesにファイルをアップロードする。2018-12-14), 我々は、より多くの情報をここで見つけました https://qiita.com/abetomo/items/462f5e17ecfce1953324著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .