2017-04-12 13 views
0

私はdrone.ioの助けを借りて私たちの小さなプロジェクトを自動化できるかどうかを調べようとしています。これまでのところ期待はしていますが、この単純なステップはうまくいかないようです。drone.ioがsigファイルと.drone.ymlとの一致に失敗する

私の設定は、ウェブフックを有効にしてゴーグルであり、無人機のウェブインターフェースを介してレポが有効になっています。 Droneは2つのドッカーインスタンスで実行されています。

ドッキングウィンドウ-compose.yml:

version: '2' 

services: 
    drone-server: 
    image: drone/drone:0.5 
    ports: 
     - 8000:8000 
    volumes: 
     - /opt/docker/drone:/var/lib/drone 
     - /path/to/ssh:/key 
    environment: 
     - DRONE_OPEN=true 
     - DRONE_GOGS=true 
     - DRONE_GOGS_URL=http://gogs.xx.xx 
     - DRONE_GOGS_GIT_USERNAME=user 
     - DRONE_GOGS_GIT_PASSWORD=password 
     - DRONE_SECRET=key 
     - [email protected]/key/id_rsa 
     - DRONE_DEBUG=true 

    drone-agent: 
    image: drone/drone:0.5 
    command: agent 
    restart: unless-stopped 
    depends_on: [ drone-server ] 
    volumes: 
     - /var/run/docker.sock:/var/run/docker.sock 
    environment: 
     - DRONE_SERVER=ws://drone-server:8000/ws/broker 
     - DRONE_SECRET=key 

私はこれがドッキングウィンドウコンテナ内で作業することができませんでしたので、私は別にCLIをインストールする必要がありました。署名するコマンド:

drone -s http://<drone interface>:8000 -t <token copied from webinterface> sign <repo> --in ".drone.yml" --out ".drone.yml.sig" 

私はコミットして両方のファイルをリポジトリに送りました。ドローンデバッグに次のエラーが続きます。

drone-server_1 | time="2017-04-12T10:04:09Z" level=debug msg="cannot verify .drone.yml.sig file. no match" 
drone-server_1 | time="2017-04-12T10:04:09Z" level=info ip=172.19.0.1 latency=374.072732ms method=POST path="/hook" status=200 time="2017-04-12T10:04:09Z" user-agent=GogsServer 

何が問題になりましたか?

+0

.drone.yml.sigファイルをプッシュしてからyamlを変更して署名を無効にする、または2)既定のcrlf設定がlinux。これはhttps://github.com/drone/drone/issues/1662で記述されており、https://help.github.com/articles/dealing-with-lineingendings/ –

答えて

0

ありがとうBrad。

本当に行末と関係があります。私は組み合わされたWindows/Linux環境を使用しているので、どこが間違っているのだろうと思います。今私はdos2unixと呼ばれる前に使用してきたすてきなツールを使用します。

私は正常に署名して、リポジトリにsigをプッシュすることができます、それはUnix形式に変換します。

+0

に変更することができますあなたのために働いた。 –

関連する問題