Introducere
Strider CD este o platforma de implementare continua a surselor deschise. Aplicația este scrisă în Node.js și folosește MongoDB ca backend de stocare. Strider este susținut de multe plugin-uri care adaugă diferite caracteristici aplicației.
cerinţe
	- Instanță Fresh Vultr Ubuntu 18.04 cu cel puțin 1 GB RAM.
- Utilizator non-root cu privilegii sudo .
Asigurați-vă că sistemul dvs. este actualizat.
sudo apt-get update && sudo apt-get upgrade -y
Pasul 1: Instalează Node.js și NPM
Nodesource oferă binare pre-construite pentru Node.js, care pot fi instalate direct folosind managerul de pachete OS. Configurați depozitul Nodesource.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Instalează Node.js.
sudo apt-get install -y nodejs
Node.js instalează de asemenea NPM împreună cu acesta. Asigurați-vă că Node.js și NPM s-au instalat cu succes.
strider@vultr:~$ node -v
v10.15.3
strider@vultr:~$ npm -v
6.4.1
Pasul 2: Instalați Git și nodul-gyp
Git vine preinstalat în majoritatea instanțelor Vultr. Cu toate acestea, vă puteți asigura că este instalat și actualizat.
sudo apt-get install -y git
Instalați node-gyp, care este un instrument nativ.js suplimentar de construire.
sudo npm install -g node-gyp
Pasul 3: Instalează MongoDB
Importați cheia GPG publică MongoDB pentru a asigura instalarea pachetelor nealterate.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Adăugați fișierul de depozit MongoDB.
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
Actualizați memoria cache a depozitului de sistem și instalați cel mai recent MongoDB.
sudo apt-get update
sudo apt-get install -y mongodb-org
Porniți MongoDB și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl start mongod
sudo systemctl enable mongod
Pasul 4: Configurați autentificarea MongoDB
Deschideți shell-ul MongoDB rulând mongocomanda. Veți vedea următoarea ieșire.
strider@vultr:~/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.
...
Comutați la adminbaza de date.
use admin
Creați un utilizator admin. Asigurați-vă că înlocuiți numele de utilizator adminși parola StrongPasswordcu alegerea preferată.
db.createUser(
  {
    user: "admin",
    pwd: "StrongPassword",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)
Ieșiți coaja Mongo apăsând CTRL+ C.
Deschideți fișierul de configurare.
sudo nano /etc/mongod.conf
Găsiți linia cu cuvântul comentat #security:și înlocuiți-l cu următorul text.
security:
  authorization: "enabled"
Salvați fișierul și ieșiți din editor. Reporniți serverul MongoDB.
sudo systemctl restart mongod
Pasul 5: Instalați Strider
Clonează depozitul Strider de la Github.
cd ~
git clone https://github.com/Strider-CD/strider.git
Instalați dependențele Node.js.
cd ~/strider
npm install
Conectați-vă încă o dată la shell-ul Mongo pentru a crea o bază de date pentru Strider.
mongo
Autentificați-vă sesiunea Mongo cu datele de autentificare create anterior.
use admin
db.auth("admin", "StrongPassword" )
Creați un nou utilizator de bază de date pentru Strider și atribuiți-l numelui bazei de date strider. Asigurați-vă că modificați parola striderpwdin comanda de mai jos.
use strider
db.createUser({user: "strider", pwd: "striderpw", roles: [{role: "dbOwner", db: "strider"}]})
Ieșiți coaja Mongo apăsând CTRL+ C.
Creați un utilizator de administrator pentru Strider rulând următoarea comandă.
DB_URI="mongodb://strider:striderpw@localhost:27017/strider" node bin/strider addUser
Furnizați informațiile necesare cerute de script. Vi se va solicita adresa de e-mail și o nouă parolă.
strider@vultr:~/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 []: [email protected]
Enter password []: ****
Is admin? (y/n) [n]y
Email:        [email protected]
Password:    ****
isAdmin:    y
OK? (y/n) [y]y
User created successfully! Enjoy.
Pasul 6: Gestionare proces Node.js cu PM2
Instalați PM2 folosind NPM.
sudo npm install pm2 -g
Creați un fișier de configurare PM2 pentru aplicația dvs. Strider.
cd ~/strider && nano ecosystem.config.js
Populați fișierul cu următoarea configurație. Asigurați-vă că înlocuiți exemplul IP 203.0.113.1cu adresa IP reală a instanței dvs. Vultr.
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"
    }
  }]
}
Porniți aplicația.
pm2 start ecosystem.config.js
Pentru a vă asigura că instanța dvs. Strider începe automat după repornire, executați următoarea comandă.
pm2 startup
Deschideți browserul și navigați până http://203.0.113.1:3000unde 203.0.113.1este adresa dvs. IP reală Vultr. Autentificați-vă utilizând administratorul pe care l-ați creat pentru Stride.