2017-10-05 9 views
1

私はいくつかのJavaライブラリをBintrayに投稿してからJcenterにリンクしました。議論のために、ライブラリの一つをmy.private:repoと呼ぶことにしましょう。これにより、Gradleでライブラリを次のように使用できます。Jcenter私的にホストされたリポジトリへのリンク

... 
repositories { 
    jcenter() 
} 
... 
dependencies { 
... 
    implementation 'my.private:repo:1.0.0' 
... 
} 

優れています。

は今、私のおそらく非合理的な恐怖は、私は私のBintrayレポのための帯域幅やストレージの制限をヒットすることです、と私はBintray上のリポジトリをホストするために払って開始する必要があります(現在、私は開いている上18回のレポを持っていますソースプラン)。私の質問は、自分のプライベートサーバーのような別の場所でライブラリをホストすることができるかどうかであり、Jcenterにリダイレクトを単純にさせることです。私は...

repositories { 
    jcenter() 
    maven { url ... } 
} 

私はプライベートサーバを設定し、このような何かを行うことができることを十分に承知しています。しかし、私は実際にこれを行うにはしたくありません。ビルドプロセスからできるだけ多くの摩擦を取り除きたいと思います。これは、リダイレクト(DNSなど)を行う単一のサーバーと、実際のホスティングを行う別のサーバーに依存することを意味します。

ライブラリーを自分でホストすることができます.Jcenterにリダイレクトをさせて、最初のコードスニペットに固執できますか?

アイデア?

2つのこと(リダイレクトとホスティング)を切り離すのは賢明だと思われますが、Bintrayがそれらを結びつけるのがより有益であると理解しています。メモリまたは帯域幅の制限(これは単純にリダイレクトを行う場合にはできません)。

答えて

-1

私はJCenterの専門家ではありません。しかし、彼らはこれが何十億というセキュリティ上の懸念のためにこのような機能を提供することはできませんでした。

JCenterの "バックエンドリポジトリ"(これは自分自身でMavenアーティファクトをホストする)になると想像してください。 jcenterがそれ自身の特定の人工物を知らない場合、それが来てそれについてあなたに尋ねるでしょう。これは不正行為者がjcenterのバックエンドになり、どんな種類の厄介なコードを含んでいる「パッチを当てた」ライブラリを公開するのに最適なベクターになります。この場合、JCenterは第三者からの改ざんされた(そして危険な)アーティファクトを配布することになります。

特定のアドレスへのリダイレクトを要求するだけのセキュリティ脅威も存在します。あなたのサーバーはハッカーによって引き継がれ、変更されたjarが公開される可能性があります。

いずれの場合も、コンテンツの制御権がない状態で、おそらく変更されたjarファイルを配布するのはJCenterです。

- ビルドジョブ内のアーチファクトをmaven centralなどのより耐久性のあるMavenリポジトリにアップロードすることを検討してください。

+0

私はこれが有効な懸念事項だとは思わない。 Jcenterは、1つのサイトだけが1つのパッケージを配布するために登録できるという制約を課すことができます(すでに2人のユーザーが同じパッケージ名でパッケージを持つことができないという制約が適用されています)。さらに、GPGキーを使用してサイトが正当性を検証するように強制することもできます(これは、今のところアップロードに使用します)。だから、セキュリティ上の懸念がなければ、すべての人がこれをサポートするための場所にあるようです。 –

関連する問題