introduction
Strider CD est une plateforme de déploiement continu open source. L'application est écrite dans Node.js et utilise MongoDB comme backend de stockage. Strider est soutenu par de nombreux plugins qui ajoutent diverses fonctionnalités à l'application.
Exigences
- Nouvelle instance Vultr Ubuntu 18.04 avec au moins 1 Go de RAM.
- Utilisateur non root avec les privilèges sudo .
Assurez-vous que votre système est à jour.
sudo apt-get update && sudo apt-get upgrade -y
Étape 1: installer Node.js et NPM
Nodesource fournit des fichiers binaires prédéfinis pour Node.js, qui peuvent être installés directement à l'aide du gestionnaire de packages du système d'exploitation. Configurez le référentiel Nodesource.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Installez Node.js.
sudo apt-get install -y nodejs
Node.js installe également NPM avec lui. Assurez-vous que Node.js et NPM ont été installés avec succès.
strider@vultr:~$ node -v
v10.15.3
strider@vultr:~$ npm -v
6.4.1
Étape 2: installer Git et node-gyp
Git est préinstallé dans la plupart des instances Vultr. Cependant, vous pouvez vous assurer qu'il est installé et mis à jour.
sudo apt-get install -y git
Install node-gyp
, qui est un outil de construction de module complémentaire natif Node.js.
sudo npm install -g node-gyp
Étape 3: installer MongoDB
Importez la clé GPG publique de MongoDB pour vous assurer que les packages non modifiés sont installés.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Ajoutez le fichier de référentiel 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
Mettez à jour le cache du référentiel système et installez la dernière version de MongoDB.
sudo apt-get update
sudo apt-get install -y mongodb-org
Démarrez MongoDB et activez-le pour démarrer automatiquement au démarrage.
sudo systemctl start mongod
sudo systemctl enable mongod
Étape 4: Configurer l'authentification MongoDB
Ouvrez le shell MongoDB en exécutant la mongo
commande. Vous verrez la sortie suivante.
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.
...
Basculez vers la admin
base de données.
use admin
Créez un utilisateur administrateur. Assurez-vous de remplacer le nom d'utilisateur admin
et le mot StrongPassword
de passe par votre choix préféré.
db.createUser(
{
user: "admin",
pwd: "StrongPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
Quittez le shell Mongo en appuyant sur CTRL+ C.
Ouvrez le fichier de configuration.
sudo nano /etc/mongod.conf
Trouvez la ligne avec le mot commenté #security:
et remplacez-la par le texte suivant.
security:
authorization: "enabled"
Enregistrez le fichier et quittez l'éditeur. Redémarrez le serveur MongoDB.
sudo systemctl restart mongod
Étape 5: installer Strider
Clonez le référentiel Strider de Github.
cd ~
git clone https://github.com/Strider-CD/strider.git
Installez les dépendances Node.js.
cd ~/strider
npm install
Connectez-vous à nouveau au shell Mongo pour créer une base de données pour Strider.
mongo
Authentifiez votre session Mongo avec les informations d'identification que vous avez créées précédemment.
use admin
db.auth("admin", "StrongPassword" )
Créez un nouvel utilisateur de base de données pour Strider et affectez-le au nom de la base de données strider
. Assurez-vous de changer le mot striderpw
de passe dans la commande ci-dessous.
use strider
db.createUser({user: "strider", pwd: "striderpw", roles: [{role: "dbOwner", db: "strider"}]})
Quittez le shell Mongo en appuyant sur CTRL+ C.
Créez un utilisateur administrateur pour Strider en exécutant la commande suivante.
DB_URI="mongodb://strider:striderpw@localhost:27017/strider" node bin/strider addUser
Fournissez les informations requises demandées par le script. Il vous sera demandé votre adresse e-mail et un nouveau mot de passe.
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.
Étape 6: gérer le processus Node.js avec PM2
Installez PM2 à l'aide de NPM.
sudo npm install pm2 -g
Créez un fichier de configuration PM2 pour votre application Strider.
cd ~/strider && nano ecosystem.config.js
Remplissez le fichier avec la configuration suivante. Assurez-vous de remplacer l'exemple IP 203.0.113.1
par l'adresse IP réelle de votre instance 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"
}
}]
}
Démarrez votre candidature.
pm2 start ecosystem.config.js
Pour vous assurer que votre instance Strider démarre automatiquement après le redémarrage, exécutez la commande suivante.
pm2 startup
Ouvrez votre navigateur et accédez à l' http://203.0.113.1:3000
emplacement de 203.0.113.1
votre adresse IP Vultr réelle. Connectez-vous en utilisant l'utilisateur administrateur que vous avez créé pour Stride.