リポジトリ・パッケージ管理をOrganizationに移譲しました

今回の話

  • CIをtravis-ci.orgからtravis-ci.comに引っ越した
  • リポジトリをhttps://github.com/Himenon/custom-siteからhttps://github.com/custom-site/custom-siteに引っ越した
  • CodeCovをPersonalからTeamに変更した
  • NPMレジストリをPersonalからOrganizationに引っ越した
  • npm publishの2FAにハマった

全体的に"GitHubで個人リポジトリからOrganizationリポジトリにしてやったこと一覧"の記事の焼き直し。

お話

GithubのリポジトリをPersonalからOrganizationに引っ越し

リポジトリのSettingsのDangaer Zoneの中にありました。

今回の行き先はcustom-site/custom-siteなので、同じ文字列が入りました。

移譲

CI系の設定も引き継がれるようですが、Personalのときのままなので再設定したほうが良いでしょう。

CodeCovをPersonalからTeamに変更した

移植前の設定をすべてRevokeして、設定してきます。 CodeCovではTeamという単位でOrganizationのリポジトリを扱っていくようです。

面倒くさいので、Github Marketplace(https://github.com/marketplace/codecov)からcodecovの設定を行いました。

これをやった上で https://codecov.io/gh に行くとリポジトリが見えるようになっていると思います。 (いろいろやってみたけどこれが一番早かった)

codecov

CIをtravis-ci.orgからtravis-ci.comへ引っ越した

orgからcomへとりあえず引っ越しておけば良し。

どうやら、ボタンでポチッと出来る機構は現在(2019/01/06)は無いので、env系が全部吹っ飛びます。 まぁ、そんなに多くない(浅はか)ので全部revokeして、comの方で再度設定していきました。

Github側のAPIも切っていくことをお忘れなく。

パッケージ名の変更

@custom-siteという名前空間を押さえているのでpackage.jsonとかをrenameしていきます。
あえてコマンドで打つなら

npm init --scope=@custom-site

でおk。勝手にやってくれた。あとは内部の使っている箇所を変更していくだけでした。

参考

パッケージをdepcrecateにする

https://www.npmjs.com/package/custom-site をdeprecateにします。 ローカルからcliを叩けば完了。

npm deprecate custom-site "transferred to the '@custom-site' organization."

deprecated

unpublishはしばらくしてからやろうと思います。パッケージの名前空間自体を削除する場合はサポートにメールだったかな? あとは

"npmで使われてないアカウントを解放してもらった"にあるように他人がほしいって言われたときに渡すとかですかね。

npm publishの2FAにハマった

ユーザー側の設定 パッケージ側の設定
ユーザー側の設定 パッケージ側の設定

両方に2FA入れてがんじがらめにやってもいいけど、CIがautomationできなくなるよ!ということを伝えたい。s

回避策としては、

  • ユーザー側の2FAはAuthorizationのみにする(publishはauthTokenで出来るように)
  • パッケージ側の設定はなし(※決して推奨しているわけではない)

これが、CIで自動でやるトレードオフ。

次やること

名前空間で区切ることに成功したので、lernaあたりを使って開発出来るようになった。 が、まだいろいろと実装を入れていきたいのでしばらく混沌とした今の状態が続くと思う。

次やるのは

  • ファイルから生成日・更新日を取得反映
  • Reactでバインドしたイベントが動かせるか試す

ですかね。

関連記事