Ich möchte einen Job in einem eigens entwickelten Unternehmen von unerfahrenen bekommen. Ich habe mich entschlossen, CircleCI zu studieren, um ein gutes Portfolio zu erstellen.
Der aktuelle Wissensstand ist die einfache Anwendungsentwicklung mit Ruby on Rails, die Versionsverwaltung mit git und die Bereitstellung mit heroku. Ich hoffe, es wird denjenigen helfen, die darüber nachdenken, CircleCI in Zukunft auf der gleichen Ebene wie ihr eigenes Memorandum auszuprobieren.
Verstehe, was CircleCI ist. Unterdrücken Sie die Grundlage für das Schreiben von CircleCI.
【Verwandter Artikel】 [CircleCI von 0 herausfordern] Lernen Sie die Grundlagen von CircleCI [CircleCI von 0 herausfordern] Erstellen Sie einen automatisierten Test (Rails6.0 / mysql8.0 / Rspec) [CircleCI von 0 herausfordern] AWS ECR / ECS verstehen [CircleCI von 0 herausfordern] Automatisch mit CircleCI / AWS (ECR / ECS) bereitstellen
① Über CI / CD (2) Gründe für die Wahl des CircleCI-Vergleichs anderer Tools ③Rauer Testfluss mit CircleCI ④ Informationen zur Beschreibungsmethode der CircleCI-Einstellungsdatei
Lass uns schnell gehen.
CI (Continuous Integration) bedeutet kontinuierliche Integration, und CD (Continuous Delivery / Deployment) bedeutet kontinuierliche Bereitstellung oder kontinuierliche Bereitstellung. Genauer gesagt handelt es sich um einen Mechanismus, der "beim Pushen auf ein Versionsverwaltungssystem wie git automatisch getestet wird und wenn der Test gelöscht wird, automatisch bereitgestellt wird".
Es gibt einige bekannte CI / CD-Tools. Vergleichen wir sie kurz und überlegen, warum CircleCI ausgewählt wird.
Jekins Ein typisches lokales CI / CD-Tool. Es ist Open Source und hat eine hervorragende Erweiterung mit Plug-Ins.
CircleCI Saas Typ CI / CD-Tool. Es funktioniert auch gut mit GitHub und empfiehlt die Verwendung von Docker, das in den letzten Jahren explosionsartig gewachsen ist. Sie können auch eine Verbindung über ssh herstellen.
Travis CI Dies ist auch ein CI / CD-Tool vom Typ Saas. Seine Stärke ist, dass es eine Vielzahl von Sprachen unterstützt und CI mit einfachen Einstellungen einführen kann.
Gitlab Gits CI-Tool, das für Versionsverwaltungssoftware bekannt ist. Anscheinend hat es nicht so viel Anteil an der Branche, aber es könnte in Zukunft wachsen.
Die oben genannten gelten als die bekanntesten Werkzeuge.
In Bezug auf die Auswahlkriterien entscheiden Sie zunächst, ob es sich um einen On-Premise-Typ oder einen Saas-Typ handelt. Für die persönliche Entwicklung ist der Saas-Typ, der niedrige Betriebskosten hat, definitiv besser. Wenn es sich um einen Saas-Typ handelt, spielt es keine Rolle, welchen Sie verwenden, aber ich persönlich wähle CircleCI, das derzeit in der Branche am beliebtesten ist, und empfehle den Docker der Content-Technologie, der in den letzten Jahren Aufmerksamkeit erregt hat. Ich denke das ist das Beste. (* Natürlich, wenn Sie Docker für die Entwicklungsumgebung verwenden)
Der Ablauf selbst ist sehr einfach.
Sobald Sie den CircleCI-Code geschrieben haben, unterscheidet er sich nicht mehr vom üblichen Entwicklungsablauf mit git. Ich denke also, dass der Hals der Beschreibungsteil der Datei sein wird (.circleci / config.yml).
Alle CircleCI-Einstellungen werden in der YAML-Datei beschrieben. Was ist eine YAML-Datei? Dieses Format beschreibt Daten auf dieselbe Weise wie XML und JSON. YAML ist übrigens eine Abkürzung für (yaml ist keine Markup-Sprache). Ich habe das Gefühl, mich selbst zu definieren.
Und das Merkmal von YAML ist, dass es intuitiv und leicht zu verstehen ist. Es besteht hauptsächlich aus den folgenden drei Beschreibungsmethoden.
yaml
#① Liste → Anordnung
- 1
- 2
- 3
#
name: a
id : 1
text: ccc
#③ Skalar → Außer Liste und Karte
true false
null
123
Natürlich ist die eigentliche Datei etwas komplizierter, da das Obige über mehrere Zeilen geschrieben ist. Es gibt jedoch nur drei Grundlagen. Denken Sie also daran.
Die CircleCI-Datei besteht aus mehreren Komponenten. Lassen Sie uns eins nach dem anderen überprüfen.
Obwohl es nichts mit der Dateibeschreibung zu tun hat, wird das Github-Repository in CircleCI als ein Projekt behandelt.
Die kleinste Einheit in einer Datei. Insbesondere handelt es sich um eine Befehlsliste, die von CircleCI ausgeführt werden soll. (Obwohl es sich um die kleinste Einheit im Konzept von CircleCI handelt, sind die Schritte nur eine Liste, sodass sie mehrere Zeilen umfassen können.) Übrigens gibt es zwei Arten von Schritten: Schritt ausführen und Einbauschritt. Ersterer wird vom Benutzer definiert, letzterer ist ein spezieller Schritt, der von CircleCI erstellt wurde.
Eine Gruppe von Schritten wird als Job bezeichnet.
Bezieht sich auf die Jobschrittumgebung. Wenn es sich beispielsweise um "Docker Executor" handelt, führen Sie die Schritte in der Docker-Umgebung aus. Neben Docker gibt es "macOS Executor", "Machine Executor", "Windows Executor" usw., und Sie können die Umgebung frei einstellen.
Angenommen, Sie haben eine Datei, die in der Reihenfolge "A-Job-> B-Job-> C-Job" ausgeführt wird. Angenommen, Sie möchten nach Abschluss des "A-Jobs" den Inhalt des "A-Jobs" übernehmen und den "B-Job" ausführen. Diese Methode zum Teilen von Daten von "A-Job" zu "B-Job" wird als *** Arbeitsbereich *** bezeichnet. Nehmen wir als nächstes an, dass beim Ausführen der Datei in der obigen Prozedur ein Fehler in "C job" auftritt. In einem solchen Fall muss nach dem Ändern der Datei, dh von "A job", erneut von 1 ausgeführt werden. Wenn "A-Job" oder "B-Job" einen Schritt zum Lesen einer schweren Datei enthält, dauert es einige Zeit. In einem solchen Fall wird die Methode zum Teilen der Daten, damit die beim ersten Mal erstellte Datei nach dem zweiten Mal reibungslos übernommen werden kann, als *** Cache *** bezeichnet. Wenn Sie die Datei wie oben ausführen, werden viele Daten zum Ergebnis der Jobausführung generiert. Der Speicher, in dem die Ergebnisse der Ausführung dieses Jobs gespeichert sind, wird als *** Artefakt *** bezeichnet. Es mag etwas verwirrend sein, aber denken wir daran.
Tatsächlich können Sie mehrere Workflows erstellen, und es gibt eine Pipeline, um sie zusammenzustellen. Grundsätzlich kann CircleCI nur eine (.circleci / config.yml) für ein Projekt haben. Mit anderen Worten, es gibt nur eine Pipeline für ein Projekt. Dies ist das größte Konzept in der Datei, das den Workflow organisiert. * CircleCI wird übrigens neue Funktionen implementieren, die auf dem Konzept dieser Pipeline basieren.
ⅶ. Orbs Orbs ist ein Paket aus einer Reihe von Prozessen wie Schritten und Jobs, die an verschiedenen Orten verwendet werden können. Sie können Orbs selbst erstellen, aber Sie können die in CircleCI orb Registry veröffentlichten verwenden.
Dieser Artikel wird hier geschnitten. Im nächsten Artikel werde ich eine bestimmte Datei schreiben und einen automatisierten Test durchführen.
Grundsätzlich war es im Gegensatz zu Docker leicht, den allgemeinen Ablauf und die Rollen zu verstehen. Wenn es jedoch darum geht, in Zukunft Dateien zu schreiben, ist das ein bisschen schmerzhaft. Außerdem hat CircleCI einige Schwierigkeiten, da es nur wenige japanische Materialien gibt. Ich werde weiterhin mein Bestes geben.
[Buch] "Einführung in die CircleCI-Praxis ──Beide Entwicklungsgeschwindigkeit und -qualität von CI / CD Masato Urai (Autor), Tomoya Otake (Autor), Hirokuni Kim (Autor)"
【qiita】 "Ich habe gerade CircleCI gestartet und es daher leicht verständlich zusammengefasst"
Recommended Posts