忍者ブログ

mshencity

GitHub を捨てて、独自のプライベートな代替手段を自己ホストしました

私は GitHub が大好きで、長年にわたって使用してきました。ただし、GitHub がコードの改訂に常に最適な選択であるとは限りません。いくつかのプライベート アプリを構築し始めたとき、代替案を検討することにし、最終的には独自のプライベート Git ベース サーバーを自己ホストすることにしました。



GitHub は大規模プロジェクトや公共プロジェクトに最適です



私は GitHub で無料のオープンソース ソフトウェアを見つけるのが大好きです。

























GitHub のヒーロー




聞いてください、GitHub は素晴らしいです。これはオープン ソース プロジェクトにとって素晴らしいリソースであり、無料のオープン ソース ソフトウェアの優れたリポジトリでもあります。私は過去 15 年間の大部分を、さまざまな立場で GitHub を使用してきました。

Android ROM の構築から、ホームラボで使用する完全なオープン ソース プロジェクトのデプロイまで、GitHub は私の心の中で特別な場所を占めています。これはシンプルなプラットフォームであり、人々にソフトウェアを検索するための中心的な場所を提供し、Apple や Microsoft のような大企業であっても、コード修正やソフトウェアのオープンソース化に頼りになる存在となっています。



GitHub は「プライベート」プロジェクトを提供していますが、プライバシーは保証されていません



プライベート プロジェクトは、GitHub アカウントと同様にプライベートです。

























スクリーンショット_876




数年前、私が GitHub への貢献の大部分を行っていたとき、GitHub は実際にプライベート リポジトリに料金を請求していました。有料の GitHub プランを購入する主な理由の 1 つは、プライベート リポジトリを持てることです。 2019 年に、GitHub はその制限を解除し、無料ユーザーがプライベート リポジトリを作成できるようにしました。

GitHub が無料のプライベート リポジトリを提供していたことを知らなかった人にとって、これは大きな機能です。プロジェクトを処理するための GitHub のような大規模なサイトがあるのは素晴らしいことです。また、貢献者の追加も非常に簡単です。ただし、GitHub 上のプロジェクトは必ずしも「100% 非公開」であるわけではありません。

GitHub 自体は民間企業かもしれませんが、実際には Microsoft が所有しています。それは人によっては問題になるかもしれません。 GitHub に保存されているすべてのコードは、アップロード時に TLS 暗号化によって保護されますが、それ以上は暗号化されません。技術的には、GitHub とその親会社である Microsoft は、リポジトリが非公開としてマークされている場合でも、いつでもコードにアクセスできます。

これは多くの人にとって大きな問題ではないかもしれませんが、他の人にアクセスしてほしくないコードがある場合、他の人が (欲望または法的命令に基づいて) アクセスできるサーバーにコードを保存すると、問題が発生する可能性があります。私のコードの一部が GitHub に存在しないのはそのためです。

コードの最初から最後まで 100% の所有権を保持したいと考えて作成しているアプリは、GitHub に置くことを拒否します。そこでコードをホストするにはリスクが多すぎます。世界と共有したい公開コード?これは GitHub にあるので、喜んでみんなに見てもらえるように投稿します。























ぼやけたリポジトリの上にある github のロゴ


















GitHub シークレットとは何ですか? どのように使用しますか?




DevOps ワークフローにおける課題の 1 つは、セキュリティ上の理由から秘密にしておく必要があるシークレット、パスワード、トークンの管理です。






























自分の GitLab インスタンスを自己ホストすることで、プロジェクトを完全に制御できるようになります



私のホームサーバーの安全性は私が担当しています。

























Git ロゴと背景にコードが表示されたターミナル。
クレジット: Lucas Gouveia / How-To Geek




安全に保管したいコードは、自宅の自分のサーバー上に存在します。私はサーバー上の git インターフェイスとして GitLab を使用することを選択しましたが、それについてまったく後悔していません。 GitLab はホスト型プランとマネージド型プランを提供していますが、セルフホスト機能も提供しています。 GitLab には、問題追跡、CI/CD 機能、Webhook など、GitHub と同じ機能が多数あります。

GitLab を使用すると、技術的にはパブリック リポジトリをホストすることもできますが、プラットフォーム上の唯一のユーザーに対してすべてをプライベートに保つことにしました。サービスが自宅でホストされている場合、外部ネットワーク アクセスをブロックするか、Tailscale や Cloudflare トンネルなどを介してサービスを開くか、リバース プロキシの背後に置くかを選択できます。データの安全性を選択するのは私です。























GitLabのロゴ


















GitLab の CLI を使用してターミナルから DevOps を管理する方法を開始する方法




GitLab は、多くの開発チームにとって真実の情報源です。ただし、GitLab データにアクセスするには、通常、Web ブラウザーへのコンテキストの切り替えや、面倒な API 操作が必要です。ターミナルから離れることなく DevOps プロセスを管理できる公式 CLI が登場しました。




























また、暗号化キーを持ち、サーバーに物理的にアクセスできるのは私だけです。私がそこに保存するデータは私のものであり、私だけのものです。少し偏執的に聞こえるかもしれませんが、私が取り組んでいるプログラムの中には、他の人にソース コードを見られたくないものがあります。私は特定のプログラムの開発に多くの時間を費やしているので、それらを自分のものにしておきたいと思っています。







誰かが私がリリースしたアプリをリバース エンジニアリングしてソース コードを見つけてくれませんか?確かにそうだと思いますが、これには、誰かが非公開としてマークするのを忘れたリポジトリをただ見つけるよりもはるかに多くの調査と労力が必要です。あるいは、さらに悪いことに、オンライン アカウントが侵害されたために誰かが侵入した場合もあります。























デジタル アクセスの制限を示す、セキュリティ アイコンの上に赤い禁止標識が表示されたラップトップで入力する手。


















プライベート ホームラボが必要ですか?これら 12 個のアプリをリストの一番上に入れてください




雲は漏れるまでクールです。





























私のプライベート リポジトリに関しては、他の誰かではなく、私自身がその安全性を管理したいと思っています。 GitHub は多くの人にとってうまく機能し、プライベート リポジトリは必要なことを正確に実行できます。

ただし、結局のところ、コードの安全性は GitHub アカウント (または GitHub 自体、さらには Microsoft 自体) と同程度であり、何かが侵害された場合にできることはほとんどありません。

PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

P R