言語
サーバ関連
ツール
API
読み物
その他
[AD]
GitHubへpushすると、自動的にJenkinsでビルドが始まる設定を行います。応用すれば自動的にテストコードを実行したり、AWS(S3など)にファイルをアップし自動的に更新する仕組みなども作れます。
GitHub側では以下の設定を行います。
右側にある「Add service」ボタンをクリックし「Jenkins (GitHub plugin)」を選択します。
遷移先の画面で「Jenkins hook url」の入力欄に、Jenkinsが更新情報を受け取るURLを指定します。例えばJenkinsをインストールしたサーバのFQDNがexample.com、稼働しているポートが8080だった場合、URLは「http://example.com:8080/github-webhook/」となります。
最後に「Add service」ボタンをクリックしてGitHub側の設定は完了です。
ここでは「GitHub」プラグインを利用します。 Jenkinsのホーム画面(トップ)から
インストール可能なプラグインの一覧が表示されますので、「GitHub plugin」にチェックしページ最下部にある「ダウンロードして再起動後にインストール」をボタンをクリックし、あとは画面の指示に従えばプラグインのインストールが完了します。
以上で事前準備が終わりました。 ちなみにここまでのGitHubとJenkinsの設定の順番は関係ないので、どちらを先にやってもかまいません。
では早速ジョブを作成してみます。 ホーム画面(トップ)を開き左側メニュー「新規ジョブ作成」をクリックしてください。
ジョブ名はわかりやすい名前であればなんでも良いです。
ジョブの種類はここでは「フリースタイル・プロジェクトのビルド」を選択していますが、作成したい内容に合わせて選択してください。
OKボタンをクリックし次のページに移動します。
「GitHub project」にチェックし、「Project url」にGitHubのURLを記入します。
ソースコード管理の設定を行います。
続いて「ビルド・トリガ」の項目で、「Build when a change is pushed to GitHub」にチェックを入れます。このチェックを忘れると、GitHubからリクエストは飛んでいるがJenkisがうんともすんとも言わない状態になります。
ここまでの設定で、GitHubにpushするとJenkinsのワークスペースが更新されるようになります。あとは必要に応じて設定を追加してください。
試しにGitHubにpushしてみてください。自動的にJenkinsでビルドが開始されます。
$ vim foo.txt $ git add foo.txt $ git commit -am "add foo.txt" $ git push origin master
GitHubからリクエストが飛んでいるかはログを見て確認することもできます。
「http://example.com:8080/log/all」(ドメイン部分は変更してください)にアクセスすることで、Jenkins全体のログから確認することもできます。
ログ中の「org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run」などと記述があるあたりがそれです。
failed to fetch data: unkown error
failed to fetch data: unkown error
以下のページを参考にさせていただきました。ありがとうございます!