en
지원하는 언어
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI 번역
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

버전 11로 업그레이드

개요

이 가이드는 서버 관리자. 클라우드 사용자는 긴장을 풀고 발을 딛고 이러한 모든 작업을 당사에 맡길 수 있습니다.

버전 11은 이전 버전에 비해 상당한 기술적 도약입니다. 이 버전으로 업그레이드하려면 혼란을 피하기 위해 일반 업그레이드보다 약간 더 준비해야 합니다. 원활한 전환을 위해 이 가이드 체크리스트를 고려하십시오.

기술 스택의 가장 중요한 변경 사항은 릴리즈 노트. 또한 중요한 기능 변경 사항 및 플러그인 정보가 포함되어 있습니다. 아직 읽지 않았다면 먼저 읽어보십시오.

구출에 쉬운 가상 머신!

다음 사항 중 일부는 여러분에게 적용될 수 있으며, 여러분이 기꺼이 견디고자 하는 것보다 더 많은 노력을 기울이는 것처럼 보일 수 있습니다. 이러한 경우에는 완전히 설치된 응용 프로그램을 다운로드할 수 있는 쉬운 옵션이 항상 있습니다. VM웨어/버추얼 이미지(.ova 형식). VM을 생성하고 기존 시스템에서 데이터 마이그레이션을 준비할 수 있는 지원팀에 문의하십시오. 이러한 결정에 대한 보상으로 이 기사의 나머지 부분을 읽을 필요가 없습니다. :)

유용한 자료

대부분의 단계에 대한 지침은 이미 당사 웹사이트 및/또는 지식 기반에 게시되어 있습니다. 우리는 이 기사 하나에 그것들을 모두 복사하지 않을 것입니다. 여기에 필요한 컨텍스트를 추가하고 특정 작업에 대한 자세한 지침에 대한 링크를 제공합니다.

모델 업그레이드 스토리

각 구성 요소를 자세히 분석하기 전에 동일한 서버에 유지하면서 업그레이드의 모델 예를 보여 드리겠습니다.

기존 서버

  • Easy Redmine 버전 10.10.1이 있는 Easy VM
  • 루비 -v = 2.5.3
  • mysql --버전 = 5.7.31
  • redis-server --버전 = 5.0.3
  • 보석 목록 | grep 번들러 = 1.16.6
  • 노드 -v(존재하지 않음)
  • 퓨마 애플리케이션 서버
  • nginx 웹 서버

Easy에서 제공하는 VM이기 때문에 큰 환경(OS, 데이터베이스)은 동일한 서버에서 업그레이드가 가능합니다. 일부 구성 요소는 있는 그대로 괜찮고(mysql, redis-server, puma, nginx), 일부는 업그레이드가 필요하고(ruby, bundler), 한 가지 요구 사항이 완전히 누락되었습니다(Node.js).

단계

0) 최신 LTS 버전(10.14.x) 다운로드 및 설치 - 업그레이드는 LTS에서만 가능합니다.

1) 루비 업그레이드부터 시작하자
rvm install ruby 2.6.7 --patch railsexpress

(새 루비가 설치될 때까지 기다리면 sudo 비밀번호를 물어볼 수 있습니다)

rvm use ruby-2.6.7 --default

2) 충돌 가능성을 피하기 위해 이전 루비 버전을 제거하는 것이 좋습니다.
rvm remove ruby-2.5.3

이 명령은 모든 gem 및 기타 파일과 함께 ruby를 제거합니다. 사용하는 것보다 낫습니다. rvm uninstall 명령.

3) 이제 응용 프로그램에 필요한 모든 gem을 다시 설치해야 합니다. 우리는 번들러로 시작합니다
gem install bundler

어떤 번들러가 설치되었는지 확인해보자
gem list | grep bundler

다음과 같은 줄을 반환해야 합니다.
bundler (2.1.4, 2.1.2)

2.2.16보다 높은 버전이 있는지 확인하십시오.

4) 이제 /home/easy/your.vm.name으로 이동하십시오.
cd /home/easy/your.vm.name

5) nodejs 설치
sudo apt update
sudo apt upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt install nodejs

