Kandan | Kandan1.1에서 Hubot을 사용하는 경우 설정 절차

12327 단어 칸단Hubot

Kandan | Kandan1.1에서 Hubot을 사용하는 경우 설정 단계



개요



Kandan1.1에서 Hubot을 사용할 때의 설정에 대해.

Kandan의 master 최신판에서는 Hubot 제휴가 잘 되지 않았기 때문에,
2014/08/08 현재의 Kandan의 안정판인 version 1.1 로 환경 구축한 순서를 기재합니다.
  • 환경 구축 시험표



  • Kandan version
    git URL
    결과


    마스터 최신 (1.2)
    htps : // 기주 b. 이 m/칸다나 p/칸단. 기 t
    여러 가지 시도하지만 Hubot 협력 할 수 없습니다.

    1.2 태그
    htps : // 기주 b. 이 m/칸다나 p/칸단/아 r ゔぇ/v1.2. r. gz
    시도하지 않는다. 환경 구축에 성공하고 있는 분은 이 버젼을 이용했을지도?

    1.1 태그
    htps : // 기주 b. 코 m/칸다나 p/칸단/아 r ゔぇ/v1.1. r. gz
    그대로 작동하지 않습니다. 일부 파일을 수정하여 Hubot 연동 가능. 이 기사의 단계 참조


    전제



    Kandan과 Hubot은 모두 Ubuntu 14.04 서버에 설치됩니다.

    Kandan



    기본적인 설치 순서에 대해서는 아래의 공식 자료를 참고로 했습니다.
    htps : // 기주 b. 이 m/칸다나 p/간단/bぉb/마s r/로 PぉY. md

    Kandan 설치



    기본은 공식 사이트의 순서대로입니다만, 안정판을 이용하기 위해
    공식 사이트에서
    $ git clone [email protected]:kandanapp/kandan.git
    $ cd kandan
    

    이 절차를
    $ sudo wget https://github.com/kandanapp/kandan/archive/v1.1.tar.gz
    $ tar xvf v1.1.tar.gz
    $ mv kandan-1.1/ kandan
    $ cd kandan
    

    로 변경합니다.

    또한이 버전의 Hubot 사용자 작성을위한 rake 작업은 Hubot 연동을 지원하지 않으므로,
    아래와 같이 수정합니다.

    ./kandan/lib/tasks/kandan.rake
    # : 
    # : 略
    # : 
      desc "Creates the default hubot account."
      task :boot_hubot => :environment do
        user = User.find_by_email("[email protected]")
    
        if user.nil?
          puts "Creating hubot user..."
    
          password = ""
          128.times { password << (('a'..'z').to_a + ('A'..'Z').to_a + ['!','@','#','$','%','^','&','*','(',')'].to_a).sample }
    
          hubot = User.new
          hubot.email      = "[email protected]"
          hubot.first_name = "Hubot"
          hubot.last_name  = "vonGithubben"
    # -------------ここから追加開始-------------------------
          hubot.username   = "hubot"                       # => username の設定を追加
    # -------------ここで 追加終了-------------------------
          hubot.ido_id     = "a-bot-lives-in-solitude"
          hubot.password   = password            if hubot.respond_to?("password=".to_sym)
          hubot.password_confirmation = password if hubot.respond_to?("password_confirmation=".to_sym)
          hubot.save!
        end
      end
    # : 
    # : 略
    # : 
    

    이 코드를 보면 Hubot 사용자의 비밀번호를 공략하는 방법을 아는 사람이 많다고 생각합니다.
    그 이야기는 둡시다.

    Kandan 설치가 완료되면 Hubot 사용자를 추가하고 액세스 토큰을 가져옵니다.
    $ bundle exec rake kandan:boot_hubot
    # 
    # 略(Hubot ユーザー作成のSQLログが表示されます)
    # 
    $ bundle exec rake kandan:hubot_access_key
      User Load (1.5ms)  SELECT "users".* FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
    Your hubot access key is your_token
    

    your_token 부분에 액세스 키가 표시되므로 복사해 둡니다.
    이 키는 후속 Hubot 서버를 구성할 때 사용됩니다.

    Kandan 서버 시작



    Kandan의 공식 순서대로 설치했을 경우의 기동 정지 명령은 이하.
    # 起動
    $ sudo bundle exec thin start -d
    
    # 停止
    $ sudo bundle exec thin stop
    

    뭔가 문제가 있고 로그를 확인하고 싶다면
    $ cd ~/kandan
    $ ~/kandan$ tail -f log/thin.log
    # :
    # : ログ
    # :
    

    Hubot



    Hubot 설치



    Kandan과 Hubot을 다른 서버에 설치했습니다.

    hubot-kandan adapter가 Hubot 2.4.7에 의존하기 때문에,
    최신 Hubot을 설치하면 작동하지 않습니다.
    Hubot 2.4.7을 설치합니다.

    apt-package 및 nodejs/npm 설치


    $ sudo apt-get update -y
    $ sudo apt-get install -y nodejs
    $ sudo apt-get install -y npm
    $ sudo apt-get install -y git
    $ sudo apt-get install -y unzip
    $ sudo apt-get install -y wget
    $ sudo npm install -g coffee-script
    $ sudo ln -s /usr/bin/nodejs /usr/bin/node
    

    Hubot (2.4.7) 설치


    $ cd
    $ wget https://github.com/github/hubot/archive/v2.4.7.zip
    $ unzip v2.4.7.zip
    $ cd hubot-2.4.7
    $ npm install
    $ make package
    
    $ cd hubot
    $ git clone https://github.com/kandanapp/hubot-kandan.git node_modules/hubot-kandan
    $ npm install faye
    $ npm install ntwitter
    

    Hubot ~/hubot-2.4.7/hubot/node_modules/hubot-kandan/package.json 수정



    버전을 1.0에서 1.0.0으로 수정

    Hubot ~/hubot-2.4.7/hubot/package.json 수정



    dependencies 에
        "hubot-kandan": ">= 1.0.0",
    

    추가

    Hubot ~/hubot-2.4.7/hubot/hubot-scripts.json 수정



    redis-brain.coffee 삭제

    수정 전
    ["redis-brain.coffee", "tweet.coffee", "shipit.coffee"]
    

    수정 후
    ["tweet.coffee", "shipit.coffee"]
    

    환경 변수 설정



    예를 들어 Kandan 서버
    ㅡㅡㅡ//간단. 코m:3000
    에서 로그 수준을 debug로 설정합니다.
    export HUBOT_KANDAN_HOST=kandan.com
    export HUBOT_KANDAN_PORT=3000
    export HUBOT_KANDAN_TOKEN=your_token
    export HUBOT_LOG_LEVEL=debug
    

    포트가 80이면 기본적으로 적용되므로 구성이 필요하지 않습니다.
    your_token은 Kandan 서버 bundle exec rake kandan:hubot_access_key에서 얻은 내용을 설정합니다.

    Hubot 시작 확인


    ./bin/hubot -a kandan
    

    오류가 발생했습니다.
    ERROR Kandan error: 404
    

    Kandan 측의 로그도 확인해 보면,/me 에의 route 가 미설정이라는 것.
    $ tail -f log/thin.log
    # : 
    # : その他のログ
    # : 
    ActionController::RoutingError (No route matches [GET] "/me"):
    # : 
    # : その他のログ
    # : 
    

    Kandan 의 routing 수정



    ※수정하는 것은 Kandan 서버의 설정 파일입니다.

    ./kandan/config/route.rb에/me에 라우팅 추가
    # 他のrouting 設定
    # :
      get "/me" => "apis#me" # => me への routing を追加
    # :
    # 他のrouting 設定
    

    동작 확인



    Kandan, Hubot 모두 재부팅 및 확인



    Thanks!


  • tenten0213 님
    사내에서 HipChat 클론의 Kandan과 Hubot을 이동
    기본적인 순서에 대해서는 Qiita의 상기 기사를 참고로 하였습니다
  • ryosy383 님
    정보 제공 해 주셔서 감사합니다

  • 참조


  • Hubot GitHub
    htps : // 기주 b. 코 m/기테 b/후보 t
  • Kandan GitHub
    htps : // 기주 b. 코 m / 칸다 나 p / 칸단
  • Hubot-Kandan adapter GitHub
    htps : // 기주 b. 코 m / 칸다 나 p / 후보 t 칸탄 /
  • 좋은 웹페이지 즐겨찾기