LoginSignup
3
2

More than 5 years have passed since last update.

Travis CIでRustのバイナリリリース(glibc, musl libc)

Last updated at Posted at 2017-09-12

Travis CI上で各プラットフォーム向けのビルドをおこないます。ビルドされたバイナリはGithub Release上にアップロードされるようにします。

ひとまず、自分の場合は次の3つのビルドターゲットが必要でした。

  • x86_64-unknown-linux-gnu
  • x86_64-unknown-linux-musl
  • x86_64-apple-darwin

もし、glibcむけのビルド(x86_64-unknown-linux-gnu)だけでよいのであれば、こちらの記事の設定がシンプルで良さそうです。

自分の場合は、musl libc向けのビルドも必要になりそうだったため、こちらのtrustという、ビルドテンプレートを使用しました。

上記以外にも、様々なビルドターゲットに対応しています。trustのREADMEを参照してください。

設定

trustのリポジトリからci/ディレクトリと、.travis.ymlを自分のリポジトリにコピーします。
(Windows向けのビルドに対応する場合は、appveyor.ymlも)

いくつか、自分用の設定に書き換える必要があるのですが、それらの部分はTODOとコメントしてあるので、TODOをgrepして潰していけば大丈夫です。

まずは、ここを自分のcrate名(プロジェクト名)に変えます。

.travis.yml
env:
  global:
    # TODO Update this to match the name of your project.
    - CRATE_NAME=trust

Build Matrixは、自分の必要なビルドターゲットだけを残してコメントアウトします。

.travis.yml
matrix:
  include:
    # 必要なもの以外はコメントアウト

Githubトークン(を暗号化したもの)を自分のものに書き換えます。
トークンの発行の仕方は、この記事を参考にします。

.travis.yml
deploy:
  api_key:
    secure: XXXXXXXXXXXXXXXXXXXXXXXX

ここは、デプロイされる条件です。そのままだと、タグがつけられた時にリリースされるようになっています。

.travis.yml
deploy:
  ...
  on:
    condition: $TRAVIS_RUST_VERSION = stable
    tags: true

あとは、ci/ディレクトリ以下にも、自分のcrate名に合わせて書き換える箇所があるので、TODOコメントを検索して修正をおこないます。

確認

タグをつけてpushすると、Travis CI上でビルドが実行されます。ビルドが成功して、Github ReleaseにTARのアーカイブがアップロードされていれば、ちゃんと動作しています。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2