質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

2回答

478閲覧

GitHub: リポジトリの一部分だけ公開(OSS)にしたい

nanase21

総合スコア144

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2019/10/10 02:23

実現したいこと

遊ぶで作っているシステムの一部分をOSSにして誰からでもプルリクを受けれるようにしたい。

困っていること

awsのキー管理やそのほかデプロイに関するキー管理、ユーザー認証のシステム(公開したら攻撃される手口が見つかるから)の管理をどのようにしたら良いか分からなくて困っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumetodo

2019/10/10 02:55

ユーザー認証のシステムを公開した程度で破られるってそれのほうが問題では・・・? それ以外についてはgitignoreしてしまう手も。
guest

回答2

0

システムの一部分をOSSにして誰からでもプルリクを受けれるようにしたい。

OSSにしたい部分だけリポジトリを分けて、gemなりnpmなりで使えるような形にまとめる、というのがいちばんわかりやすいかと思います。

投稿2019/10/10 02:31

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんにちは。

リポジトリの一部というのが「アプリケーションの一部機能」という意味なら、その機能だけを入れたリポジトリを作り、ライブラリとして公開し、アプリケーション側からそれを利用するという形に書き換えるのが良いです。

aws のキーなどのシークレットについては、そもそもリポジトリにシークレットを格納すること自体が NG です。たとえプライベートなリポジトリであってもです。そのリポジトリを将来的に公開することが決して不可能になる (== 再利用の可能性がなくなる) からです。
シークレット情報は予め一箇所にまとめるなどしてから、gitignore を利用してリポジトリからは除外しておくのが一般的です。

また、

ユーザー認証のシステム(公開したら攻撃される手口が見つかるから)

については、むしろ積極的に公開してしまうのもありです。公開することで、攻撃の手口の存在が第三者によって明らかにされる可能性が高まり、先んじて塞ぐことが可能になります。それこそが OSS 化するメリットとも言えるでしょう。

投稿2019/10/10 07:37

tamoto

総合スコア4103

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問