So installieren Sie den Strider Continuous Integration Server auf Ubuntu 18.04 LTS

Strider ist ein freier und quelloffener Continuous Integration & Deployment Server, der in Node.JS, JavaScript geschrieben ist und MongoDB zur Speicherung ihrer Daten verwendet. Strider wird mit vielen Plugins ausgeliefert, mit denen verschiedene Funktionen der Anwendung hinzugefügt werden können.

In diesem Tutorial wird erklärt, wie man Strider auf einem Ubuntu 18.04 Server installiert.

Anforderungen

  • Ein Server mit Ubuntu 18.04.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Die ersten Schritte

Es wird empfohlen, vor dem Start Ihre Pakete auf die neueste Version zu aktualisieren. Sie können alle Pakete aktualisieren, indem Sie den folgenden Befehl ausführen:

apt-get update -y
 apt-get upgrade -y

Sobald alle Pakete aktualisiert sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen.

Als nächstes installieren Sie das curl and git Paket mit dem folgenden Befehl:

apt-get install curl git -y

Sobald alle erforderlichen Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Node.js installieren

Als nächstes müssen Sie Node.js und andere erforderliche Pakete auf Ihrem Server installieren.

Standardmäßig ist Node.js nicht im Standard-Repository von Ubuntu 18.04 verfügbar. Sie müssen also das Node.js-Repository zu Ihrem System hinzufügen. Sie können das Repository mit dem folgenden Befehl hinzufügen:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Sobald das Repository hinzugefügt ist, aktualisieren Sie das Repository und installieren Sie Node.js mit dem folgenden Befehl:

apt-get install nodejs node-gyp -y

Nach der Installation von Node.js überprüfen Sie die Version von Node.js und NPM mit dem folgenden Befehl:

node -v

Sie sollten die folgende Ausgabe sehen:

v12.6.0
npm -v

Sie sollten die folgende Ausgabe sehen:

6.9.0

Installieren und Konfigurieren von MongoDB

Strider benutzt MongoDB als Backing Store. Sie müssen also MongoDB auf Ihrem System installieren.

Zuerst importieren Sie den öffentlichen GPG-Schlüssel für MongoDB mit folgendem Befehl:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Als nächstes fügen Sie das MongoDB-Repository mit dem folgenden Befehl hinzu:

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Sie sollten die folgende Ausgabe sehen:

Executing: /tmp/apt-key-gpghome.mmTr2ifzC1/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
gpg: key 68818C72E52529D4: public key "MongoDB 4.0 Release Signing Key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Als nächstes aktualisieren Sie das Repository und installieren MongoDB mit dem folgenden Befehl:

apt-get update -y
 apt-get install mongodb-org -y

Nachdem die Installation abgeschlossen ist, starten Sie den MongoDB-Dienst und aktivieren Sie ihn nach dem Neustart des Systems mit dem folgenden Befehl:

systemctl start mongod
 systemctl enable mongod

Sie können den MongoDB-Status auch mit dem folgenden Befehl überprüfen:

systemctl status mongod

Sie sollten die folgende Ausgabe sehen:

? mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-07-13 05:24:41 UTC; 5s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 13619 (mongod)
   CGroup: /system.slice/mongod.service
           ??13619 /usr/bin/mongod --config /etc/mongod.conf

Jul 13 05:24:41 ubuntu1804 systemd[1]: Started MongoDB Database Server.

Als nächstes müssen Sie MongoDB für die Authentifizierung einrichten.

Öffnen Sie dazu die MongoDB-Shell mit dem folgenden Befehl:

mongo

Sie sollten die folgende Ausgabe sehen:

MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e3edd538-03c4-469a-8c8c-227a16d214d0") }
MongoDB server version: 4.0.10
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2019-07-13T05:24:46.255+0000 I STORAGE  [initandlisten] 
2019-07-13T05:24:46.255+0000 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-07-13T05:24:46.256+0000 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-07-13T05:24:48.774+0000 I CONTROL  [initandlisten] 
2019-07-13T05:24:48.774+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-07-13T05:24:48.774+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-07-13T05:24:48.775+0000 I CONTROL  [initandlisten] 
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

Als nächstes ändern Sie die Datenbank auf admin und legen mit folgendem Befehl einen admin-Benutzer an:

