2016-11-25 9 views
0

私はgitlabリポジトリを持っています。私は、フォルダをフック中に入ると、私は、ファイルgitlabリポジトリのポスト受信からカールコールを行うことができません

post-receive 

を参照してください、私はそれを開いて、私は、ファイルの先頭にこれを参照してください。

#!/opt/gitlab/embedded/bin/ruby 

これは、このスクリプトはルビー・コードの権利を実行することを意味しますか?

私がする必要があるのは、サーバーへの単純なhttp-post要求です。だから、

remote: hooks/post-receive:28: syntax error, unexpected tCONSTANT, expecting keyword_do or '{' or '(' 

カール-X POST「http://myurl/job/jenkinsjob/build?token=mytoken

私は、ファイルに次の行を入れている場合しかし、それはエラーを生成します。 私はこのようなコマンドラインからの要求を行うことができます私はシェルから直接実行する行がbashを使用しているからです。 私は受信可能なすべての方法でbashを受信の先頭に追加しようとしました。しかし、私はそれをするときに何らかのエラーが常に発生します。

私が必要とするのは、簡単なポストコールです。私は必要に応じてルビーでそれを行うことができますが、私が見つけたほとんどの情報源は、ポストリクエストを行うためのルビプログラムの程度です。

どうすればよいですか?私は提案のために開きます。

+0

あなたの投稿要求にデータがない理由はありますか?トークンは途中で進まなければならない 'curl -X POST -d '{" token ":" mytoken "}" "http:// myurl/job/jenkinsjob/build" ' –

+0

実際には本当のカールは次のようになります。http :// auto:[email protected]/job/myapp/build?token = mytoken – oderfla

答えて

-2

[OK]を私は、バッククォートを使用し、それが問題を解決し:

`curl -X POST "http://posturl"` 
0

gitlab-オムニバスが提供するのgit-フックを無効にしないでください!彼らは理由のためにそこにいる!

Gitlab provides a separate custom_hooks directoryこのジョブの場合、 /var/opt/gitlab/git-data/repositories/<project-namespace>/<project>.git/custom_hooks/にスクリプトを追加することができ、bashを含む任意の言語を使用できます。単にそこに受信後のファイルを作成するには、#!/bin/bashシバンで始めるとよいでしょう。

関連する問題