웹사이트 검색

Ubuntu 18.04 LTS에 Strider 지속적 통합 서버를 설치하는 방법


이 페이지에서

  1. 요구 사항\n
  2. 시작하기\n
  3. Node.js 설치
  4. MongoDB 설치 및 구성
  5. 스트라이더 설치
  6. PM2 설치 및 구성
  7. 액세스 스트라이더

Strider는 Node.JS, JavaScript로 작성된 무료 오픈 소스 지속적 통합 및 배포 서버이며 MongoDB를 사용하여 데이터를 저장합니다. Strider는 응용 프로그램에 다양한 기능을 추가하는 데 사용할 수 있는 많은 플러그인과 함께 제공됩니다.

이 튜토리얼에서는 Ubuntu 18.04 서버에 Strider를 설치하는 방법을 설명합니다.

요구 사항

  • Ubuntu 18.04를 실행하는 서버.\n
  • 서버에 루트 암호가 구성되어 있습니다.\n

시작하기

시작하기 전에 패키지를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 실행하여 모든 패키지를 업데이트할 수 있습니다.

apt-get update -y
apt-get upgrade -y

모든 패키지가 업데이트되면 시스템을 다시 시작하여 변경 사항을 적용하십시오.

다음으로 다음 명령을 사용하여 curl 및 git 패키지를 설치합니다.

apt-get install curl git -y

필요한 모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Node.js 설치

다음으로 Node.js 및 기타 필수 패키지를 서버에 설치해야 합니다.

기본적으로 Node.js는 Ubuntu 18.04 기본 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 Node.js 저장소를 추가해야 합니다. 다음 명령을 사용하여 저장소를 추가할 수 있습니다.

curl -sL https://deb.nodesource.com/setup_12.x | bash -

리포지토리가 추가되면 다음 명령을 사용하여 리포지토리를 업데이트하고 Node.js를 설치합니다.

apt-get install nodejs node-gyp -y

Node.js를 설치한 후 다음 명령을 사용하여 Node.js 및 NPM의 버전을 확인합니다.

node -v

다음 출력이 표시되어야 합니다.

v12.6.0
npm -v

다음 출력이 표시되어야 합니다.

6.9.0

MongoDB 설치 및 구성

Strider는 MongoDB를 백업 저장소로 사용합니다. 따라서 시스템에 MongoDB를 설치해야 합니다.

먼저 다음 명령을 사용하여 MongoDB용 GPG 공개 키를 가져옵니다.

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" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list

다음 출력이 표시되어야 합니다.

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 <>" imported
gpg: Total number processed: 1
gpg:               imported: 1

그런 다음 리포지토리를 업데이트하고 다음 명령을 사용하여 MongoDB를 설치합니다.

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

설치가 완료되면 MongoDB 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 후 시작되도록 활성화합니다.

systemctl start mongod
systemctl enable mongod

다음 명령을 사용하여 MongoDB 상태를 확인할 수도 있습니다.

systemctl status mongod

다음 출력이 표시되어야 합니다.

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

다음으로 인증을 위해 MongoDB를 설정해야 합니다.

이렇게 하려면 다음 명령을 사용하여 MongoDB 셸을 엽니다.

mongo

다음 출력이 표시되어야 합니다.

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()
---

그런 다음 데이터베이스를 admin으로 변경하고 다음 명령을 사용하여 관리 사용자를 만듭니다.

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

그런 다음 다음 명령을 사용하여 MongoDB 셸을 종료합니다.

> exit

그런 다음 MongoDB 구성 파일을 열고 다음 명령을 사용하여 인증을 활성화합니다.

nano /etc/mongod.conf

다음과 같이 변경합니다.

security:
  authorization: enabled

파일을 저장하고 닫습니다. 그런 다음 MongoDB 서비스를 다시 시작하여 다음 명령으로 구성 변경 사항을 적용합니다.

systemctl restart mongod

스트라이더 설치

먼저 다음 명령을 사용하여 최신 버전의 Strider를 다운로드합니다.

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

다음으로 다음 명령을 사용하여 필수 종속 항목을 설치합니다.

cd strider
npm install

다음으로 새 스트라이더 사용자를 생성하고 데이터베이스 스트라이더에 할당해야 합니다.

이렇게 하려면 다음 명령을 사용하여 MongoDB 셸을 엽니다.

mongo

다음으로 관리 사용자로 MongoDB 세션을 인증합니다.

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

다음으로 데이터베이스 사용자를 생성하고 데이터베이스 이름 strider에 할당합니다.

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

그런 다음 MongoDB 셸을 종료하고 다음 명령을 사용하여 Strider의 관리 사용자를 만듭니다.

cd /opt/strider
DB_URI="mongodb://strider::27017/strider" node bin/strider addUser

아래와 같이 필요한 모든 정보를 제공하십시오.

Connecting to MongoDB URL: mongodb://strider::27017/strider

Enter email []: 
Enter password []: ****
Is admin? (y/n) [n]y

Email:        
Password:    admin
isAdmin:    y
OK? (y/n) [y]y
User created successfully! Enjoy.

PM2 설치 및 구성

다음으로 Node.js 프로세스를 관리하려면 PM2를 설치해야 합니다. 먼저 아래와 같이 npm으로 PM2를 설치합니다.

npm install pm2 -g

다음으로 다음 명령을 사용하여 PM2에 대한 새 구성 파일을 만듭니다.

cd /opt/strider
nano ecosystem.config.js

다음 줄을 추가합니다.

module.exports = {
  apps : [{
    name   : "strider",
    script : "npm",
    args : "start",
    env: {
      "NODE_ENV": "production",
      "DB_URI": "mongodb://strider::27017/strider",
      "SERVER_NAME": "http://your-server-ip:3000",
      "HOST": "0.0.0.0",
      "PORT": "3000"
    }
  }]
}

완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 애플리케이션을 시작합니다.

pm2 start ecosystem.config.js

다음 출력이 표시되어야 합니다.

                        -------------

__/""""\____/"\____________/"\____/"""_____
 _\/"/////////"_\/""________/""__/"///////"___
  _\/"_______\/"_\/"//"____/"//"_\///______\//"__
   _\/""""\/__\/"\///"/"/_\/"___________/"/___
    _\/"/////////____\/"__\///"/___\/"________/"//_____
     _\/"_____________\/"____\///_____\/"_____/"//________
      _\/"_____________\/"_____________\/"___/"/___________
       _\/"_____________\/"_____________\/"__/"""""_
        _\///______________\///______________\///__\///////////////__


                          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

다음으로 다음 명령을 사용하여 시스템 재부팅 후 PM2가 자동으로 시작되도록 활성화합니다.

pm2 startup

완료되면 다음 단계로 진행할 수 있습니다.

액세스 스트라이더

이제 Strider가 설치 및 구성되었으며 웹 브라우저에서 Strider에 액세스할 시간입니다.

웹 브라우저를 열고 URL http://your-server-ip:3000을 입력합니다. 아래와 같이 Strider 로그인 페이지로 리디렉션됩니다.

이제 이전에 생성한 관리자 사용자 이름과 비밀번호를 제공하고 로그인 버튼을 클릭합니다. 로그인에 성공하면 다음 페이지가 표시됩니다.

축하합니다! Ubuntu 18.04 서버에 Strider를 성공적으로 설치하고 구성했습니다. 궁금한 점이 있으면 언제든지 문의해 주세요. 자세한 내용은 Strider Doc의 공식 문서를 참조하세요.