🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

1回答

2769閲覧

GitHub ストアドプロシージャの自動実行

AT_WORK24

総合スコア9

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

2クリップ

投稿2019/12/04 00:08

実際に動いている本番環境にリリースされたストアドプロシージャを
プルリクエストがMasterブランチにマージされたタイミングで開発環境にも自動で適用されるようにしたい(※現在は手動で1つ1つの環境に実行している)と
考えているのですが、このような場合どのような仕組み作りが良いのでしょうか。
有識者の方いらっしゃいましたら、アドバイスいただけると幸いです。

【状況】
開発環境は全部で10つほど存在しており、すべての環境に対して
リリースされたストアドプロシージャを実行したいと考えております。

・DB環境
SQL Server 2014

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2019/12/04 03:40

githubなら、Webhookを利用すると良いです。
AT_WORK24

2019/12/04 09:03

通知に関してはWebhookで良さそうですね
t_obara

2019/12/04 10:37

通知を受け付け、それをきっかけにプロシージャーを叩くサーバを作れば良いのでは?
AT_WORK24

2019/12/05 01:56

ありがとうございます。そうですよね、、 >プロシージャーを叩くサーバ ここに関して、なかなか参考になりそうな情報が見つからないんですよね。
t_obara

2019/12/05 04:03

どのような環境を想定しているのかご提示されると、回答が得られやすいのでは? SQLサーバーがどのような環境で動作するのかがわからないと、AWS/Azureなどが利用できるのか、フルスクラッチで用意しないといけないのかが変わります。
AT_WORK24

2019/12/05 07:58

>AWS/Azureなどが利用できるのか 開発環境の状況的にAWS/Azureなどは利用はできないです。 (サーバーを作ることはできなそうです。) >プロシージャーを叩く ここをフルスクラッチで作成するイメージいます!
t_obara

2019/12/06 02:42

質問を修正して、その旨記載するとよろしいかと。 少なくとも、サーバを用意し、APIを作成し、githubからhookされるように公開する必要があります。 ただ、それを一からここで聞くのは無理があります。もう少しポイントを絞って聞けるようにするとよろしいかと。
guest

回答1

0

Trigger Jenkins job when a pull request is merged to a branch
https://github.community/t5/How-to-use-Git-and-GitHub/Trigger-Jenkins-job-when-a-pull-request-is-merged-to-a-branch/td-p/10190

Jenkins の Generic Webhook Trigger Plugin で
「GitHubにマージされたとき」をトリガーに
タスク実行できるようですので、これがうまく動作するとすれば

そこから実行するバッチ処理などで
1.マージされた内容をALTER PROCEDUREなどにして保存する
2.sqlcmd.exe -S DBサーバー -i ファイル名 で複数ある開発環境に適用する

という方法でどうでしょうか。

投稿2019/12/10 01:22

t-takayama

総合スコア167

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問