그리고 올바른 버전인지 확인하십시오.
node -v

그것은 다음과 같은 것을 반환해야합니다
v14.16.0

버전이 14.16 이상인지 확인하십시오.

6) 클라이언트 영역에서 패키지 v11 패키지를 다운로드하여 VM에 복사합니다.

7) 퓨마 서버 중지
sudo systemctl stop puma@your.domain.name

이 시점에서 자동 절차를 계속할지 수동 업그레이드를 계속할지 선택할 수 있습니다.

a) 자동 업그레이드 (권장)
8a) redmine 설치 프로그램을 통해 업그레이드 실행
redmine upgrade name_of_package

9a) 마법사의 단계를 따릅니다.

b) 수동 업그레이드
8b) 최근 현재/폴더의 이름을 바꿉니다.
mv current/ current_old/

9b) 현재 폴더 재생성
mkdir current

10b) 현재 폴더로 이동
cd current/

11b) 여기에서 포장을 풉니다
unzip /path/to/downloaded/package.zip

12b) 보석 설치
bundle install

13b) 마이그레이션 실행
bundle exec rake easyproject:install RAILS_ENV=production

14b) 모든 것이 정상이면 퓨마를 다시 시작하십시오.
sudo systemctl start puma@your.domain.name

사양 체크리스트

운영체제

버전 11부터 지원되는 유일한 운영 체제(응용 프로그램이 직접 실행되는 경우)는 데비안, 특히 10(버스터) 및 11(불스아이).

제공된 VM에서 Easy Redmine을 실행하고 있다면 이미 이 요구 사항을 충족했을 가능성이 큽니다. 지원되지 않는 OS가 있는 경우 새 서버(가급적 VM)로 마이그레이션해야 합니다. 프로덕션 응용 프로그램 아래에서 OS를 다시 설치하거나 업그레이드하는 것은 확실히 귀하의 이익이 아닙니다.

데이터베이스 서버

Percona/MySQL 5.7 이상을 사용해야 합니다. 대략 XNUMX가지 경우가 있습니다:

  • 이전 Percona 버전이 있습니다. -> 다음과 같은 공식 지침을 통해 업그레이드하십시오.
    https://www.percona.com/doc/percona-server/5.7/upgrading_guide_56_57.html
  • 다른 MySQL 배포판(예: MariaDB)이 있는 경우 -> 새 서버(가급적 VM)로 마이그레이션하는 것이 좋습니다.
  • PostgreSQL이 있습니다 -> 새 서버(가급적 VM)로 마이그레이션하는 것이 좋습니다. 마이그레이션 자체 전에 데이터베이스를 변환해야 합니다. 다양한 변환 도구를 테스트했습니다. 그리고 가장 적합한 것에 대한 지침을 제공했습니다. 우리는 또한 당신을 위해 변환을 수행할 준비가 되어 있습니다.

루비

응용 프로그램 이면의 언어는 사람들이 사용하는 언어와 같이 최신 상태로 유지되어야 합니다. Ruby 업그레이드 설명 여기를 클릭해 문의해주세요. 기존 Ruby가 아주 오래된 경우가 아니면 동일한 서버에서 계속할 수 있습니다.

번 들러

사실상 보석을 관리하는 보석. Easy Redmine은 그 중 200개 이상을 사용하기 때문에 번들러는 중요한 구성 요소입니다.

설치하려면
gem install bundler

버전을 확인하려면
gem list | grep bundler

버전 2.2.x는 자동으로 설치됩니다. 그렇지 않은 경우 다음을 따르십시오. 공식 문서.

Redis

v11의 새로운 기능 및 성능 개선 사항 중 일부를 간소화하기 위해 Redis-server와 함께 Sidekiq를 사용합니다. Easy VM에는 이미 이러한 구성 요소가 포함되어 있습니다. 버전에 주의하십시오. ER11에는 redis-server 5+가 필요합니다.

다음은 기본 설치 안내서에서 발췌한 것입니다. v11 패키지 아래에 문서/INSTALL_DEBIAN

  1. redis 및 sidekiq 설정

