Bereitstellen einer Rails-App mit azk

Ein Artikel von azk

Einführung

azk ist ein leichtes Open-Source-Tool, mit dem Sie Anwendungsumgebungen orchestrieren können.

Wurde jemals eine Anwendung auf Ihrer lokalen Workstation ausgeführt, nur um festzustellen, dass das Setup beim Bereitstellen auf einem Produktionsserver völlig anders ist?

In diesem Artikel wird ein Orchestrierungs-Tool namens azk vorgestellt, das derzeit für these applications implementiert ist, jedoch für viele weitere Anwendungen gilt. Wenn Sie eine Azk-fähige Anwendung bereitstellen, können Sie sie lokal * und * in der Produktion mit minimalem Aufwand ausführen.

Mit azk können Sie schnell und einfach nicht nur die Anwendung ausführen, sondern auch alle Abhängigkeiten, einschließlich des erforderlichen Betriebssystems, der erforderlichen Sprachen, Frameworks, Datenbanken und anderer Abhängigkeiten (eine ansonsten arbeitsintensive, sich wiederholende, lange und daher fehleranfällige Aufgabe). Ganz gleich, ob Sie sich in Ihrer lokalen Umgebung oder auf einem Server befinden.

In diesem Artikel wird anhand einer einfachen Rails-App namens Stringer als Beispiel gezeigt, wie Azk als Orchestrierungswerkzeug funktioniert.

azk kümmert sich um viele schritte hinter den kulissen, um die orchestrierung zu vereinfachen. Daher enthält dieses Tutorial einige optionale Schritte, die nicht unbedingt zum Einrichten der Beispiel-App erforderlich sind, aber erklären, was azk tut.

Wir führen die App vom Quellcode auf unserem lokalen Computer aus, stellen sie auf einem Server bereit, nehmen einige lokale Änderungen vor, stellen die Änderungen bereit und führen ein Rollback durch.

Nach Abschluss dieses Artikels sollten Sie eine gute Vorstellung davon haben, wie azk als Orchestrierungswerkzeug für Ihren Entwicklungs- / Bereitstellungsworkflow funktioniert.

Wie es funktioniert

Zunächst orchestriert azk die Anwendungsumgebung auf Ihrem lokalen Computer. Sobald die Anwendung lokal ausgeführt wird, automatisiert azk auch die Bereitstellung auf Ihrem Droplet.

Da azk Anwendungen immer über den Quellcode ausführt, können Sie die Anwendung auch lokal basteln (wenn Sie möchten) und dann ohne besondere zusätzliche Schritte bereitstellen oder zurücksetzen.

azk isoliert die Umgebungen mithilfe von containers, sodass es sicher ist, Anwendungen auf Ihrem lokalen Computer auszuführen. Es funktioniert sowohl mit neuen Projekten, die von Grund auf neu gestartet wurden, als auch mit bereits vorhandenem Code.

Verwenden von Azk mit benutzerdefinierten Anwendungen

Anhand der aktuellen Liste von anwendungen, die für die Arbeit mit azk vorkonfiguriert sind können Sie mit einigem zusätzlichen Aufwand jedes Projekt für die Arbeit mit azk konfigurieren.

Dazu fügen Sie dem Projekt add an Azkfile hinzu.

Dies ist eine einfache Manifestdatei, in der die zum Ausführen der Anwendung erforderlichen Elemente aufgelistet und ihre Beziehungen (Betriebssystem, Sprachen, Datenbanken usw.) zusammengefasst werden.

Das Hinzufügen eines "+ Azkfile +" zu Ihrem Projekt hat folgende Vorteile:

  • Verwenden Sie azk, um die Einrichtung der Umgebung für Ihr Projekt sowohl lokal als auch in der Bereitstellung zu automatisieren

  • Andere Personen, die Ihre App bereitstellen möchten, können dies mit azk tun