>use admin
db.createUser( { user: "admin", pwd: "adminpassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )

Als nächstes verlassen Sie die MongoDB-Shell mit folgendem Befehl:

> exit

Als nächstes öffnen Sie die Konfigurationsdatei MongoDB und aktivieren Sie die Authentifizierung mit folgendem Befehl:

nano /etc/mongod.conf

Nehmen Sie die folgenden Änderungen vor:

security:
  authorization: enabled

Speichern und schließen Sie die Datei. Starten Sie dann den MongoDB-Dienst neu, um die Konfigurationsänderungen mit dem folgenden Befehl zu übernehmen:

systemctl restart mongod

Strider installieren

Laden Sie zunächst die neueste Version von Strider mit folgendem Befehl herunter:

cd /opt
 git clone https://github.com/Strider-CD/strider.git

Als nächstes installieren Sie die erforderlichen Abhängigkeiten mit dem folgenden Befehl:

cd strider
 npm install

Als nächstes müssen Sie einen neuen Strider-Benutzer anlegen und ihn der Datenbank strider zuweisen.

Öffnen Sie dazu die MongoDB-Shell mit dem folgenden Befehl:

mongo

Als nächstes authentifizieren Sie Ihre MongoDB-Sitzung mit dem Admin-Benutzer:

use admin
 db.auth("admin", "adminpassword" )

Als nächstes legen Sie einen Datenbankbenutzer an und weisen ihn dem Datenbanknamen strider zu:

use strider
 db.createUser({user: "strider", pwd: "password", roles: [{role: "dbOwner", db: "strider"}]})

Als nächstes beenden Sie die MongoDB-Shell und erstellen einen Admin-Benutzer für Strider mit folgendem Befehl:

cd /opt/strider
 DB_URI="mongodb://strider:[email protected]:27017/strider" node bin/strider addUser

Geben Sie alle erforderlichen Informationen wie unten dargestellt an:

Connecting to MongoDB URL: mongodb://strider:[email protected]:27017/strider

Enter email []: [email protected]
Enter password []: ****
Is admin? (y/n) [n]y

Email:        [email protected]
Password:    admin
isAdmin:    y
OK? (y/n) [y]y
User created successfully! Enjoy.

Installieren und Konfigurieren des PM2

Als nächstes müssen Sie PM2 installieren, um den Node.js-Prozess zu verwalten. Installieren Sie zunächst die PM2 mit npm wie unten gezeigt:

npm install pm2 -g

Als nächstes erstellen Sie eine neue Konfigurationsdatei für das PM2 mit dem folgenden Befehl:

cd /opt/strider
 nano ecosystem.config.js

Fügen Sie die folgenden Zeilen hinzu:

module.exports = {
  apps : [{
    name   : "strider",
    script : "npm",
    args : "start",
    env: {
      "NODE_ENV": "production",
      "DB_URI": "mongodb://strider:[email protected]:27017/strider",
      "SERVER_NAME": "http://your-server-ip:3000",
      "HOST": "0.0.0.0",
      "PORT": "3000"
    }
  }]
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Dann starten Sie die Anwendung mit dem folgenden Befehl:

pm2 start ecosystem.config.js

Sie sollten die folgende Ausgabe sehen:

                        -------------

__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
 _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
  _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
   _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
    _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
     _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
      _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
       _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
        _\///______________\///______________\///__\///////////////__


                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


                        -------------

[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications strider not running, starting...
[PM2] App [strider] launched (1 instances)
??????????????????????????????????????????????????????????????????????????????????????????????????????????
? App name ? id ? version ? mode ? pid   ? status ? restart ? uptime ? cpu ? mem       ? user ? watching ?
??????????????????????????????????????????????????????????????????????????????????????????????????????????
? strider  ? 0  ? N/A     ? fork ? 21502 ? online ? 0       ? 0s     ? 0%  ? 25.6 MB   ? root ? disabled ?
??????????????????????????????????????????????????????????????????????????????????????????????????????????
 Use `pm2 show <id|name>` to get more details about an app

Als nächstes aktivieren Sie den PM2 nach dem Neustart des Systems mit folgendem Befehl automatisch zu starten:

pm2 startup

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugang Strider

Strider ist nun installiert und konfiguriert, es ist Zeit, auf Strider vom Webbrowser aus zuzugreifen.

Öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip:3000 ein. Sie werden auf die Strider-Anmeldeseite weitergeleitet, wie unten dargestellt:

Strider Login

Geben Sie nun Ihren Admin-Benutzernamen und Ihr Passwort ein, das Sie zuvor erstellt haben, und klicken Sie auf die Schaltfläche Login. Nach erfolgreicher Anmeldung sollten Sie die folgende Seite sehen:

Strider-Projekt konfigurieren

Herzlichen Glückwunsch! Sie haben Strider erfolgreich auf dem Ubuntu 18.04 Server installiert und konfiguriert. Wenn Sie Fragen haben, können Sie mich gerne fragen. Für weitere Informationen können Sie die offizielle Dokumentation unter Strider Doc

Das könnte dich auch interessieren …