如何在Ubuntu 18.04上安装Strider CD

介绍

Strider CD是一个开源的持续部署平台。该应用程序使用Node.js编写,并使用MongoDB作为存储后端。Strider有许多插件为后盾,这些插件可为应用程序添加各种功能。

要求

  • 至少具有1 GB RAM的新鲜Vultr Ubuntu 18.04实例。
  • 具有sudo特权的非root用户。

确保您的系统是最新的。

sudo apt-get update && sudo apt-get upgrade -y

步骤1:安装Node.js和NPM

Nodesource为Node.js提供了预构建的二进制文件,可以使用OS软件包管理器直接安装二进制文件。配置Nodesource存储库。

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

安装Node.js。

sudo apt-get install -y nodejs

Node.js还将与它一起安装NPM。确保已成功安装Node.js和NPM。

strider@vultr:~$ node -v
v10.15.3
strider@vultr:~$ npm -v
6.4.1

步骤2:安装Git和node-gyp

大多数Vultr实例中都预装了Git。但是,您可以确保已安装和更新它。

sudo apt-get install -y git

安装node-gyp,这是Node.js本机附加组件构建工具。

sudo npm install -g node-gyp

步骤3:安装MongoDB

导入MongoDB公共GPG密钥,以确保安装了未更改的软件包。

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

添加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

更新系统存储库缓存并安装最新的MongoDB。

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

启动MongoDB并使它能够在启动时自动启动。

sudo systemctl start mongod
sudo systemctl enable mongod

步骤4:设置MongoDB身份验证

通过运行mongo命令打开MongoDB Shell 。您将看到以下输出。

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.
...

切换到admin数据库。

use admin

创建一个管理员用户。确保用您的首选替换用户名admin和密码StrongPassword

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

CTRL+ 退出Mongo shell C

打开配置文件。

sudo nano /etc/mongod.conf

找到带有注释单词的行,#security:然后将其替换为以下文本。

security:
  authorization: "enabled"

保存文件并退出编辑器。重新启动MongoDB服务器。

sudo systemctl restart mongod

步骤5:安装Strider

从Github克隆Strider存储库。

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

安装Node.js依赖项。

cd ~/strider
npm install

再次登录到Mongo Shell,以为Strider创建数据库。

mongo

使用您先前创建的凭据对Mongo会话进行身份验证。

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

为Strider创建一个新的数据库用户,并将其分配给数据库名称strider。确保striderpw在下面的命令中更改密码。

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

CTRL+ 退出Mongo shell C

通过运行以下命令为Strider创建管理员用户。

DB_URI="mongodb://strider:striderpw@localhost:27017/strider" node bin/strider addUser

提供脚本要求的必要信息。系统将要求您提供电子邮件地址和新密码。

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 []: vultr@example.com
Enter password []: ****
Is admin? (y/n) [n]y

Email:        vultr@example.com
Password:    ****
isAdmin:    y
OK? (y/n) [y]y
User created successfully! Enjoy.

步骤6:使用PM2管理Node.js流程

使用NPM安装PM2。

sudo npm install pm2 -g

为您的Strider应用程序创建一个PM2配置文件。

cd ~/strider && nano ecosystem.config.js

使用以下配置填充文件。确保将示例IP替换为203.0.113.1Vultr实例的实际IP地址。

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"
    }
  }]
}

启动您的应用程序。

pm2 start ecosystem.config.js

要确保Strider实例在重新启动后自动启动,请运行以下命令。

pm2 startup

打开浏览器,然后导航到实际的Vultr IP地址http://203.0.113.1:3000在哪里203.0.113.1。使用您为Stride创建的管理员用户登录。



Leave a Comment

使用Chef-solo在Ubuntu上配置Django应用

使用Chef-solo在Ubuntu上配置Django应用

有许多方法可以自动化设置和配置盒子的过程。无论出于何种原因,如果此时我们的整个系统仅包含

如何在Ubuntu 16.04 LTS上安装Foreman

如何在Ubuntu 16.04 LTS上安装Foreman

使用其他系统?Foreman是一个免费的开源工具,可以帮助您配置和管理物理和虚拟服务器。气孔

Ubuntu 17.04上的SaltStack入门

Ubuntu 17.04上的SaltStack入门

SaltStack是基于python的配置管理程序,针对配置文件,部署和其他未定义的自动化进行了优化

如何在CentOS 7上安装Foreman

如何在CentOS 7上安装Foreman

使用其他系统?Foreman是一个免费的开源工具,可以帮助您配置和管理物理和虚拟服务器。气孔

Vultr负载均衡器

Vultr负载均衡器

什么是负载均衡器负载均衡器位于应用程序的前面,可在应用程序的多个实例之间分配传入流量。佛

在Windows上使用Chocolatey Package Manager

在Windows上使用Chocolatey Package Manager

简介Chocolatey将软件包管理引入了Windows,从而使Linux上的软件和依赖项管理变得容易。您可以快速而轻松

如何在Ubuntu 16.04上安装和配置Concourse CI

如何在Ubuntu 16.04上安装和配置Concourse CI

使用其他系统?简介持续集成是一种DevOps软件开发实践,使开发人员能够频繁合并。

如何在Ubuntu 18.04上安装Drone CI

如何在Ubuntu 18.04上安装Drone CI

简介Drone是一个自动化,连续的测试和交付平台,可在您自己的基础架构上运行。无人机支持任何语言,服务或

如何在CentOS 7上安装和配置Concourse CI

如何在CentOS 7上安装和配置Concourse CI

使用其他系统?简介持续集成是一种DevOps软件开发实践,使开发人员能够频繁合并。

如何在Debian 9上安装和配置Ansible以用于Windows Server

如何在Debian 9上安装和配置Ansible以用于Windows Server

使用其他系统?Ansible是用于自动化任务的开源工具。它管理Linux和Windows服务器的配置。这行得通

如何在CentOS 7上安装和配置Ansible以用于Windows Server

如何在CentOS 7上安装和配置Ansible以用于Windows Server

使用其他系统?Ansible是用于自动化任务的开源工具。它管理Linux和Windows服务器的配置。这行得通

如何在CentOS 7上安装SaltStack

如何在CentOS 7上安装SaltStack

SaltStack或Salt是一种流行的开源配置管理解决方案,可用于实施远程执行,配置管理,编码

如何在CentOS 7上安装和配置GoCD

如何在CentOS 7上安装和配置GoCD

使用其他系统?GoCD是一个开源的持续交付和自动化系统。它允许您使用其并行的

在Ubuntu 17.04上将SaltStack与支柱配合使用

在Ubuntu 17.04上将SaltStack与支柱配合使用

SaltStack是可在多个服务器上同时运行操作的出色工具,但它还支持按主机定义的配置预设,这些预设存储在服务器中。

使用Packer创建快照

使用Packer创建快照

什么是Packer?Packer是HashiCorp开发的服务器映像工具。服务器映像;或者,不变的基础设施;是一个受欢迎的替代

如何在CentOS 7上安装Jenkins

如何在CentOS 7上安装Jenkins

Jenkins是一种流行的开源CI(连续集成)工具,广泛用于项目开发,部署和自动化。这篇文章将

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息