Halaman pribadi untuk repo Github pribadi

244

Tidak dapat menemukan apa pun di dokumentasi github dan juga di sini di SO. Tapi saya bertanya-tanya apakah mungkin ada http://foo.github.comuntuk repositori pribadi bernama fooyang dapat diakses hanya satu yang memiliki akses ke foorepositori itu sendiri.

Saya ingat pernah membaca sesuatu tentang halaman github yang selalu bersifat publik tetapi sepertinya tidak dapat menemukannya lagi.

Dan yang mengejutkan, saya juga tidak bisa menemukan orang lain yang mengajukan pertanyaan.

kashyap
sumber
2
Saya kira saat itu tidak banyak orang menggunakan Github untuk hosting repo pribadi. Atau setidaknya, sangat sedikit dari mereka yang menggunakan gh-pages.
Siddhartha Reddy
Saya pikir jawaban yang benar sekarang adalah stackoverflow.com/a/54340540/1168342
Fuhrmanator

Jawaban:

219

Saya telah mengangkat tiket dukungan terhadap Github dan mendapat jawaban yang mengkonfirmasi fakta bahwa SEMUA halaman bersifat publik. Saya sekarang telah meminta mereka untuk menambahkan catatan ke help.github.com/pages.

kashyap
sumber
6
Apakah repo halaman Anda harus publik agar halaman GitHub dapat berfungsi?
Dennis
34
@ Dennis: Tidak, tidak - repo Anda bisa pribadi. Tetapi halaman yang diterbitkan akan bersifat publik dan GitHub tidak memiliki cara bawaan untuk membatasi akses tampilan untuk memungkinkan hanya kontributor pada repo pribadi untuk melihatnya.
Merlyn Morgan-Graham
6
FYI itu bisa dilihat SANGAT JELAS di sini
Derek Adair
//, Kontrol akses adalah masalah yang sangat menarik untuk Github. Saya suka ini mendapat perhatian, @kashyap! Terima kasih.
Nathan Basanese
Menambahkan komentar ke @Derek Adair di atas. Situs tersebut mengatakan: "Peringatan: Situs GitHub Pages tersedia untuk umum di internet, bahkan jika repositori mereka adalah pribadi. Jika Anda memiliki data sensitif dalam repositori Halaman Anda, Anda mungkin ingin menghapusnya sebelum menerbitkan."
Jay Killeen
62

Menurut dokumentasi Halaman GitHub :

Semua repositori proyek siap menggunakan generator untuk penerbitan. Namun, harap dicatat bahwa repositori pribadi akan menerbitkan halaman yang bersifat publik.

Jadi tidak, saat ini tidak ada cara untuk membuat halaman GitHub pribadi dari repositori GitHub pribadi.

EDIT:

Solusi sederhana

Solusi untuk beberapa situasi yang mungkin membantu adalah dengan hanya mengganti nama repo menjadi sesuatu selain format halaman GitHub ketika Anda ingin menjadi pribadi (misalnya dalam fase pengembangan) dan ketika siap untuk mempublikasikannya maka perbaiki namanya. Jelas ini masih tidak membantu jika Anda mencari cara untuk menerbitkan halaman yang memiliki otentikasi, tetapi jika Anda hanya ingin menyembunyikan proyek halaman GH saat sedang berlangsung, ini bisa membantu.

Pembungkus Auth yang sebenarnya untuk Jekyll (halaman GitHub)

Atau, ada proyek yang disebut Jekyll Auth yang dibuat GitHubber @benbalter untuk penggunaan tersebut. Jekyll Auth menyediakan pembungkus otentikasi dasar untuk proyek jekyll, termasuk halaman GitHub. Lihat README repo untuk digunakan.

Joel Glovier
sumber
1
Sepertinya tautan pertama itu sudah tua. help.github.com/articles/what-is-github-pages sekarang memiliki peringatan serupa.
radicaledward101
14

The page.github.com menyebutkan:

Halaman Github di-host secara gratis dan mudah dipublikasikan melalui situs kami,

Tanpa pernah menyebutkan kontrol akses.

The GitHub halaman bantuan tidak menyebutkan ACL baik.
Mereka paling baik dikelola di cabang gh-halaman , dan dapat dikelola dalam submodule mereka sendiri .
Tetapi sekali lagi, tanpa batasan dalam hal visibilitas setelah diterbitkan oleh GitHub.

