Как я могу запустить сервер Yard на рабочем сервере? - PullRequest
3 голосов
/ 14 декабря 2011

Как я могу запустить сервер Yard на производственном сервере? Может быть, использовать какое-то задание? Загрузите из capistrano, используя passenger и nginx, Jenkins (Hudson).

Ответы [ 3 ]

2 голосов
/ 26 марта 2014

Я нашел самый простой вариант - просто создать ссылку на сгенерированную папку документов из / public в моем приложении rails. Вам просто нужно убедиться, что ресурсы js / css доступны по тому же пути.

Например:

$ cd <railsapp>
$ ls
Gemfile
app/
..
public/
doc/ <- Folder that contains the html files generated by yard
$ cd public/
$ ln -s ../doc/ docs

Это будет служить вашим документам в /docs/index.html

Поиск классов / методов / файлов на основе JavaScript по-прежнему работает, поскольку он основан на JavaScript. Однако поиск, который появляется сверху, не будет отображаться в этом методе. Однако я нашел достаточным поиск по javascript.

1 голос
/ 29 декабря 2011

Я использую nginx и passenger, обслуживая это крошечное веб-приложение:

# ~/Documentation/config.ru
require 'rubygems'
require 'yard'

libraries = {}
gems = Gem.source_index.find_name('').each do |spec|
  libraries[spec.name] ||= []
  libraries[spec.name] << YARD::Server::LibraryVersion.new(spec.name, spec.version.to_s, nil, :gem)
end

run YARD::Server::RackAdapter.new libraries

Виртуальный хост Nginx:

# /opt/nginx/config/sites-enabled/gems.doc
server {
  listen 80;
  server_name gems.doc;
  root /Users/your-user/Documentation/yard/public;
  rails_env development;
  passenger_enabled on;
}

Еще в этом посте: http://makarius.me/offline-rails-ruby-jquery-and-gems-docs-with

1 голос
/ 25 декабря 2011

Я использую этот скрипт:

#!/bin/sh
#or you process here
PROCESS='ruby */yard server'
PID=`pidof $PROCESS`

start() {
  yard server &
}

stop() {
  if [ "$PID" ];then
    kill -KILL $PID
    echo 'yard is stopped'
  fi
}

case "$1" in
start)
  start
;;
stop)
  stop
;;
restart)
  stop
  start
;;
*)
echo Usage: $0 [start|stop|restart]
;;
esac

А в Гудзоне: yard doc && ./yard.sh restart.

...