今回の話
travis-ci.org
からtravis-ci.com
に引っ越したhttps://github.com/Himenon/custom-site
からhttps://github.com/custom-site/custom-site
に引っ越したnpm publish
の2FAにハマった全体的に"GitHubで個人リポジトリからOrganizationリポジトリにしてやったこと一覧"の記事の焼き直し。
リポジトリのSettings
のDangaer Zoneの中にありました。
今回の行き先はcustom-site/custom-site
なので、同じ文字列が入りました。
CI系の設定も引き継がれるようですが、Personalのときのままなので再設定したほうが良いでしょう。
移植前の設定をすべてRevokeして、設定してきます。
CodeCovではTeam
という単位でOrganizationのリポジトリを扱っていくようです。
面倒くさいので、Github Marketplace(https://github.com/marketplace/codecov)からcodecovの設定を行いました。
これをやった上で https://codecov.io/gh に行くとリポジトリが見えるようになっていると思います。 (いろいろやってみたけどこれが一番早かった)
orgからcomへとりあえず引っ越しておけば良し。
どうやら、ボタンでポチッと出来る機構は現在(2019/01/06)は無いので、env系が全部吹っ飛びます。
まぁ、そんなに多くない(浅はか)ので全部revokeして、comの方で再度設定していきました。
Github側のAPIも切っていくことをお忘れなく。
@custom-site
という名前空間を押さえているのでpackage.jsonとかをrenameしていきます。
あえてコマンドで打つなら
npm init --scope=@custom-site
でおk。勝手にやってくれた。あとは内部の使っている箇所を変更していくだけでした。
参考
https://www.npmjs.com/package/custom-site をdeprecateにします。 ローカルからcliを叩けば完了。
npm deprecate custom-site "transferred to the '@custom-site' organization."
unpublishはしばらくしてからやろうと思います。パッケージの名前空間自体を削除する場合はサポートにメールだったかな? あとは
"npmで使われてないアカウントを解放してもらった"にあるように他人がほしいって言われたときに渡すとかですかね。
ユーザー側の設定 | パッケージ側の設定 |
---|---|
両方に2FA入れてがんじがらめにやってもいいけど、CIがautomationできなくなるよ!ということを伝えたい。s
回避策としては、
Authorization
のみにする(publishはauthTokenで出来るように)これが、CIで自動でやるトレードオフ。
— HimeNyan (@himenoglyph) 2019年1月5日
ユーザーとパッケージのそれぞれに2FAの設定が可能で、パッケージ側から2FA要求をした場合、publishのときも引っかかるようになる。ログインだけじゃなく。ユーザーの2FAはpublishの設定を引いた設定があるので、それを利用すれば少なくともユーザーログインが2FAで縛れる
— HimeNyan (@himenoglyph) 2019年1月5日
名前空間で区切ることに成功したので、lernaあたりを使って開発出来るようになった。 が、まだいろいろと実装を入れていきたいのでしばらく混沌とした今の状態が続くと思う。
次やるのは
ですかね。