사용자로 쉽게 전환하십시오.

vim /home/easy/current/config/additional_environment.rb

Rails.env.production이라면? config.active_job.queue_adapter = :sidekiq

redis_namespace = Rails.root.join("..").basename.to_s redis_url = "redis://#{ENV["REDIS_HOST"] || "127.0.0.1"}:#{ENV["REDIS_PORT"] || 6379}/1" Sidekiq.configure_server do |config| config.redis = { url: redis_url, 네임스페이스: redis_namespace }

end

Sidekiq.configure_client do |config| config.redis = { URL: redis_url, 네임스페이스: redis_namespace }

끝 끝

정력 /home/easy/current/config/sidekiq.rb

:verbose: false :pidfile: ../sidekiq.pid :logfile: ./log/sidekiq.log :concurrency: <%= ENV["SIDEKIQ_WORKERS"] || 2 %> :대기열:

  • 임계
  • 디폴트 값
  • recalculate_custom_fields
  • easy_git
  • easy_actions
  • easy_mail_캠페인
  • easy_integrations
  • 우편물
  • easy_rake_tasks
  • 낮은

Node.js를

마지막으로 마지막 주요 요구 사항입니다. 설치는 비교적 간단합니다

sudo apt update
sudo apt upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt install nodejs

버전이 14.16인지 확인하십시오. 사용 가능한 공식 문서 여기를 클릭해 문의해주세요.

WebSocket을

애플리케이션 실행을 차단하는 엄격한 요구 사항은 아니지만 두 가지 기능이 이 기술을 사용합니다(사용자의 아바타에 실시간 온라인/오프라인 상태 표시, 내보내기 완료에 대한 인앱 알림). 향후 확대될 예정입니다.

액션 케이블을 활성화해야 합니다. Redis에 의존합니다. 이러한 기능을 사용하고 싶지만 Redis/ActionCable 구성에 익숙하지 않은 경우 이러한 기능이 사전 구성된 새 VM으로 마이그레이션하는 것이 좋습니다.

강제 HTTPS 프로토콜

버전 11은 애플리케이션 URL의 HTTPS 프로토콜을 시행합니다. 웹 서버(nginx) 구성을 확인하여 http를 통해 애플리케이션에 액세스할 수 있는지 확인하십시오.s웹 브라우저 또는 Easy Redmine에 연결된 모든 통합에서 ://[easyredmine_url]. URL http://[easyredmine_url]은 v11에서 작동하지 않습니다!

서브우리의 끝

프론트 엔드가 고급 개선 사항을 받으면 더 이상 지원을 계속할 수 없습니다. 하위 URI 구성. 이러한 종류의 구성은 Javascript 구성 요소에 민감하며 종종 오작동을 일으킵니다. 서버를 일반 도메인으로 재구성하십시오.

업그레이드 후

Textile/Markdown 텍스트 마이그레이션

에 쓰여진대로 릴리즈 노트 우리는 다른 텍스트 편집기에 대한 지원을 중단했습니다. 이전에 텍스타일 또는 마크다운 텍스트 편집을 사용한 경우 해당 명령을 사용하여 서식이 지정된 텍스트를 HTML로 마이그레이션해야 합니다.

먼저 다음을 사용하여 최근 텍스트 형식을 확인하십시오.

bundle exec rails r -e production "puts Setting.text_formatting"

Textile인 경우 다음 명령을 사용하십시오.

bundle exec rake easyproject:textile:migrate_all source_formatting=textile RAILS_ENV=production

또는 텍스트 형식이 Markdown인 경우:

bundle exec rake easyproject:textile:migrate_all source_formatting=markdown RAILS_ENV=production

마이그레이션이 성공했다면 마지막으로 다음을 사용하여 텍스트 형식을 HTML로 전환하십시오.

bundle exec rails r -e production "puts Setting.text_formatting = 'HTML'"

변경 사항을 완전히 적용하려면 웹 서버를 다시 시작하십시오.

30일 무료 평가판으로 Easy Redmine을 사용해 보세요

지리적 위치에서 모든 기능, SSL 보호, 일일 백업