Saya ingin menggunakan git untuk meng-host situs web saya, dan akan menyukai platform yang bisa saya masuki secara online untuk mengikutinya (sesuatu seperti Github). Anda akan berpikir dalam hal ini, bahwa halaman Github akan menjadi rute yang sempurna bagi saya, meskipun saya tidak ingin menggunakan halaman Github. Saya ingin meng-host semua ini di server saya sendiri seperti yang Anda lakukan dengan Github enterprise (tetapi gratis).
Saya telah menemukan Gitlab dan bertanya-tanya apakah ada yang bisa saya gunakan Gitlab seperti halaman Github. Apa itu mungkin?
web-hosting
git
Ben Watkins
sumber
sumber
Jawaban:
Kabar baik!
Sejak 8.3 (Des 2015) GitLab memiliki "Halaman GitLab". https://about.gitlab.com/2015/12/22/gitlab-8-3-released/
Fitur ini tersedia di GitLab.com (yang menjalankan EE) di mana Anda dapat memiliki repositori gratis, tidak terbatas, publik / pribadi.
Berikut adalah dokumentasi untuk Halaman GitLab, menjelaskan bagaimana Anda dapat meng-host secara gratis situs web statis Anda di GitLab. http://doc.gitlab.com/ee/pages/README.html
sumber
Saya tidak begitu yakin apa yang Anda minta. Anda mengatakan Anda ingin meng-host di server Anda sendiri tetapi pertanyaan Anda mengatakan Anda ingin meng-host seperti halaman gitlab yang bukan server Anda sendiri.
Bagaimanapun mungkin ini akan membantu
Inilah yang saya lakukan
di pc lokal
Saya sekarang memiliki repo lokal. Salin ke server
Sekarang saya memilikinya di server jarak jauh.
Sekarang ada cabang master dan live di situs web. Saya melakukan ini karena AFAICT Anda tidak dapat mendorong ke cabang saat ini. Jadi sekarang kita memiliki cabang "hidup" yang saat ini ada di remote dan cabang "master" yang tidak
Akhirnya tambahkan remote ke repo lokal saya
Sekarang, kapan saja saya ingin memperbarui situs web saya memeriksa barang-barang ke cabang master lokal saya dan kemudian menjalankan skrip ini
The
git push
mendorong perubahan saya ke cabang non-saat ini pada webserver. Thessh
kemudian log ke webserver dan cepat-depan perubahan dalam "master" untuk cabang saat ini. Dalam hal ini cabang "hidup".--ff-only
dikatakan gagal jika ada perubahan pada server.Jika ada perubahan pada server saya dapat menariknya ke master lokal saya dengan
Lebih banyak hal. Sebelum saya melakukan semua ini, saya mengatur kunci SSH pada server jauh sehingga saya tidak perlu mengetikkan kata sandi
Ini sama sekali tidak ada koneksi ke github atau gitlab. Saya mungkin mendorong perubahan saya di sana juga, tetapi mereka tidak terhubung.
sumber
Ada proyek nodejs yang mengimplementasikan ini: https://github.com/Glavin001/GitLab-Pages
sumber
Dengan sedikit mencari berbagai pertanyaan di Google, saya menemukan jalan. Ini mungkin bukan cara terbaik dan mungkin terlalu rumit, tetapi itu harus bekerja dan itulah yang utama. Padahal, jika Anda tahu cara yang lebih baik atau dapat menemukannya, tolong beri tahu saya!
Saya menemukan bahwa Anda dapat menggunakan kode Anda ke server Anda melalui kait Git. Yang perlu Anda lakukan adalah SSH ke server Anda, buat git repo dan kemudian atur hook untuk mendorong komit ke repo ini. Ini akan memungkinkan Anda untuk mendorong komit ke server Anda, tetapi tidak ada hubungannya dengan gitlab pada saat ini.
Langkah selanjutnya adalah menambahkan url push untuk gitlab ke remote yang sama. Dengan cara ini, Anda akan mendorong gitlab dan situs itu sendiri setiap kali. Hasilnya, repo gitlab dan situs yang sebenarnya akan sama-sama sinkron. Padahal ini adalah peretasan dan jelas tidak efisien.
Saya menemukan cara menyebarkan kode Anda ke server Anda melalui git dari posting blog ini: http://sebduggan.com/blog/deploy-your-website-changes-using-git/
Saya menemukan bahwa Anda dapat menambahkan dua url push ke remote Anda di git dari pertanyaan ini di stackoverflow: /programming/14290113/git-pushing-code-to-two-remotes
Seperti yang saya katakan, jika Anda dapat menemukan cara yang lebih baik, tolong beri tahu saya. Ini akan berfungsi, tetapi itu berarti memiliki dua versi dari kode yang sama. Tentu saja, ini sangat berantakan dan merupakan pemborosan besar penyimpanan server Anda.
sumber
Saat ini, yang terbaik yang dapat Anda lakukan adalah dengan GitLab CI untuk mendorong ke server statis seperti Amazon S3.
Jika Anda dapat menggunakan dengan Git, pertanyaan (belum terpecahkan) berikut ini khusus untuk melakukannya dengan gitlab: /programming/14288288/gitlab-repository-mirroring
Ada permintaan khusus untuk itu di fitur pelacak: http://feedback.gitlab.com/forums/176466-general/suggestions/5599145-preview-render-static-html-pages-pushed-to-repos
sumber