2 Stimmen

Wie man eine CI-Umgebung mit Jenkins, rvm und Cucumber einrichtet

Ich bin neu auf dem Gebiet der Informatisierung und würde gerne wissen, was Sie über mein Problem denken und wie ich es angehen kann. Ich möchte zunächst beginnen, dass ich mit diesem für 2 Tage gerungen habe (und ich habe nicht, dass viel Hintergrund in sys ad) so bitte nett spielen (Ich bin hauptsächlich ein Front-End-Web-Entwickler) :)

Grundsätzlich war mein Plan, Jenkins zu installieren, dann machen Sie eine CI env mit diesen Schritten:

  1. Umfrage für alle Änderungen auf github
  2. Wenn ja, führen Sie das Build-Skript aus: a. die Entwicklungs- und Testdatenbank migrieren? (bedeutet das, dass ich die config/database.yml in mein Repo stellen muss?) b. cucumber ausführen c. wenn alle Tests erfolgreich sind, gehen Sie zu 3, sonst nicht
  3. jede Art von Rake-Einrichtung durchführen
  4. den Server betreiben (deploy)

Ich habe einige der Dinge durch Betrug erreicht:

  1. In meiner lokalen Umgebung habe ich meinen rvm auf den richtigen umgestellt, den ich brauche (rvm use 1.8.7-p174@mygemset)
  2. jenkins(java -jar jenkins.war) so ausführen, dass es das RVM-Ruby als Standard erhält
  3. spork in einem separaten Terminal ausführen (denn aus irgendeinem Grund laufen meine Gurken nicht ohne spork - das ist ein anderes Problem)
  4. Erstellen Sie das Projekt manuell, indem Sie auf Erstellen

Ich möchte diese Dinge also im Grunde automatisieren. Vielleicht, was ich brauche, ist eine Reihe von Schritten zu folgen (allgemein oder spezifisch, je nach Geschmack), so kann ich meine CI einrichten und laufen.

Beachten Sie, dass meine "Cheats" nicht ausreichen werden, da ich verschiedene Projekte mit unterschiedlichen Konfigurationen testen möchte und der Startup-Cheat einfach nicht ausreicht. Derzeit war mein Projekt erfolgreich zu bauen, weil alles, was ich tat, war zu laufen Gurke (und alle meine cukes passieren). Ich möchte, dass es in der Lage sein, zu implementieren, nachdem es passiert, so vielleicht einige Hilfe auch dort? Danke

4voto

myusuf3 Punkte 18173

Ich werde versuchen, Ihnen zu helfen, so gut ich kann.

  1. Umfrage für alle Änderungen auf github

Dies kann leicht mit dem Github Plugin gemacht werden, das sich aquí

  1. Wenn ja, führen Sie das Build-Skript aus: a. Migrieren Sie die Entwicklungs- und Testdatenbanken (bedeutet das, dass ich die config/database.yml in mein repo?) b. c. cucumber ausführen c. wenn alle Tests erfolgreich sind, weiter zu 3, sonst fehlgeschlagen

Dann müssen Sie nur noch das Build-Skript ausführen, das Sie in der Build-Datei von

Wählen Sie "Add Build Step" -> "Execute shell".

Sie können entweder tun, dass die wahrscheinlich ist, was ich tun würde, weil, wenn Sie Build erstellen Sie wollen, dass sie portabel sein, so dass Sie in neue Jenkins-Instanzen starten können, so dass Sie nicht haben, um Ihre Build-Maschine, mit Build-spezifischen Dateien einrichten.

Dann führen Sie Ihre Tests durch. Wenn sie fehlschlagen, sollte der Build trotzdem fehlschlagen. aquí ist eine Information über das Ausführen von Ruby on Rails-Tests. Wenn Sie einen Build in einem Skript aufgrund eines Ergebnisses manuell fehlschlagen lassen müssen, wird der Build normalerweise fehlschlagen, wenn Sie das Skript mit einem Wert ungleich Null verlassen. Wenn nicht, fahren Sie fort und führen Sie Ihre Rake- und Deployment-Skripte aus.

Nur ein paar Anmerkungen zu Jenkins: Es wird nicht alles für Sie tun, aber wenn Sie es manuell tun können, kann Jenkins es automatisieren. Alles, was Sie manuell eingerichtet haben, können Sie mit ein wenig Aufwand mit Jenkins automatisiert zum Laufen bringen

Aquí ist eine weitere Antwort, die Sie für Ihre allgemeine Einrichtung und die Ideologie hinter Jenkins hilfreich finden könnten.

Viel Glück!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X