Das Erstellen eines "+ Azkfile +" würde den Rahmen dieses Tutorials sprengen. Sie können jedoch die Dokumentation von azk lesen, um zu erfahren, wie man ein Azkfile erstellt. docs.azk.io/de/run-project-button/[add the Run Project GitHub button] zu Ihrem Code.

Voraussetzungen

Um diesem Handbuch folgen zu können, benötigen Sie einen lokalen Computer, auf dem eines dieser Betriebssysteme (64-Bit) für Ihre lokale Umgebung ausgeführt wird:

  • Mac OS X 10.6 (Snow Leopard) oder neuer

  • Ubuntu 12.04, 14.04 oder 15.10

  • Fedora 21 oder 22

Sie müssen außerdem in der Lage sein, "+ git +" - Commits auszuführen.

  • Auf Ihrem lokalen Computer muss Git installiert sein. Eine Anleitung zu Linux finden Sie unter this series on using Git oder unter https://git- scm.com/downloads[Git-Downloadseite]

  • Stellen Sie sicher, dass Sie die vorgeschlagenen Befehle "+ git config --global user.email" [email protected] "" und " git config --global user.name" Your Name "+" ausführen, bevor Sie mit dem Tutorial beginnen. Weitere Informationen zu Git finden Sie unter den vorherigen Links

Beachten Sie, dass ein aktives Droplet für dieses Lernprogramm nicht erforderlich ist. azk erstellt eine für Sie mithilfe der DigitalOcean-API.

Linux-Benutzer: Installieren von Docker

Wenn Sie Linux (Ubuntu oder Fedora) verwenden, müssen Sie Docker 1.8.1 oder höher als Container-Software installieren.

Eine Möglichkeit, Docker zu installieren, besteht darin, das Docker-Installationsskript auszuführen. (Im Allgemeinen * stellen Sie sicher, dass Sie verstehen, was ein Skript tut, bevor Sie es ausführen *):

wget -nv  -O- -t 2 -T 10 | bash

Wenn Sie mehr über die Installation von Docker unter Linux erfahren möchten, lesen Sie die anweisungen in der offiziellen Dokumentation oder in der https://www.digitalocean.com/community von DigitalOcean / tutorials / installations- und verwendungsanleitung für docker [Docker-Installationsartikel].

Mac OS X-Benutzer: Installieren von VirtualBox

Sie benötigen VirtualBox 4.3.6 oder höher als Container-Software.

Um VirtualBox zu installieren, downloaden Sie das entsprechende Virtualbox-Installationspaket von der offiziellen Download-Seite.

Schritt 1 - Installation von azk vor Ort

Wir installieren azk mit dem Installationsskript des Projekts. * Vergewissern Sie sich, dass Sie die Funktionsweise eines Skripts verstanden haben, bevor Sie es auf Ihrem System ausführen. *

Wenn Sie bereits eine ältere Version von Azk installiert haben, können Sie dieses Installationsskript verwenden, um Azk zu aktualisieren.

Weitere Informationen zu unterstützten Betriebssystemen finden Sie in der package installationsanleitung.

Installation von Azk unter Linux

Wenn Sie Linux (Ubuntu oder Fedora) verwenden, führen Sie diesen Befehl in einem Terminal aus, um azk mithilfe des Projektskripts zu installieren. Wir empfehlen, * ein Skript zu überprüfen, bevor es * auf Ihrem System ausgeführt wird:

wget -nv http://azk.io/install.sh -O- -t 2 -T 10 | bash

Melden Sie sich nach Abschluss der Installation ab und wieder an, damit alle Änderungen wirksam werden.

Der Grund, warum Sie sich abmelden müssen, besteht darin, dass Ihr Benutzer während des Installationsvorgangs zur Gruppe * docker * hinzugefügt wird. Dies ist ein erforderlicher Schritt, damit wir Docker verwenden können, ohne der Benutzer * root * zu sein. Sie müssen die aktuelle Sitzung beenden, damit dies wirksam wird.