VONC
sumber
14
Memang. Semua halaman bersifat publik. Saya mendapat respons (pada tiket dukungan) dari github yang mengkonfirmasi hal ini.
kashyap
13

Banyak jawaban yang sudah usang (akuisisi sebelum Microsoft / repo pribadi gratis). Yang ini ditulis setelah pengumuman repo pribadi gratis .

Halaman Github tidak tersedia di repo pribadi gratis untuk perorangan, seperti yang ditunjukkan dalam pengaturan repo:

masukkan deskripsi gambar di sini

2020 (rencana paling dasar sekarang adalah "Tim"):

tingkatkan ke tim github atau buat reposisi ini menjadi publik untuk mengaktifkan Halaman

Corey
sumber
5
Ini menyedihkan. Beriklan dengan lonceng dan peluit ketersediaan repo pribadi gratis tetapi mereka memotongnya dalam fungsi besar-besaran.
Robert Estivill
9

Ada artikel dengan ide yang berfungsi tentang cara meminta otorisasi oAuth sebelum memuat konten statis secara dinamis:

Mengamankan Situs yang Berjalan pada Halaman Github Dengan JSON Backend Dalam Repositori Pribadi

Konten harus disimpan dalam repositori GitHub rahasia dengan pemirsa memiliki akses baca untuk itu. Halaman GitHub hanya menyimpan kode JS yang melayani.

TautrimasPajarskas
sumber
Ini jauh lebih baik daripada menggunakan hasdocs, karena Anda tidak perlu memberikan izin kepada repo Anda ke aplikasi pihak ketiga yang tidak terpercaya.
Tommz
8

Seperti yang diuraikan di atas, halaman Github tidak mendukung fungsi itu. Saya memiliki masalah yang sama ketika tim kami memutuskan untuk meng-host dokumentasi proyek (HTML statis) secara internal dan pribadi.

Saya akhirnya membuat layanan https://www.privatehub.cloud Ini pada dasarnya adalah server proxy sederhana dengan autentikasi Github OAuth, jadi itu hanya mengembalikan konten repositori GitHub Anda dengan tipe MIME yang tepat. Sesuai desain, hanya yang memiliki akses yang foodapat melihat fookonten di https://bar-foo.privatehub.cloud. Dari sudut pandang fungsional, Anda dapat menganggapnya sebagai halaman GitHub yang disederhanakan dengan otentikasi bawaan.

Sayangnya, Github OAuth tidak mengizinkan untuk meminta read-onlyakses ke repo pribadi, sehingga server memerlukan akses penuh (jelas, itu tidak menulis apa pun untuk repo Anda). Karena GitHub API memungkinkan untuk mengambil file di bawah 1 Mb saja, layanan tidak dapat mengembalikan file yang lebih besar. Namun, saya menemukan layanan ini cukup cocok untuk proyek kecil untuk dokumentasi internal atau versi pementasan situs web.

grieg
sumber
1
Catatan: layanan ini sekarang mati (atau berpotensi crash sementara)
Jason Axelson
1

Jika Anda menekan admin pada repo pribadi dan gulir ke bawah ke bagian tentang halaman, itu menulis bahwa itu akan menjadi publik. Saya akan periksa nanti apakah kontrol htaccess atau sejenisnya adalah mungkin, tapi saya tidak punya banyak harapan untuk itu.

Rohde Fischer
sumber
1
Metode .htaccess tidak berfungsi. Jika ada saran yang berguna, beri tahu saya :)
Rohde Fischer
Saya juga tidak dapat menemukan apa pun. Saya kira masalah ini sudah ditutup untuk saat ini.
kashyap
0

Anda bisa menggunakan GitLab . Anda dapat mendefinisikan proyek pribadi dan semua fasilitas seperti Github.

mohammad asghari
sumber
Halaman pribadi belum tersedia di situs GitLab utama (hanya dalam salinan premis lokal) ... mungkin pada pertengahan Mei 2019 (lihat < gitlab.com/gitlab-com/gl-infra/infrastructure/issues/5576> ).
bersaing
-3

Anda dapat meng-host kata sandi dalam repositori dan kemudian hanya menyembunyikan halaman di belakang alamat tersembunyi, yang berasal dari kata sandi itu. Ini bukan cara yang sangat aman, tetapi sederhana.

Demonstrasi

Ozbolt
sumber