introduzione
Strider CD è una piattaforma di distribuzione continua open source. L'applicazione è scritta in Node.js e utilizza MongoDB come back-end di archiviazione. Strider è supportato da molti plugin che aggiungono varie funzionalità all'applicazione.
Requisiti
- Nuova istanza di Vultr Ubuntu 18.04 con almeno 1 GB di RAM.
- Utente non root con privilegi sudo .
Assicurati che il tuo sistema sia aggiornato.
sudo apt-get update && sudo apt-get upgrade -y
Passaggio 1: installare Node.js e NPM
Nodesource fornisce file binari predefiniti per Node.js, che possono essere installati direttamente utilizzando il gestore pacchetti del sistema operativo. Configurare il repository Nodesource.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Installa Node.js.
sudo apt-get install -y nodejs
Node.js installa anche NPM insieme ad esso. Assicurarsi che Node.js e NPM siano stati installati correttamente.
strider@vultr:~$ node -v
v10.15.3
strider@vultr:~$ npm -v
6.4.1
Passaggio 2: installare Git e node-gyp
Git viene preinstallato nella maggior parte delle istanze di Vultr. Tuttavia, puoi assicurarti che sia installato e aggiornato.
sudo apt-get install -y git
Installa node-gyp
, che è uno strumento di compilazione del componente aggiuntivo nativo di Node.js.
sudo npm install -g node-gyp
Passaggio 3: installare MongoDB
Importa chiave GPG pubblica MongoDB per garantire l'installazione di pacchetti inalterati.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Aggiungi il file repository 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
Aggiorna la cache del repository di sistema e installa l'ultimo MongoDB.
sudo apt-get update
sudo apt-get install -y mongodb-org
Avviare MongoDB e abilitare l'avvio automatico all'avvio.
sudo systemctl start mongod
sudo systemctl enable mongod
Passaggio 4: impostare l'autenticazione MongoDB
Apri la shell MongoDB eseguendo il mongo
comando. Vedrai il seguente output.
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.
...
Passa al admin
database.
use admin
Crea un utente amministratore. Assicurati di sostituire nome utente admin
e password StrongPassword
con la tua scelta preferita.
db.createUser(
{
user: "admin",
pwd: "StrongPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
Esci dalla shell Mongo premendo CTRL+ C.
Apri il file di configurazione.
sudo nano /etc/mongod.conf
Trova la riga con la parola commentata #security:
e sostituiscila con il testo seguente.
security:
authorization: "enabled"
Salvare il file ed uscire dall'editor. Riavvia il server MongoDB.
sudo systemctl restart mongod
Passaggio 5: installare Strider
Clona il repository Strider da Github.
cd ~
git clone https://github.com/Strider-CD/strider.git
Installa le dipendenze Node.js.
cd ~/strider
npm install
Accedi nuovamente alla shell Mongo per creare un database per Strider.
mongo
Autentica la tua sessione Mongo con le credenziali che hai creato in precedenza.
use admin
db.auth("admin", "StrongPassword" )
Crea un nuovo utente del database per Strider e assegnalo al nome del database strider
. Assicurati di cambiare la password striderpw
nel comando seguente.
use strider
db.createUser({user: "strider", pwd: "striderpw", roles: [{role: "dbOwner", db: "strider"}]})
Esci dalla shell Mongo premendo CTRL+ C.
Crea un utente amministratore per Strider eseguendo il comando seguente.
DB_URI="mongodb://strider:striderpw@localhost:27017/strider" node bin/strider addUser
Fornire le informazioni richieste richieste dallo script. Ti verrà chiesto il tuo indirizzo e-mail e una nuova password.
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.
Passaggio 6: gestire il processo Node.js con PM2
Installa PM2 usando NPM.
sudo npm install pm2 -g
Crea un file di configurazione PM2 per la tua app Strider.
cd ~/strider && nano ecosystem.config.js
Popolare il file con la seguente configurazione. Assicurati di sostituire l'IP di esempio 203.0.113.1
con l'indirizzo IP effettivo dell'istanza 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"
}
}]
}
Avvia la tua applicazione.
pm2 start ecosystem.config.js
Per assicurarti che l'istanza di Strider si avvii automaticamente dopo il riavvio, esegui il comando seguente.
pm2 startup
Apri il tuo browser e vai http://203.0.113.1:3000
dove si 203.0.113.1
trova il tuo attuale indirizzo IP Vultr. Accedi utilizzando l'utente amministratore che hai creato per Stride.