Wenn Sie mehr über die Docker group erfahren möchten, können Sie die offizielle Dokumentation von Docker lesen.

Installation von azk unter Mac OS X

Führen Sie diesen Befehl in einem Terminal aus, um azk mithilfe des Projektskripts zu installieren. Wir empfehlen, * ein Skript zu überprüfen, bevor es * auf Ihrem System ausgeführt wird:

curl -sSL http://www.azk.io/install.sh | bash

Schritt 2 - Überprüfung der Installation von azk

Führen Sie nach Abschluss der Azk-Installation den folgenden Befehl aus, um zu überprüfen, ob der Installationsvorgang erfolgreich war:

azk version

Dieser Befehl überprüft die installierte Azk-Version. Wenn eine Versionsnummer zurückgegeben wird (z. + azk 0.17.0 + oder neuer), wir sind bereit und Sie können mit dem nächsten Schritt fortfahren.

Herzlichen Glückwunsch zur Installation von azk für Ihre lokale Umgebung!

Wenn nicht, lesen Sie einen der folgenden Abschnitte zur Fehlerbehebung, um Hilfe zu erhalten.

  • Fehlerbehebung bei der Azk-Installation für Linux *

Überprüfen Sie die installierte Docker-Version, indem Sie Folgendes ausführen:

docker version

Sie benötigen Version 1.8.1 oder höher.

Wenn Sie jedoch eine Fehlermeldung erhalten, bedeutet dies, dass Docker noch nicht installiert ist. In diesem Fall befolgen Sie http://docs.docker.com/engine/installation/spezifische Installationsanweisungen] für Ihr Betriebssystem in der Docker-Dokumentation.

Nachdem Sie bestätigt haben, dass Sie eine richtige Version von Docker installiert haben, führen Sie diesen Befehl als Ihr * sudo-Benutzer * aus, um sicherzustellen, dass sich Ihr Benutzer in der Gruppe * docker * befindet:

id -Gn

Wenn Ihre Gruppenliste * docker * enthält, bedeutet dies, dass sie korrekt konfiguriert ist. Andernfalls führen Sie den folgenden Befehl aus, um Ihren Benutzer der Gruppe hinzuzufügen, wenn Sie nicht das Wort * docker * finden:

sudo usermod -aG docker

Melden Sie sich dann ab und wieder an.

Überprüfen Sie den Befehl + id -Gn + noch einmal, um sicherzustellen, dass die Liste der Gruppen mit * docker * darunter zurückgegeben wird.

