토모 전개. 하나의 명령으로 레일 앱을 배포합니다. 헤로쿠와 비슷합니다.

3386 단어 devopsherokuruby
tomo deploy 사용자가 단 하나의 명령으로 배포할 수 있습니다. Tomo는 설정 및 배포 프로세스를 모두 수행합니다. Tomo 배포를 통해 Heroku와 유사한 기능을 자신의 서버에 설치할 수 있습니다.
tomo setup 명령의 경우 다음을 수행합니다.
"env:setup"실행
"core:setup_directories"실행
"git:clone"실행
"git:create_release"실행
"core:symlink_shared"실행
"bundler:upgrade_bundler"실행
"bundler:config"실행
"bundler:install"실행
# "rails:db_create"실행
"rails:db_schema_load"실행
"rails:db_seed"실행
"puma:setup_systemd"실행
'sidekiq:setup_systemd' 실행
tomo deploy 명령의 경우 다음을 수행합니다.
"env:update"실행
"git:create_release"실행
"core:symlink_shared"실행
"core:write_release_json"실행
"bundler:install"실행
'yarn:check_files' 실행
"rails:db_migrate"실행
"rails:assets_precompile"실행
"core:symlink_current"실행
"puma:restart"실행
"puma:check_active"실행
"core:clean_releases"실행
"bundler:clean"실행
"core:log_revision"실행
'sidekiq:restart' 실행

물론 우리는 플러그인을 추가하여 이러한 프로세스에서 우리 자신의 작업을 지정할 수 있습니다. 예:
plugin './plugins/yarn.rb'
./plugins/yarn.rb

def check_files
  remote.chdir(paths.release) do
    remote.run('yarn', 'install', '--check-files')
  end
end


그런 다음 프로세스에 run 'yarn:check_files'를 추가할 수 있습니다.

이것이 제가 tomo deploy에 대해 좋아하는 부분입니다.

git:create_release 소스: tomo-deploy.com
git_branch(또는 git_ref)에서 최신 커밋을 가져오고 해당 리포지토리 분기의 내용을 releases_path 내부의 새 릴리스로 복사하여 릴리스를 만듭니다. 릴리스는 배포가 발생한 타임스탬프를 기준으로 번호가 매겨집니다.

git:create_release는 배포 작업으로 사용하기 위한 것입니다.

TOP 3 TOMO 명령



tomo 명령에 관해서는 많은 장점이 있습니다. tomo tasks 명령을 통해 모든 명령을 찾아봅니다.
  • 원격 배포 서버에서 실행 중인 로그를 보려면 다음 명령을 사용할 수 있습니다. tomo puma:tail_log


  • activerecord를 통해 원격 서버 데이터에 액세스하려면 항상 편리한 rails console를 사용할 수 있지만 tomo를 사용하여 원격으로 액세스하려면 tomo rails:console를 사용할 수 있습니다.
  • tomo sidekiq:log

  • 경고:
  • set env_vars를 사용하여 PATH를 업데이트하지 마십시오. env_vars에서 like export "PATH=$PATH:/our/bin"를 사용할 수 없습니다. 경로가 끊어지기 때문입니다. 나는 그것을 한 번 깨고 다른 사람들이 원격 (배치 서버) 쉘 자체에서 그것을 할 것을 제안합니다.
  • 메시지 암호기가 제대로 작동하려면 다음을 확인해야 합니다.
    ㅏ. 로컬 시스템의 master.key 콘텐츠는 tomo setup를 통해 원격 서버에 입력하는 것과 동일한 RAILS_MASTER_KEY입니다.
    비. 로컬credentials.yml.enc을 추가하고 커밋+푸시합니다.

  • 읽어 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기