2016-04-15 14 views
0

Ich habe ein einfaches Web-Projekt, das ich auf der Oberseite https://github.com/yeoman/generator-angular gemacht habe.Wie stelle ich ein Webprojekt über gh-pages zur Verfügung?

Dies erzeugt eine großartige Projektumgebung mit bower und grunt Unterstützung, wo die .js, .html und .css Dateien in einem Ordner namens "app" (ähnliche Struktur zu https://github.com/jgatjens/angular-pokemon) positioniert sind.

Alles funktioniert gut in localhost. Ich führe einen Befehlscode (grunt serve) und es beginnt in den Browser zu laufen. Ich bin jedoch nicht in der Lage, dies online verfügbar zu machen.

Es ist wichtig hervorzuheben, dass ich „es veröffentlichen offiziell“ wollen `t anziehen, Ich möchte nur der Lage sein, einen Link zu meinen Freunden zu schicken, so konnten sie es versuchen (als Benutzer würde) und gib mir Feedback dazu.

Ich spreche nicht über die Freigabe des Codes. Ich möchte es nur verfügbar machen, wie es für die Benutzer wäre, sobald es fertig ist. Wenn ich zum Beispiel https://ng-pokemon.firebaseapp.com gehe, kann ich versuchen, was das Repository https://github.com/jgatjens/angular-pokemon hat.

Wie benutze ich gh-pages, um ein Unterordnerprojekt verfügbar zu machen? (in diesem Fall "/ app")

Irgendwelche Hinweise darauf, wie könnte ich das tun?

Ich bin nur ein Enthusiast, der nicht viel Erfahrung darin hat, Webprojekte zur Verfügung zu stellen.

Vielen Dank im Voraus, Roger.

+1

Ich bin nicht sicher, ich verstehe Ihre Frage. Sie können ein neues privates Repository auf GitHub erstellen und dann Ihre Freunde hinzufügen, damit sie darauf zugreifen können. Dann werden sie das Projekt mit etwas wie 'git clone ' auschecken. Wenn Sie Ihren Freunden Zugriff auf die aktuelle Webseite geben möchten, müssen Sie das Projekt auf einem öffentlich zugänglichen Computer einrichten oder eine Art Portweiterleitung zwischen Ihrem Router und Ihrem lokalen Computer einrichten. – Cyclonecode

+0

Möchten Sie die Web-App, auf die Sie zugreifen können ** mit Ihren Freunden auf Ihrem localhost ** teilen? – atefth

+0

Hallo alle, tut mir leid für meinen Mangel an Klarheit. Ich möchte ihnen die Entwicklung der Web-App auf ihrer "Produktionsform" vorstellen. Zum Beispiel sende ich Ihnen den Link der Web-App, und Sie können mit den Schaltflächen interagieren, die Formulare ausfüllen und so verwenden, wie es ein Benutzer tun würde. Lass es mich wissen, wenn es jetzt klar ist und danke für deine Unterstützung. –

Antwort

0

Ich finde schließlich heraus, was ich im Falle eines Projekts tun sollte, das in einer Unterordnerstruktur aufgebaut ist. Was übrigens bei yeoman-Projekten Standard ist.

Schließlich habe ich festgestellt, dass Gh-Seiten den Dienst tun. Dazu musste ich:

1 - Erstellen Sie eine Teilstruktur für den Unterordner, wo das Projekt erstellt wird und schieben Sie es auf den Zweig gh-pages.

git checkout master # you can avoid this line if you are in master... 
git subtree split --prefix dist -b gh-pages # create a local gh-pages branch  containing the splitted output folder 
git push -f origin gh-pages:gh-pages # force the push of the gh-pages branch to the remote gh-pages branch at origin 
git branch -D gh-pages # delete the local gh-pages because you will need it: ref 

2- Danach wurde die index.html-Seite bereits durch die http://username.github.io/projectname Seite Link identifiziert. Allerdings fehlten mir immer noch die Bibliotheken Referenzen, die automatisch von Bower erstellt wurden.Kopieren Sie einfach den Ordner bower_components in den Ordner "/ app" und fügen Sie ihn dort ein.

3 - Ich habe ein Update der Branche wieder und es funktioniert süß.

ps_1: wahrscheinlich, wenn ich eine neue Bibliothek hinzufügen muss, muss ich es manuell von meinem bower_components nach innen kopieren bower_components.

ps_2: Ich schaffe auch ein Grunzen Aufgabe weiter entfaltet zu erleichtern:

grunt.task.registerTask('push-pages', function(){ 
    var shell = require('shelljs'); 
    shell.exec('git subtree split --prefix docs -b gh-pages'); 
    shell.exec('git push -f origin gh-pages:gh-pages'); 
    shell.exec('git branch -D gh-pages') 
}); 

Also, ich ist gerade ‚Grunzen Push-Seiten‘ laufen und das Update auf der GitHub Seite getan.

ps_2.1: Dazu ist "shelljs" erforderlich. In meinem Fall habe ich es auf npm package.json hinzugefügt, nur um sicherzustellen, dass ich es nie vergessen werde.

Es ist nicht die beste Lösung auf der Erde, aber es hat gut funktioniert =).

font: https://gist.github.com/cobyism/4730490

0

Bitbucket von Atlassian bietet kostenlose unbegrenzte private Hosting für Git für kleine Teams. Ich habe sie in der Vergangenheit für verschiedene private Projekte verwendet.

https://bitbucket.org/

Wenn Sie Ihre Freunde wollen einfach etwas Code sehen und Feedback zu geben, könnte es einfacher sein, nur nicht mit ihnen einen geheimen Kern zu teilen, als eine ganze Repo einrichten.

https://gist.github.com/

Edit: Da Sie tatsächlich zu Host im Gegensatz zu teilen Code suchen, benötigen Sie eine Hosting-Lösung zu finden.

+0

Er hat auch die Möglichkeit, Port Forwarding auf seinem Router zu konfigurieren, falls er unterstützt wird. Dann sollte er in der Lage sein, seinen Freunden die Router-IP-Adresse zu geben, die dann wiederum alle Anfragen auf Port 80 an den lokalen Rechner weiterleitet. – Cyclonecode