10章4〜6節まで。
パケージの公開方法や自動テストについて学ぶ感じ。
TravisCIやAppVeyorの使い方はとても参考になった。
便利な世の中だなぁ。
僕の場合は、独学でパッケージ公開しようなんて思わなかっただろうから、この章だけでも本書を
僕が何かを公開する日が来るかは分からないけれども。
さて、本書も残すところ100ページほど。
11章のWebアプリと、12章の他言語との連携方法。
どちらもすぐに使いそうにないので、本書を読むのは一旦休憩。
しばらくRustで小さめのプログラムをいっぱい作って慣れようと思う。
まずは息抜き用の数当てゲームでも作ってみようかなー。
おぼえがき
パッケージ公開に向けて
cargo build --release
で動作確認しておこうcargo run
やcargo test
にも--release
はあるっぽい
cargo new --vcs
でバージョン管理システムを指定できるっぽいCargo.lock
はbinならバージョン管理対象にしておくべき- libクレートなら、
.gitignore
にCargo.lock
が記載されるっぽい
- libクレートなら、
- githubあたりに公開するパッケージをコミットしておく
自動テスト
- TravisCI
- AppVeyor
- Windows向けのCI
- テストだけじゃなくて、下記もやっておくと良いかも
- スタイルチェック ... rustfmtやclippy
- テストの網羅性チェック ... kcovやtrapaulin
- ベンチマーク など
- TravisCiやAppVeyorのデプロイ機能を使えば、GitHubのリリースに置くことができるっぽい
- TravisCiやAppVeyorのテンプレートがあるっぽい
creates.ioへの公開
- パッケージ名の推奨はケバブケース(ハイフン区切り)
- ソースなどは
-
を_
にした、スネークケースで指定する
- ソースなどは
- 統一しておけば良かった気がするのだけれども。。。
- 公開前に、
Cargo.tml
やREADME.md
は整備しておこう - 一度公開すると、削除はできないので慎重に
- 代わりに
yank
というコマンドが使えるらしい
- 代わりに
- 公開前にもう一度確認
cargo test --release
cargo doc --no-deps --open
cargo install --path .
で実行ファイルを生成して動作確認- コミット
cargo package
- コミットした状態じゃないとエラーが出る
zcat target/package/package_name-version.crate |tar tf -
- packageコマンドでまとめられた内容の確認
- gitタグ追加とリモートへプッシュ
git tag v0.1.0
git push origin master
git push origin v0.1.0
− プッシュ後はCIが完了するを待っておこう
- creates.ioへ公開
cargo login <Your API Token>
cargo publish
- 公開したクレートは、下記サイトで自動的に公開される
課題
- TravisCIの使い方
- 他のCIについても調べてみよう
- Circle CI
- GitHub Actions
- GitLab の何か
cargo package
でまとめられるファイルが書籍と差異あり。何か設定が足りてないのだろうか- 手元の環境だと
gitignores
が含まれているが、書籍にはなさげ(P439)
- 手元の環境だと
- 作者: κeen,河野達也,小松礼人
- 出版社/メーカー: 技術評論社
- 発売日: 2019/05/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る