顧客からの依頼がgitlabからソースをmergeしたら自動でWebサーバーにDeployしたいということでした。
gitlabのソースが更新されたら自動でWebサーバーに配信する設定をしていましたが、
ネットで調べた通りにしてもテストがなかなかできなくて困ってました。
それで結局解決できて、
内容を公開します。
まず、gitlabからdevelopバージョンにmergeしたらどうやってjenkinsからわかってるのか?とのことです。
ここでwebhookという機能を使います。
そもそもwebhookに関して詳しくなかったので、
gitlabのwebhookを設定しようとしたんですが、
gitlabからの変更をjenkinsに送る仕組みだったのです!
なので最初設定すべきなところはgitlabではなくjenkinsだったのです!
ということでjenkinsに接続します。
初心者なので全てブラウザから行います。
jenkinから同期したいプロジェクトの設定に入ります。
もし設定が初めてなら次の記事をご参考ください。
https://talklowy-jp.blogspot.com/2019/01/jenkinsgitlabgiip.html
ビルドトリガーの部分から
Build when a change is pushed to GitLab. GitLab webhook URL: http://10.10.10.153:8080/project/jDeployDevelop
のところをチェックします。
したら、入力画面がいくつが出てきます。
全てそのままにして下に「advaced」というボタンがあります。クリックして設定を拡張します。追加された入力項目の一番下にSecret Tokenというところがあり、その右下に「generate」ボタンがあります。何も入力しないで(入力できません;)「generate」ボタンを押します。
すると何かが出てきます。それをコピー
上のチェックしたところのURLとSecret Tokenの二つをコピーしたらOKです。
次はgitlabをブラウザで開きます。
自分のプロジェクトのところからsettings > integrations をクリックすると
webhookの設定画面が表示されます。
URL : 上記のコピーしたURLそのままペスト
Secret Token : コピーしたSecret Tokenを貼り付け
私はSSLチェックは外しましたがそれは設定に寄りますね。
それで追加ボタンをクリックして完成!
作成されたWebhookからテストをクリックするとPulldownメニューが出てpushを選択します。成功したらOKです!
URLをそのままテストしても404エラーが出てきてそれを数日探しましたが、その必要がありませんでした。あのURLはgitlabから情報を投げるところなので404が出ても関係ありませんでした。orz....
ということで一件落札!
この設定すら自動化できるかを考えてます。
もし協力できる方がいらっしゃいましたらgiipのMarketplaceにアップしてください!
Webhookの機能はgiipでは考えてなかったのでjenkinsの方がよかったですね。
早くgiipにも導入しとかないと!
サーバー接続なしで全ての管理をしたい!と思ったら
http://giipweb.littleworld.net
Do not login your server any more!!
gitlabのソースが更新されたら自動でWebサーバーに配信する設定をしていましたが、
ネットで調べた通りにしてもテストがなかなかできなくて困ってました。
それで結局解決できて、
内容を公開します。
まず、gitlabからdevelopバージョンにmergeしたらどうやってjenkinsからわかってるのか?とのことです。
ここでwebhookという機能を使います。
そもそもwebhookに関して詳しくなかったので、
gitlabのwebhookを設定しようとしたんですが、
gitlabからの変更をjenkinsに送る仕組みだったのです!
なので最初設定すべきなところはgitlabではなくjenkinsだったのです!
ということでjenkinsに接続します。
初心者なので全てブラウザから行います。
jenkinから同期したいプロジェクトの設定に入ります。
もし設定が初めてなら次の記事をご参考ください。
https://talklowy-jp.blogspot.com/2019/01/jenkinsgitlabgiip.html
ビルドトリガーの部分から
Build when a change is pushed to GitLab. GitLab webhook URL: http://10.10.10.153:8080/project/jDeployDevelop
のところをチェックします。
したら、入力画面がいくつが出てきます。
全てそのままにして下に「advaced」というボタンがあります。クリックして設定を拡張します。追加された入力項目の一番下にSecret Tokenというところがあり、その右下に「generate」ボタンがあります。何も入力しないで(入力できません;)「generate」ボタンを押します。
すると何かが出てきます。それをコピー
上のチェックしたところのURLとSecret Tokenの二つをコピーしたらOKです。
次はgitlabをブラウザで開きます。
自分のプロジェクトのところからsettings > integrations をクリックすると
webhookの設定画面が表示されます。
URL : 上記のコピーしたURLそのままペスト
Secret Token : コピーしたSecret Tokenを貼り付け
私はSSLチェックは外しましたがそれは設定に寄りますね。
それで追加ボタンをクリックして完成!
作成されたWebhookからテストをクリックするとPulldownメニューが出てpushを選択します。成功したらOKです!
URLをそのままテストしても404エラーが出てきてそれを数日探しましたが、その必要がありませんでした。あのURLはgitlabから情報を投げるところなので404が出ても関係ありませんでした。orz....
ということで一件落札!
この設定すら自動化できるかを考えてます。
もし協力できる方がいらっしゃいましたらgiipのMarketplaceにアップしてください!
Webhookの機能はgiipでは考えてなかったのでjenkinsの方がよかったですね。
早くgiipにも導入しとかないと!
サーバー接続なしで全ての管理をしたい!と思ったら
http://giipweb.littleworld.net
Do not login your server any more!!
コメント
コメントを投稿