Strider es un servidor de implementación e integración continua gratuito y de código abierto escrito en Node.JS, JavaScript y utiliza MongoDB para almacenar sus datos. Strider viene con muchos complementos que se pueden usar para agregar varias funciones a la aplicación.
En este tutorial, explicaremos cómo instalar Strider en el servidor Ubuntu 18.04.
Requisitos
- Un servidor con Ubuntu 18.04.
- Se ha configurado una contraseña raíz en su servidor.
Cómo empezar
Antes de comenzar, se recomienda actualizar sus paquetes a la última versión. Puede actualizar todos los paquetes ejecutando el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez que todos los paquetes estén actualizados, reinicie su sistema para aplicar los cambios.
A continuación, instale el paquete curl y git con el siguiente comando:
apt-get install curl git -y
Una vez que todos los paquetes requeridos estén instalados, puede continuar con el siguiente paso.
Instalar Node.js
A continuación, deberá instalar Node.js y otros paquetes necesarios en su servidor.
De forma predeterminada, Node.js no está disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, deberá agregar el repositorio Node.js a su sistema. Puede agregar el repositorio con el siguiente comando:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Una vez que se agrega el repositorio, actualice el repositorio e instale Node.js con el siguiente comando:
apt-get install nodejs node-gyp -y
Después de instalar Node.js, verifique la versión de Node.js y NPM con el siguiente comando:
node -v
Debería ver el siguiente resultado:
v12.6.0
npm -v
Debería ver el siguiente resultado:
6.9.0
Instalar y configurar MongoDB
Strider usa MongoDB como una tienda de respaldo. Por lo tanto, deberá instalar MongoDB en su sistema.
Primero, importe la clave pública GPG para MongoDB con el siguiente comando:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
A continuación, agregue el repositorio de MongoDB con el siguiente comando:
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
Debería ver el siguiente resultado:
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
A continuación, actualice el repositorio e instale MongoDB con el siguiente comando:
apt-get update -y
apt-get install mongodb-org -y
Una vez que se haya completado la instalación, inicie el servicio MongoDB y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl start mongod
systemctl enable mongod
También puede verificar el estado de MongoDB con el siguiente comando:
systemctl status mongod
Debería ver el siguiente resultado:
? 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.
A continuación, deberá configurar MongoDB para la autenticación.
Para hacerlo, abra el shell de MongoDB con el siguiente comando:
mongo
Debería ver el siguiente resultado:
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() ---
A continuación, cambie la base de datos a administrador y cree un usuario administrador con el siguiente comando:
>use admin
db.createUser( { user: "admin", pwd: "adminpassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )
A continuación, salga del shell de MongoDB con el siguiente comando:
> exit
A continuación, abra el archivo de configuración de MongoDB y habilite la autenticación con el siguiente comando:
nano /etc/mongod.conf
Realice los siguientes cambios:
security: authorization: enabled
Guarde y cierre el archivo. Luego, reinicie el servicio MongoDB para aplicar los cambios de configuración con el siguiente comando:
systemctl restart mongod
Instalar Strider
Primero, descarga la última versión de Strider con el siguiente comando:
cd /opt
git clone https://github.com/Strider-CD/strider.git
Luego, instale las dependencias requeridas con el siguiente comando:
cd strider
npm install
A continuación, deberá crear un nuevo usuario strider y asignarlo a la base de datos strider.
Para hacerlo, abra el shell de MongoDB con el siguiente comando:
mongo
A continuación, autentique su sesión de MongoDB con el usuario administrador:
use admin
db.auth("admin", "adminpassword" )
A continuación, cree un usuario de la base de datos y asígnelo al nombre de la base de datos strider:
use strider
db.createUser({user: "strider", pwd: "password", roles: [{role: "dbOwner", db: "strider"}]})
A continuación, salga del shell de MongoDB y cree un usuario administrador para Strider con el siguiente comando:
cd /opt/strider
DB_URI="mongodb://strider:[email protected]:27017/strider" node bin/strider addUser
Proporcione toda la información requerida como se muestra a continuación:
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.
Instalar y configurar PM2
A continuación, deberá instalar PM2 para administrar el proceso de Node.js. Primero, instale PM2 con npm como se muestra a continuación:
npm install pm2 -g
A continuación, cree un nuevo archivo de configuración para PM2 con el siguiente comando:
cd /opt/strider
nano ecosystem.config.js
Agregue las siguientes líneas:
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" } }] }
Guarde y cierre el archivo cuando haya terminado. Luego, inicie la aplicación con el siguiente comando:
pm2 start ecosystem.config.js
Debería ver el siguiente resultado:
------------- __/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____ _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___ _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__ _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___ _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____ _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________ _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________ _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_ _\///______________\///______________\///__\///////////////__ 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
A continuación, habilite PM2 para que se inicie automáticamente después de reiniciar el sistema con el siguiente comando:
pm2 startup
Una vez que haya terminado, puede continuar con el siguiente paso.
Acceso a Strider
Strider ahora está instalado y configurado, es hora de acceder a Strider desde el navegador web.
Abra su navegador web y escriba la URL http://your-server-ip:3000. Se le redirigirá a la página de inicio de sesión de Strider como se muestra a continuación:
Ahora, proporcione su nombre de usuario y contraseña de administrador que creó anteriormente y haga clic en Iniciar sesión botón. Después de iniciar sesión correctamente, debería ver la siguiente página:
¡Felicidades! ha instalado y configurado correctamente Strider en el servidor Ubuntu 18.04. No dude en preguntarme si tiene alguna pregunta. Para obtener más información, puede visitar la documentación oficial en Strider Doc