Travis CIのサービスを利用した方法です
環境などによる制限はありません
フォルダ構造による制限がほぼありません
commitをGithubにpushしたときにビルドが走り、問題なければGithub ReleaseにPushされます
ファイルがローカルに生成されないため、確認のためにリリースからダウンロード又はアドオンマネージャーからインストールする必要があります
また、Pushした段階でアドオンマネージャーに登録されるため注意してください
Tos-Addonというリポジトリで管理していて、AutoReleaseというアドオン作っている場合は
Tos-Addon
└AutoRelease
│─README.md
└─autorelease (or anything)
└─autorelase.lua
└─autorelase.xml
Tos-Addon
└AutoRelease
│─README.md
└─src
└─autorelase
│ └─autorelase.lua
│ └─autorelase.xml
│
└─autorelase2
└─autorelase2.lua
└─autorelase2.xml
Tos-Addon
└AutoRelease
|─README.md
└─src
└─addon_d.ipf
│ └─autorelase
│ │ └─autorelase.lua
│ │ └─autorelase.xml
│ │
│ └─autorelase2
│ └─autorelase2.lua
│ └─autorelase2.xml
└─ui.ipf
└─skin
└─autorelase.tga
- 基本となる構造. luaファイルを格納するフォルダ名は何でもよい
- 複数のアドオンを含む構造. srcフォルダにそれぞれのアドオンフォルダをを格納してください.必ずsrcフォルダに格納してください.
- addon_d.ipfとui.ipfなど複数のコンテナを含む構造. srcなどのフォルダに格納し、REMADEなどがaddon_d.ipfと同じディレクト上に含まれないように気をつけてください
- .travis.ymlを自分のリポジトリに保存してください
- https://travis-ci.org/ へアクセスしGithubのアカウントでログインしてください
- アドオンを管理しているリポジトリを登録してください
- https://github.com/settings/tokens から新しいトークンを生成してください
- Travisで登録したリポジトリの設定画面を開き、Environment VariablesのNameに
GITHUB_TOKEN,valueに先ほど生成したトークンを貼り付けてください - addons.jsonを更新し、GithubにPushした段階でビルドが走り、1分ほどでReleaseにファイルが登録されます
※ 初回ビルドは動作が不安定な場合があります。キャンセルした方がいいかもしれません。
gitのHook機能を使い、addons.jsonが更新されたときに自動でフォルダをIPF化しGithub Releasにアップロードするものです
いくつか依存関係があります
コミット時生成されるため、Pushするまではアドオンマネージャーに登録されません
Tos-Addonというリポジトリで管理していて、AutoReleaseというアドオン作っている場合は
Tos-Addon
└AutoRelease
│─README.md
└─autorelease (or anything)
└─autorelase.lua
└─autorelase.xml
Tos-Addon
└AutoRelease
│─README.md
└─src
└─autorelase
│ └─autorelase.lua
│ └─autorelase.xml
│
└─autorelase2
└─autorelase2.lua
└─autorelase2.xml
Tos-Addon
└AutoRelease
|─README.md
└─src
└─addon_d.ipf
│ └─autorelase
│ │ └─autorelase.lua
│ │ └─autorelase.xml
│ │
│ └─autorelase2
│ └─autorelase2.lua
│ └─autorelase2.xml
└─ui.ipf
└─skin
└─autorelase.tga
- tpIpfTool v2.2
- ghr
- git bash(他bashが動くもの)
が必要になります
tpIpfToolおよびghrに関しては上記リンクにバイナリが公開されているので、環境変数のパスが通っているフォルダに放り込んでください
また、git pushはgit bashで実行してください(cmd.exe,powershellでは動きません)
まずはGithub Releaseに放り込むために、トークンを取得します
このリンクから新しいトークンを作成します
適当な名前とrepoにチェックを入れて作成してください

この後トークンが生成されるのでコピーし、git configのgithub.tokenにセットします
git config --global github.token "....."
あとは、このリポジトリのpost-commitをダウンロードし、アドオンを管理しているフォルダに
.git/hook/post-commit
となるようにpost-commitを移動させてください
addons.jsonを更新し、コミットした時に処理が走り、自動でRelease生成とファイルのアップロードが始まります
作成したipfファイルはReleaseIPFというフォルダに移動されます
必要に応じて.gitignoreに追加して下さい。