Wenn diese Anweisungen nicht ausreichen, um Docker ordnungsgemäß zum Laufen zu bringen (z. Sie können den Befehl "+ Docker-Version +" immer noch nicht erfolgreich ausführen. Nehmen Sie auf die Installationsanweisungen von Docker Bezug.

  • Fehlerbehebung bei der Azk-Installation für Mac OS X *

Stellen Sie sicher, dass VirtualBox installiert ist:

which VBoxManage

Wenn dies einen Dateipfad zurückgibt (z. B. "+ / usr / local / bin / VBoxManage +"), können Sie fortfahren. Wenn andernfalls die Meldung "Nicht gefunden" zurückgegeben wird, ist VirtualBox nicht installiert.

In diesem Fall lädt downloaden und installieren Sie das VirtualBox-Installationspaket von der offiziellen Website.

(Optional) Schritt 3 - Informationen zur Demo-Anwendung, Stringer

Wir haben Stringer als Demo-Anwendung für dieses Handbuch ausgewählt, da es sich um eine einfache Anwendung handelt, die bereits für die Verwendung mit Azk konfiguriert ist.

Es handelt sich um eine Rails-App mit einem genau definierten Anwendungsfall: einem Bare-Bones-RSS-Reader.

(Optional) Schritt 4 - Konfigurieren einer benutzerdefinierten Anwendung zur Verwendung von azk

Während der Hauptfokus dieses Handbuchs auf der Darstellung der Funktionsweise von Azk für eine Anwendung liegt, deren Umgebungsdetails bereits für Azk angegeben sind, ist das Tool auf lange Sicht am nützlichsten, wenn Sie es zum Bereitstellen einer Anwendung verwenden können.

Schauen Sie sich also an, wie sich this forked version of Stringer im Vergleich zu the primary Stringer repository verhält.

Die azk-Version enthält nur zwei Ergänzungen zu Stringers Originalversion:

  • Ein + Azkfile +, das die Umgebungsinformationen für azk bereitstellt

  • Eine azk * Run Project * -Schaltfläche

Weitere Informationen zum Funktionieren von Azk mit anderen Anwendungen finden Sie in der Dokumentation von Azk unter Azkfile und http://docs.azk.io/en/run-project -Taste / [Projekt ausführen -Taste].

Als Nächstes werden wir sehen, wie eine azk-freundliche Anwendung auf GitHub aussieht.

(Optional) Schritt 5 - Verwenden der Schaltfläche "Projekt ausführen" von azk auf GitHub

Zu den Best Practices von azk für GitHub-Projekte gehört es, die Ausführung dieses Projekts mit azk sehr deutlich zu machen. Anstatt nur den Befehl azk in der Mitte der Projekt-Readme-Datei anzuzeigen, können Projekte, die azk verwenden, den Befehl azk mithilfe der Schaltfläche * Projekt ausführen * visuell isolieren.

Stringer benutzt diesen Knopf.

Besuchen Sie den Abschnitt Running Locally von Azks gespaltener Version von Stringer.

Klicken Sie auf die Schaltfläche * Projekt ausführen *.

image: https://assets.digitalocean.com/articles/ask/UGWmrZM.png [Schaltfläche "Projekt ausführen" in Stringer-Projekt]

Wenn Sie zum ersten Mal auf die Schaltfläche "Projekt ausführen" klicken, wird eine kurze Erläuterung der Vorgänge angezeigt. Wenn Sie weitermachen möchten, klicken Sie unten in der Erläuterung einfach auf * OK, DISMISS *.

Dann werden Sie mit dem Befehl "azk" für das Stringer-Projekt auf eine Seite weitergeleitet:

azk start -o run-project/stringer

image: https: //assets.digitalocean.com/articles/ask/tmDRhbw.png [Befehl zum Ausführen der Stringer-App mit azk: azk start -o run-project / stringer]

Sie können jederzeit auf den Link * Was ist das? * In der oberen rechten Ecke klicken, um die Erklärung erneut anzuzeigen.

In der Mitte des Bildschirms befindet sich ein Befehlsfeld mit drei Registerkarten: * Curl *, * Wget * und * Azk *. Da wir bereits azk installiert haben, können wir das * azk * verwenden.

Dies ist der Befehl, den wir im nächsten Schritt verwenden, um Stringer tatsächlich auszuführen.

Schritt 6 - Stringer lokal ausführen

In diesem Abschnitt verwenden wir azk, um Stringer auf unserer lokalen Workstation auszuführen.

Vergewissern Sie sich auf unserem lokalen Computer, dass wir uns in unserem Ausgangsverzeichnis befinden. Wenn Sie einen anderen Installationsordner auswählen, müssen Sie die späteren Befehle an das von Ihnen ausgewählte Verzeichnis anpassen.

cd ~

Führen Sie den folgenden Befehl auf Ihrer lokalen Workstation aus, um Stringer auszuführen:

azk start -o run-project/stringer

Da Sie azk zum ersten Mal starten, werden Sie aufgefordert, die Nutzungsbedingungen zu akzeptieren. Es sollte eine Nachricht wie die folgende angezeigt werden:

? =========================================================================
 Thank you for using azk! Welcome!
 Before we start, we need to ask: do you accept our Terms of Use?
 http://docs.azk.io/en/terms-of-use
=========================================================================
(Y/n)

Drücken Sie entweder "+ Y ", wenn Sie einverstanden sind, oder " N ", wenn Sie nicht einverstanden sind. Drücken Sie dann " ENTER", um Ihre Antwort mitzuteilen. Wenn Sie anderer Meinung sind, können Sie azk nicht verwenden.

Schließlich lädt azk automatisch den Quellcode von Stringer sowie das angehängte Azkfile herunter, um diesen Code in einer absolut sicheren und isolierten Umgebung auf Ihrem lokalen Computer auszuführen.

Als Nächstes werden Sie gefragt, ob Sie den azk agent starten möchten:

Ausgabe

? The agent is not running, would you like to start it? ()

Der agent ist eine azk-Komponente, die Docker (unter Linux) oder eine VirtualBox-VM (unter Mac OS X) konfiguriert.

Drücken Sie + ENTER +, um mit “Ja” zu antworten (Standardoption).

Wenn Sie den Agenten zum ersten Mal ausführen, wird das Setup von azk ausgeführt.

Das Setup erledigt viele Dinge hinter den Kulissen, einschließlich der Erstellung der Datei "+ / etc / resolver / dev.azk.io ", die eine DNS-Konfiguration zum Auflösen von Adressen enthält, die mit dem Suffix " dev.azk.io +" enden.

Azk verwendet dieses Suffix, wenn Anwendungen ausgeführt werden, um für Menschen lesbare Adressen zuzuweisen, anstatt dass wir manuell "+ http: // localhost: PORT_NUMBER +" - Adressen konfigurieren müssen. Dies vermeidet auch Portkonflikte zwischen verschiedenen Anwendungen.

(Es ist im Grunde dasselbe wie das Bearbeiten Ihrer "+ / etc / hosts +" - Datei, um einen Domainnamen lokal umzuleiten.)

Wenn Sie eine Nachricht wie die folgende erhalten:

Ausgabe

? Enter the vm ip: (192.168.50.4)

Sie können eine beliebige lokale IP-Adresse eingeben, auf der Sie die App ausführen möchten. Die Standardeinstellung sollte in den meisten Fällen in Ordnung sein. Um dies zu akzeptieren, drücken Sie einfach + ENTER.

Um die Einrichtung des Azk-Agenten abzuschließen, werden Sie nach Ihrem * sudo * -Kennwort gefragt (für Mac OS X-Benutzer ist dies Ihr Administratorkennwort).

Jetzt fängt azk an. Sie werden feststellen, dass Azk die in der Azk-Datei aufgelisteten Elemente herunterlädt (in Form von Docker-Bildern).

Das erste Herunterladen dieser Bilder kann einige Minuten dauern (etwa 10 Minuten oder weniger).

Sobald Azk das Setup abgeschlossen hat, lädt Ihr Standardbrowser automatisch den Startbildschirm von Stringer, der auf Ihrem lokalen Computer ausgeführt wird.

image: https://assets.digitalocean.com/articles/ask/ARJCeDT.png [Zugriff auf die Stringer-App]

Wie Sie sehen, wird lokales DNS verwendet, sodass die App unter "+ http: // stringer.dev.azk.io " angezeigt wird. Sie können auf die Anwendung auch manuell zugreifen, indem Sie zu " http: // stringer.dev.azk.io +" gehen.

Wenn Sie ein Kennwort festlegen und die Anwendung verwenden möchten, können Sie dies tun, dies ist jedoch für dieses Lernprogramm nicht erforderlich. Wir wollten nur sehen, dass Azk Stringer lokal betreiben kann.

Nachdem Stringer auf unserem lokalen Computer ausgeführt wird, können wir es vom Computer auf einem Droplet bereitstellen.

Schritt 7 - Beziehen eines DigitalOcean-API-Tokens

Bevor wir ein Droplet von azk bereitstellen können, benötigen wir ein API-Token. Das Token gibt azk die Berechtigung, einen neuen DigitalOcean-Server in Ihrem Konto bereitzustellen.

Wenn Sie azk zum ersten Mal mit diesem Token in dieser Umgebung ausführen, wird ein neues Ubuntu 14.04-Droplet mit 1 GB bereitgestellt. Nachfolgende Bereitstellungen aus derselben lokalen Umgebung verwenden dasselbe einzelne Droplet.

Befolgen Sie die Anweisungen unter How To Generate a Persönliches Zugriffstoken im verknüpften Lernprogramm. Das generierte Token muss * Lese- und Schreibrechte * besitzen.

Kopieren Sie die 64 hexadezimalen Zeichen Ihres Tokens, ähnlich wie im folgenden Beispiel:

Beispiel-API-Token

a17d6a72566200ad1a8f4e090209fe1841d77d7c85223f769e8c5de47475a726

Die Token-Zeichenfolge wird nur einmal angezeigt. Notieren Sie sie sich an einem sicheren Ort. (Denken Sie daran, wenn dieses Token kompromittiert wird, kann es verwendet werden, um auf Ihr Konto zuzugreifen. Halten Sie es also privat.)

Denken Sie für die folgenden Anweisungen daran, das Beispiel-Token durch Ihr reales zu ersetzen.

Gehen Sie zum Ordner von Stringer:

cd ~/stringer

Speichern Sie Ihr persönliches Zugriffstoken in einer Datei, die Sie mit "+ .env +" aufrufen. Führen Sie dazu den folgenden Befehl aus, um die Datei zu erstellen (vergessen Sie nicht, das Token zu ersetzen):

echo "DEPLOY_API_TOKEN=" >> .env

Der Inhalt der + .env + Datei sollte folgendermaßen aussehen:

env
DEPLOY_API_TOKEN=

(Optional) Schritt 8 - Informationen zu SSH-Schlüsseln

Sie müssen nichts tun, um einen SSH-Schlüssel für azk einzurichten, aber es ist hilfreich zu wissen, wie azk einen verwendet.

azk verwendet einen SSH-Schlüssel, um auf das Droplet zuzugreifen. Wenn Sie bereits einen SSH-Schlüssel haben, wird dieser von azk verwendet.

Um herauszufinden, ob Sie einen SSH-Schlüssel auf Ihrem Computer haben, führen Sie Folgendes aus:

ls ~/.ssh/*.pub

Wenn die Meldung "Nicht gefunden" zurückgegeben wird, befinden sich keine SSH-Schlüssel auf Ihrem Computer.

In diesem Fall erstellt azk automatisch einen neuen SSH-Schlüssel, der ausschließlich zum Bereitstellen jeder neuen Anwendung von Ihrem Computer aus verwendet wird.

azk erstellt seinen Schlüssel in einem eigenen reservierten Speicher und nimmt keine Änderungen an Ihrem + ~ / .ssh + - Verzeichnis vor.

Wenn Sie den generierten öffentlichen Schlüssel überprüfen möchten, können Sie nach der ersten Anwendungsbereitstellung den folgenden Befehl ausführen:

azk deploy shell -c "cat /azk/deploy/.config/ssh/*.pub"

Weitere Informationen zu SSH-Schlüsseln im Allgemeinen finden Sie unter in diesem Tutorial zu SSH-Schlüsseln lesen.

Schritt 9 - Bereitstellen mit azk

Standardmäßig erstellt azk ein 1-GB-DigitalOcean-Droplet unter Ubuntu 14.04, um Ihre Anwendung bereitzustellen.

Wechseln Sie zunächst in das Verzeichnis von Stringer (oder Ihrer Anwendung):

cd ~/stringer

Führen Sie dann zum Starten der Bereitstellung Folgendes aus:

azk deploy

Der Befehl "+ azk deploy +" ist der Befehl, den Sie am häufigsten ausführen, wenn Sie Ihre Anwendung mit azk orchestrieren.

Die erste Bereitstellung kann eine Weile dauern (ca. 10 Minuten), da Azk die gesamte Arbeit erledigt.

Im Einzelnen muss azk:

  • Unterstützungselemente herunterladen (Docker-Image für die Bereitstellung)

  • Erstellen und konfigurieren Sie das Droplet

  • Laden Sie den Quellcode der Anwendung in das Droplet hoch

  • Führen Sie die Anwendung aus

Jede neue Bereitstellung dieser Anwendung von Ihrem Computer aus erfolgt erheblich schneller (maximal 30 Sekunden), da die längeren Schritte bereits abgeschlossen sind.

Wenn Ihr SSH-Schlüssel kennwortgeschützt ist, wird er während des Bereitstellungsprozesses einige Male benötigt. Geben Sie einfach Ihr SSH-Schlüsselkennwort ein und drücken Sie jedes Mal die Eingabetaste, wenn die folgende Meldung angezeigt wird:

Ausgabe

Enter passphrase for ~/.ssh/id_rsa:

Die Ausgabe des Terminals zeigt eine Reihe von Aktionen, die auf dem * Remote * -System ausgeführt werden, und endet mit der Meldung "+ App erfolgreich implementiert unter http: // +".

image: https://assets.digitalocean.com/articles/ask/448PDqn.png [Stringer wurde erfolgreich implementiert]

Besuchen Sie "+ http: // +", um die auf Ihrem Server gehostete Anwendung anzuzeigen.

image: https://assets.digitalocean.com/articles/ask/peQgdYG.png [Zugriff auf Stringer in einem Droplet]

Von nun an können Sie den Code der Anwendung auf Ihrem Computer ändern, lokal testen und die Änderungen mit dem Befehl + azk deploy + auf Ihrem Droplet bereitstellen.

Schritt 10 - Ändern von Stringer

Um zu zeigen, wie einfach es ist, Azk für die Anwendungsentwicklung, die Anpassung oder die Versionskontrolle zu verwenden, nehmen Sie eine einfache Änderung auf der Stringer-Anmeldeseite vor und stellen Sie die Anwendung erneut bereit.

Stellen Sie sicher, dass Sie sich im Verzeichnis von Stringer befinden:

cd ~/stringer

Bearbeiten wir die Datei "+ app / views / first_run / password.erb +", die den Text für die erste Anmeldeseite enthält.

Verwenden Sie + nano + oder Ihren bevorzugten Texteditor:

nano ~/stringer/app/views/first_run/password.erb

Hier fügen wir eine zusätzliche Zeile hinzu, in der steht: "Mit azk ist das ganz einfach!"

app / views / first_run / password.erb

<div class="setup" id="password-setup">
 <h1><%= t('first_run.password.title') %> <span class="orange"><%= t('first_run.password.anti_social') %></span>.</h1>
 <h2><%= t('first_run.password.subtitle') %></h2>

 <hr />
 . . .
</div>

Speichern und beenden Sie den Texteditor. Wenn Sie Nano verwenden, drücken Sie zum Speichern "+ STRG + O " und zum Beenden " STRG + X +".

Da Stringer standardmäßig im Produktionsmodus ausgeführt wird, reicht es nicht aus, Ihren Browser zu aktualisieren, damit Ihre Änderung aktiv wird. Starten Sie die Anwendung von azk aus neu:

azk restart stringer -o

Ein neuer Browser-Tab sollte mit der neuen Version von Stringer geöffnet werden. Direkt unter dem Standardtext * Es gibt nur einen Benutzer: Sie. * Jetzt sollte es heißen * Auch mit azk! * Ist das ganz einfach.

Schritt 11 - Stringer neu einsetzen

Übernehmen Sie nun die Änderungen in unser Versionskontrollsystem, damit wir sie bereitstellen können.

git add app/views/first_run/password.erb
git commit .

Es wird Ihnen ein Texteditor angezeigt (höchstwahrscheinlich Nano oder Vim).

Geben Sie eine Commit-Nachricht ein, wie z. B. "+". Mit azk + "ist das ganz einfach.

Diese Festschreibungsmeldung wird verwendet, um Versionen Ihrer Anwendung in Azk zu kennzeichnen. Wählen Sie also eine aus, die Ihren Speicher belebt, wenn Sie später einen Rollback durchführen müssen.

Speichern und schließen Sie die Commit-Nachricht.

Führen Sie Folgendes aus, um Ihre Änderung bereitzustellen und die auf Ihrem Droplet ausgeführte Anwendung zu aktualisieren:

azk deploy

Greifen Sie anschließend über Ihren Browser auf die IP-Adresse Ihres Droplets zu (z. + http: // +). Sie sollten die neue Zeile sehen * Mit azk! * Ist es auch hier ganz einfach.

image: https: //assets.digitalocean.com/articles/ask/tOmAsIH.png [Neue Version von Stringer läuft auf Droplet]

Diese neue Bereitstellung erstellt eine neue Version der Anwendung auf dem Droplet. Alle Versionen der Anwendung werden gespeichert, sodass Sie zu einer vorherigen Version zurückkehren und diese dann erneut weiterleiten können.

Schritt 12 - Zurücksetzen auf eine frühere Version

Führen Sie den folgenden Befehl lokal aus, um alle verfügbaren Versionen unserer Anwendung im Droplet aufzulisten:

azk deploy versions

Dies sollte zu einer Liste führen wie:

Ausgabe

⇲ Retrieving deployed versions...

 ➜ v2              It is easy with azk
   v1              Merge branch 'master' of https://github.com/swanson/stringer

Um die Anwendung auf eine ältere Version zurückzusetzen, führen Sie einfach Folgendes aus:

azk deploy rollback

Das Argument "+" ist eine Versionsnummer, die in der Ausgabe des Befehls " azk deploy versions " angezeigt wird. Wenn Sie den Befehl ohne Argument ausführen (z. ` azk deploy rollback +`), die Anwendung wird auf die Version unmittelbar vor der aktuellen zurückgesetzt.

Um zu überprüfen, ob das Rollback abgeschlossen ist, aktualisieren Sie einfach die Browserregisterkarte mit der Serverversion.

Jetzt sollte die Anwendung ohne unseren benutzerdefinierten Text so angezeigt werden, wie sie sich in der ursprünglichen Bereitstellung befunden hat.

Wenn Sie erneut vorwärts rollen möchten, können Sie die neueste Version auswählen:

azk deploy rollback

Die Bezeichnungen für diese Versionen stammen aus den "+ git commit +" - Meldungen im vorherigen Schritt.

Fazit

In diesem Handbuch haben wir eine einfache Rails-App verwendet, um zu demonstrieren, wie Azk die Setup-Aufgaben für die Anwendungsumgebung automatisiert. Dies erleichtert die Bereitstellung derselben Anwendung in mehreren Umgebungen.

Wenn Ihnen der Bereitstellungsprozess von azk gefällt, können Sie ihn für Ihr eigenes Projekt verwenden oder einem Zweig eines anderen Open-Source-Projekts ein "+ Azkfile +" hinzufügen. Erfahren Sie hier mehr über creating an Azkfile und wie Sie add the Run Project GitHub button Hier.

Sie können sich auch diese demonstration gallery von anderen Anwendungen ansehen, bei denen bereits die Vorbereitungen für die Ausführung mit azk getroffen wurden.

Neben "+ rollback " und " versions +" unterstützt azk weitere Hilfsbefehle, mit denen wir einige zusätzliche Aktionen ausführen können (z. B. Zugriff auf die Shell des Droplets über SSH).