Strider CD Installation auf Ubuntu 18.04
Strider CD ist eine kostenlose Open-Source-Plattform für kontinuierliche Bereitstellung. Sie wurde mit Node.js entwickelt und nutzt MongoDB als zentrales Datenspeichersystem. Durch zahlreiche Plugins lässt sich der Funktionsumfang von Strider flexibel erweitern.
Voraussetzungen
- Eine000000000000000000 Ubuntu 18.04-Installation mit mindestens 1 GB RAM
- Ein Benutzerkonto ohne Root-Rechte, jedoch mit sudo-Berechtigungen
- Das System sollte vollständig auf dem aktuellen Stand sein
Führe folgendes Kommando aus, um alle Pakete zu aktualisieren:
sudo apt-get update && sudo apt-get upgrade -y
Schritt 1: Installation von Node.js und NPM
Nodesource stellt vorkompilierte Binärdateien für Node.js bereit, die direkt über den Paketmanager installiert werden können. Füge zuerst das Nodesource-Repository hinzu:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Installiere anschließend Node.js mit folgendem Befehl:
sudo apt-get install -y nodejs
NPM wird automatisch mit Node.js installiert. Um sicherzustellen, dass beide korrekt installiert wurden, überprüfe die Versionsnummern:
strider@centron:~$ node -v
v10.15.3
strider@centron:~$ npm -v
6.4.1
Schritt 2: Installation von Git und node-gyp
Git ist auf den meisten Systemen in der Regel bereits vorinstalliert. Du kannst jedoch sicherstellen, dass es installiert und auf dem neuesten Stand ist, indem du folgenden Befehl ausführst:
sudo apt-get install -y git
Installiere anschließend node-gyp
, ein Tool zur Kompilierung nativer Node.js-Add-ons:
sudo npm install -g node-gyp
Schritt 3: MongoDB einrichten
Importiere zunächst den öffentlichen GPG-Schlüssel von MongoDB, um sicherzustellen, dass nur authentische Pakete installiert werden:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Füge dann das offizielle MongoDB-Repository zu deinen Paketquellen hinzu:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Aktualisiere nun die Paketliste und installiere MongoDB:
sudo apt-get update
sudo apt-get install -y mongodb-org
Starte anschließend den MongoDB-Dienst und richte ihn so ein, dass er beim Systemstart automatisch geladen wird:
sudo systemctl start mongod
sudo systemctl enable mongod
Schritt 4: MongoDB-Authentifizierung konfigurieren
Um die Authentifizierung für MongoDB zu aktivieren, öffne zunächst die MongoDB-Shell:
strider@centron:~/strider$ mongo
MongoDB shell version v4.0.8
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("a06b2797-6f58-43e1-8a41-c6401edb5083") }
MongoDB server version: 4.0.8
Welcome to the MongoDB shell.
...
Wechsle mit folgendem Befehl zur admin
-Datenbank:
use admin
Lege nun ein neues Administrator-Konto an. Ersetze dabei den Benutzernamen und das Passwort durch deine eigenen sicheren Zugangsdaten:
db.createUser(
{
user: "admin",
pwd: "StrongPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
Verlasse die MongoDB-Shell durch Drücken von Strg+C.
Öffne anschließend die MongoDB-Konfigurationsdatei mit einem Texteditor:
sudo nano /etc/mongod.conf
Suche in der Datei die auskommentierte Zeile #security:
und ersetze sie durch folgende Konfiguration, um die Autorisierung zu aktivieren:
security:
authorization: "enabled"
Speichere die Datei und beende den Editor. Starte den MongoDB-Dienst neu, damit die Änderungen übernommen werden:
sudo systemctl restart mongod
Schritt 5: Strider installieren
Um die Installation von Strider zu starten, klone zunächst das Repository von GitHub:
cd ~
git clone https://github.com/Strider-CD/strider.git
Wechsle in das neu erstellte Verzeichnis und installiere die erforderlichen Node.js-Abhängigkeiten:
cd ~/strider
npm install
Öffne erneut die MongoDB-Shell, um eine eigene Datenbank für Strider einzurichten:
mongo
Authentifiziere dich mit dem zuvor erstellten Admin-Zugang:
use admin
db.auth("admin", "StrongPassword" )
Lege einen neuen MongoDB-Benutzer für Strider an und weise ihn der strider
-Datenbank zu. Ersetze dabei das Passwort striderpw
durch ein sicheres Passwort:
use strider
db.createUser({user: "strider", pwd: "striderpw", roles: [{role: "dbOwner", db: "strider"}]})
Beende die MongoDB-Shell mit Strg+C.
Erstelle nun einen Administrator-Account für Strider, indem du folgenden Befehl ausführst. Passe die Zugangsdaten bei Bedarf an:
DB_URI="mongodb://strider:striderpw@localhost:27017/strider" node bin/strider addUser
Folge anschließend den Anweisungen des Scripts und gib E-Mail-Adresse sowie ein Passwort für den Administratorzugang ein:
strider@centron:~/strider$ DB_URI="mongodb://strider:striderpw@localhost:27017/strider" node bin/strider addUser
Connecting to MongoDB URL: mongodb://strider:striderpw@localhost:27017/strider
Enter email []: centron@example.com
Enter password []: ****
Is admin? (y/n) [n]y
Email: centron@example.com
Password: ****
isAdmin: y
OK? (y/n) [y]y
User created successfully! Enjoy.
Schritt 6: Strider mit PM2 verwalten
Um deine Node.js-Anwendung effizient zu betreiben, installiere PM2 global über NPM:
sudo npm install pm2 -g
Wechsle anschließend in das Strider-Verzeichnis und erstelle eine Konfigurationsdatei für PM2:
cd ~/strider && nano ecosystem.config.js
Füge nun die folgende Konfiguration in die Datei ein. Ersetze dabei die IP-Adresse 203.0.113.1
durch die tatsächliche IP-Adresse deines centron-Servers:
module.exports = {
apps : [{
name : "strider",
script : "npm",
args : "start",
env: {
"NODE_ENV": "production",
"DB_URI": "mongodb://strider:striderpw@localhost:27017/strider",
"SERVER_NAME": "http://203.0.113.1:3000",
"HOST": "0.0.0.0",
"PORT": "3000"
}
}]
}
Starte nun die Strider-Anwendung anhand der PM2-Konfiguration:
pm2 start ecosystem.config.js
Damit Strider bei jedem Systemstart automatisch mitgeladen wird, führe folgenden Befehl aus:
pm2 startup
Rufe nun in deinem Browser die URL http://203.0.113.1:3000
auf (die IP entsprechend deinem Server anpassen) und melde dich mit den zuvor eingerichteten Administrator-Zugangsdaten bei Strider an.
Fazit
Mit den Schritten aus dieser Anleitung hast du erfolgreich Strider CD auf einem Ubuntu-18.04-Server eingerichtet. Die Umgebung besteht aus Node.js, einer abgesicherten MongoDB-Datenbank sowie dem Prozessmanager PM2. So ist sichergestellt, dass deine kontinuierlichen Deployments zuverlässig und auch nach Neustarts stabil verfügbar bleiben. Du kannst jetzt mit der automatisierten Bereitstellung deiner Projekte auf Basis von Strider starten.