{"componentChunkName":"component---src-templates-single-post-js","path":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-3/","webpackCompilationHash":"0bb9bd8306defc5c5a8b","result":{"data":{"post":{"frontmatter":{"meta":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3","description":"backlogからjenkinsを使って、nginx-proxyとDockerで構築した環境にデプロイしようと思います。","noindex":null,"canonicalLink":null},"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3","template":"SinglePost","subtitle":null,"date":"2019-08-09T22:20:15.448Z","categories":[{"category":"Tech"}]},"html":"<h1>jenkins と backlog の連携環境構築</h1>\n<p>前回の続き</p>\n<p><a href=\"https://qiita.com/foursue/items/7f5e37de8d073600cada\">参考</a></p>\n<h1>「Publish over SSH」プラグイン</h1>\n<ul>\n<li>jenkins のプラグインが有効であること jenkins の管理の利用可能タブから確認する。</li>\n<li>チェックをつけて再起動せずに設定</li>\n</ul>\n<h2>設定</h2>\n<ol>\n<li>「Jenkins の管理」→「システムの設定」</li>\n<li>「Publish over SSH」→「Key」/root/.ssh/{key}の値を張り付ける。「Path to key」は空で OK</li>\n<li>「SSH Servers」→「追加」</li>\n<li>「Name」わかりやすい名前を入力</li>\n<li>「Hostname」Web サーバのローカル IP アドレス</li>\n<li>「Username」なんでもいい？もしくは deploy サーバーの ID</li>\n<li>「Test Configration」Success が表示されれば OK</li>\n<li>「保存」</li>\n</ol>\n<h1>「バックログ」プラグイン</h1>\n<ul>\n<li><a href=\"https://plugins.jenkins.io/backlog\">プラグイン</a>のアーカイブをローカルにおとして、「プラグインの管理」から「高度な設定」からアップロードする。</li>\n</ul>\n<h2>設定</h2>\n<ol>\n<li>「新規ジョブ作成」→「ジョブ名」適当に入力</li>\n<li>「フリースタイル・プロジェクトのビルド」</li>\n<li>「OK」</li>\n<li>「backlog」を選択</li>\n<li>「URL」「ID」「PWD」を入力</li>\n</ol>\n<h1>「git」プラグイン</h1>\n<h2>設定</h2>\n<ol>\n<li>「認証情報」→「グローバルドメイン」→「認証情報の追加」</li>\n<li>「SSH ユーザ名と秘密鍵」を選択</li>\n<li>「秘密鍵」→「直接入力」を選択し、鍵に秘密鍵を貼り付け</li>\n<li>Backlog の git へアクセスできるユーザの公開鍵とペアとなっている秘密鍵</li>\n<li>deploy サーバーで作った秘密鍵</li>\n</ol>\n<h1>ジョブを作ってデプロイする</h1>\n<h2>設定</h2>\n<ol>\n<li>「新規ジョブ作成」→「ジョブ名」を適当に入力</li>\n<li>「フリースタイル・プロジェクトのビルド」を選択して「OK」を押下</li>\n<li>「ソースコード管理」から「Git」を選択する。URL と追加した認証情報を設定する。URL は SSH 接続の Clone と同じ。</li>\n<li>「ビルド」→「ビルド手順の追加」→「Send files or execute commands over SSH」を選択</li>\n<li>「SSH Server」→「Name」に Web サーバの情報を選択。出てこない場合は「Publish over SSH」の設定を見なおしてください。</li>\n<li>「Transfers」→「Transfer Set」→「Source files」に「*(すべてのファイルを指す)」を入力</li>\n<li>「Transfers」→「Transfer Set」→「Remote directory」に「/repo/プロジェクト名/リポジトリ名」を入力。deploy サーバーの/root 配下のここにソースが転送される。</li>\n<li>「Transfer Set」→「Exec command」に「./deploy.sh プロジェクト名 リポジトリ名の通り ブランチ名」を入力。Web サーバにあるデプロイスクリプトに引数をつけて指定</li>\n<li>「保存」を押下</li>\n</ol>\n<h1>deployScript の作成</h1>\n<pre><code>vi /root/deploy.sh\n</code></pre>\n<pre><code># ./deploy.sh {プロジェクト名} {リポジトリ名} {ブランチ名}\n\necho deploy job start\n\nPROJECT_NAME=$1\nREPO_NAME=$2\nBRANCH_NAME=$3\n\ncd /root/repo/$PROJECT_NAME/$REPO_NAME\ndocker build -f /root/repo/$PROJECT_NAME/$REPO_NAME/Dockerfile-$BRANCH_NAME -t localhost:5000/ci-$REPO_NAME-$BRANCH_NAME .\ndocker push localhost:5000/ci-$REPO_NAME-$BRANCH_NAME\ncmd=`docker ps -q --filter name=ci-$REPO_NAME-$BRANCH_NAME`\nname=`echo $cmd`\nif [ \"$name\" != \"\" ]; then\ndocker rm -f ci-$REPO_NAME-$BRANCH_NAME\nfi\n\ndocker run -i -d --rm --net=nginxproxy_default --name ci-$REPO_NAME-$BRANCH_NAME localhost:5000/ci-$REPO_NAME-$BRANCH_NAME\n</code></pre>\n<h1>WebHook の設定</h1>\n<p><a href=\"https://qiita.com/foursue/items/7f5e37de8d073600cada\">参考</a></p>\n<pre><code>https://{jenkinsサーバーのhost}/git/notifyCommit?url={gitリポジトリssh}\n</code></pre>\n<ul>\n<li>「設定」→「ビルド・トリガ」→「SCM をポーリング」にチェック</li>\n<li>これでプッシュすると Jenkins が動き出す。</li>\n</ul>\n<h1>その他の Backlog との連携</h1>\n<ul>\n<li>ビルド後の処理として、PR に通知</li>\n</ul>\n<h1>課題</h1>\n<ul>\n<li>backlog と連携アカウント連携できない。</li>\n<li>branch などは渡すようにする</li>\n<li>webhook が一つしか登録できない。。。</li>\n<li>マージした PR 見れないし。。。</li>\n<li>backlog のプラグイン動かないし。。。</li>\n<li>最新を持ってきちゃってるから、戻せないし。。。</li>\n</ul>\n<hr>\n<table>\n<thead>\n<tr>\n<th align=\"center\">こちらでも公開中</th>\n<th align=\"center\"></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"center\"><div style=\"width:4em;\"><a href=\"https://green-luck.hatenablog.com/entry/2019/09/05/114518\" target=\"_blank\"><img src=\"https://ucarecdn.com/594b4c50-3aa6-46e4-82f7-a7fff056102c/\" alt=\"hatena\"></a></div>はてなブログ</td>\n<td align=\"center\"><div style=\"width:4em;\"><a href=\"https://green-luck.com/posts/backlog-jenkins-nginx-docker%E3%81%A7-web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E6%A7%8B%E7%AF%89-%E3%81%9D%E3%81%AE-3/\" target=\"_blank\"><img src=\"https://ucarecdn.com/6336b0bb-cdc1-48e9-aa7b-3bbc6b8848c2/\" alt=\"luck!\"></a></div>Luck!</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<center>\n<iframe  marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\"  style=\"min-height: 23.5em;height:100%;width: 100%;\"\nsrcdoc='<html><head><meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\"></head><body><!-- START MoshimoAffiliateEasyLink --><script type=\"text/javascript\">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(\"body\")[0],e.appendChild(d))})(window,document,\"script\",\"//dn.msmstatic.com/site/cardlink/bundle.js\",\"msmaflink\");msmaflink({\"n\":\"nginx実践入門 (WEB+DB PRESS plus)\",\"b\":\"\",\"t\":\"\",\"d\":\"https:\\/\\/images-fe.ssl-images-amazon.com\",\"c_p\":\"\",\"p\":[\"\\/images\\/I\\/511NShYrT8L.jpg\"],\"u\":{\"u\":\"https:\\/\\/www.amazon.co.jp\\/nginx%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-WEB-DB-PRESS-plus\\/dp\\/4774178667\",\"t\":\"amazon\",\"r_v\":\"\"},\"aid\":{\"amazon\":\"1567948\",\"rakuten\":\"1567946\",\"yahoo\":\"1568501\"},\"eid\":\"ZzQP6\"});</script><div id=\"msmaflink-ZzQP6\">リンク</div><!-- MoshimoAffiliateEasyLink END --></body></html>'>\n    </iframe>\n</center>","id":"f22af0ac-f3e5-5cc1-b552-8c66b6026112"},"allPosts":{"edges":[{"node":{"id":"11e872df-ccae-573a-bd93-b9c1fafbab72","fields":{"slug":"/posts/えいちつー-西葛西/"},"frontmatter":{"title":"えいちつー_西葛西"}},"next":{"fields":{"slug":"/posts/animate-cssで間隔を調整する/"},"frontmatter":{"title":"Animate.cssで間隔を調整する"}},"previous":null},{"node":{"id":"af531f3a-b7d2-5c9e-ad22-e8378a078f07","fields":{"slug":"/posts/animate-cssで間隔を調整する/"},"frontmatter":{"title":"Animate.cssで間隔を調整する"}},"next":{"fields":{"slug":"/posts/amazonでスマホ三脚を購入/"},"frontmatter":{"title":"amazonでスマホ三脚を購入"}},"previous":{"fields":{"slug":"/posts/えいちつー-西葛西/"},"frontmatter":{"title":"えいちつー_西葛西"}}},{"node":{"id":"b320c2db-f74d-5213-be91-d01c7f94f8c0","fields":{"slug":"/posts/amazonでスマホ三脚を購入/"},"frontmatter":{"title":"amazonでスマホ三脚を購入"}},"next":{"fields":{"slug":"/posts/twitterのシェアボタンがうまく動かない/"},"frontmatter":{"title":"Twitterのシェアボタンがうまく動かない"}},"previous":{"fields":{"slug":"/posts/animate-cssで間隔を調整する/"},"frontmatter":{"title":"Animate.cssで間隔を調整する"}}},{"node":{"id":"cbd9c95c-a098-592c-bfd9-a936996ff335","fields":{"slug":"/posts/twitterのシェアボタンがうまく動かない/"},"frontmatter":{"title":"Twitterのシェアボタンがうまく動かない"}},"next":{"fields":{"slug":"/posts/バチェラーカードリリース/"},"frontmatter":{"title":"バチェラーカードリリース"}},"previous":{"fields":{"slug":"/posts/amazonでスマホ三脚を購入/"},"frontmatter":{"title":"amazonでスマホ三脚を購入"}}},{"node":{"id":"fc5fe850-be92-5297-859f-0839f6b2fbb7","fields":{"slug":"/posts/バチェラーカードリリース/"},"frontmatter":{"title":"バチェラーカードリリース"}},"next":{"fields":{"slug":"/posts/snsのシェアボタンとsnsのログインボタンをサクッと作る/"},"frontmatter":{"title":"SNSのシェアボタンとSNSのログインボタンをサクッと作る"}},"previous":{"fields":{"slug":"/posts/twitterのシェアボタンがうまく動かない/"},"frontmatter":{"title":"Twitterのシェアボタンがうまく動かない"}}},{"node":{"id":"d8500bc6-e602-599e-a22f-80810d132de2","fields":{"slug":"/posts/snsのシェアボタンとsnsのログインボタンをサクッと作る/"},"frontmatter":{"title":"SNSのシェアボタンとSNSのログインボタンをサクッと作る"}},"next":{"fields":{"slug":"/posts/スタジオアリスの増えデジアルバムを自分で増やす。/"},"frontmatter":{"title":"スタジオアリスの増えデジアルバムを自分で増やす。"}},"previous":{"fields":{"slug":"/posts/バチェラーカードリリース/"},"frontmatter":{"title":"バチェラーカードリリース"}}},{"node":{"id":"4c934147-b318-5afd-9241-c1f5d4d75e2f","fields":{"slug":"/posts/スタジオアリスの増えデジアルバムを自分で増やす。/"},"frontmatter":{"title":"スタジオアリスの増えデジアルバムを自分で増やす。"}},"next":{"fields":{"slug":"/posts/鈴屋-館山/"},"frontmatter":{"title":"鈴屋_館山"}},"previous":{"fields":{"slug":"/posts/snsのシェアボタンとsnsのログインボタンをサクッと作る/"},"frontmatter":{"title":"SNSのシェアボタンとSNSのログインボタンをサクッと作る"}}},{"node":{"id":"04233bd7-e37d-57cb-b458-50e230b67866","fields":{"slug":"/posts/鈴屋-館山/"},"frontmatter":{"title":"鈴屋_館山"}},"next":{"fields":{"slug":"/posts/からしや-葛西/"},"frontmatter":{"title":"からしや_葛西"}},"previous":{"fields":{"slug":"/posts/スタジオアリスの増えデジアルバムを自分で増やす。/"},"frontmatter":{"title":"スタジオアリスの増えデジアルバムを自分で増やす。"}}},{"node":{"id":"ecb65f65-3564-58d5-b2c6-1b712b21783b","fields":{"slug":"/posts/からしや-葛西/"},"frontmatter":{"title":"からしや_葛西"}},"next":{"fields":{"slug":"/posts/吉村家-横浜/"},"frontmatter":{"title":"吉村家_横浜"}},"previous":{"fields":{"slug":"/posts/鈴屋-館山/"},"frontmatter":{"title":"鈴屋_館山"}}},{"node":{"id":"86bea805-00cf-5633-af27-2bcd764f3d42","fields":{"slug":"/posts/吉村家-横浜/"},"frontmatter":{"title":"吉村家_横浜"}},"next":{"fields":{"slug":"/posts/golangでanacondaを利用して-twitterにつぶやく/"},"frontmatter":{"title":"golangでanacondaを利用してTwitterにつぶやく"}},"previous":{"fields":{"slug":"/posts/からしや-葛西/"},"frontmatter":{"title":"からしや_葛西"}}},{"node":{"id":"e3ba1aa1-d2b2-5519-b9b9-00efdcadbd11","fields":{"slug":"/posts/golangでanacondaを利用して-twitterにつぶやく/"},"frontmatter":{"title":"golangでanacondaを利用してTwitterにつぶやく"}},"next":{"fields":{"slug":"/posts/amazonで花椒-四川山椒-をかってみた/"},"frontmatter":{"title":"Amazonで花椒 四川山椒 をかってみた"}},"previous":{"fields":{"slug":"/posts/吉村家-横浜/"},"frontmatter":{"title":"吉村家_横浜"}}},{"node":{"id":"d31690b3-2c7d-5560-9ab4-a57d83e95b62","fields":{"slug":"/posts/amazonで花椒-四川山椒-をかってみた/"},"frontmatter":{"title":"Amazonで花椒 四川山椒 をかってみた"}},"next":{"fields":{"slug":"/posts/gatsby-js-netlify-その-3/"},"frontmatter":{"title":"GatsbyJS + Netlify_その3"}},"previous":{"fields":{"slug":"/posts/golangでanacondaを利用して-twitterにつぶやく/"},"frontmatter":{"title":"golangでanacondaを利用してTwitterにつぶやく"}}},{"node":{"id":"8601b324-6161-51ed-95ce-cb5ffe1ffaa6","fields":{"slug":"/posts/gatsby-js-netlify-その-3/"},"frontmatter":{"title":"GatsbyJS + Netlify_その3"}},"next":{"fields":{"slug":"/posts/gatsby-js-netlify-その-2/"},"frontmatter":{"title":"GatsbyJS + Netlify_その2"}},"previous":{"fields":{"slug":"/posts/amazonで花椒-四川山椒-をかってみた/"},"frontmatter":{"title":"Amazonで花椒 四川山椒 をかってみた"}}},{"node":{"id":"450caa1d-e0c5-5096-95c9-13b3857b90b3","fields":{"slug":"/posts/gatsby-js-netlify-その-2/"},"frontmatter":{"title":"GatsbyJS + Netlify_その2"}},"next":{"fields":{"slug":"/posts/gatsby-js-netlify-その-1/"},"frontmatter":{"title":"GatsbyJS + Netlify_その1"}},"previous":{"fields":{"slug":"/posts/gatsby-js-netlify-その-3/"},"frontmatter":{"title":"GatsbyJS + Netlify_その3"}}},{"node":{"id":"1877003c-32b0-5bc4-9cee-8b736797bf64","fields":{"slug":"/posts/gatsby-js-netlify-その-1/"},"frontmatter":{"title":"GatsbyJS + Netlify_その1"}},"next":{"fields":{"slug":"/posts/田舎道/"},"frontmatter":{"title":"田舎道"}},"previous":{"fields":{"slug":"/posts/gatsby-js-netlify-その-2/"},"frontmatter":{"title":"GatsbyJS + Netlify_その2"}}},{"node":{"id":"3777734d-dc86-5124-830b-b123179a6255","fields":{"slug":"/posts/田舎道/"},"frontmatter":{"title":"田舎道"}},"next":{"fields":{"slug":"/posts/nuxtで作ったプロジェクトを-s-3-にデプロイする。ついでにパイプラインも作成/"},"frontmatter":{"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 "}},"previous":{"fields":{"slug":"/posts/gatsby-js-netlify-その-1/"},"frontmatter":{"title":"GatsbyJS + Netlify_その1"}}},{"node":{"id":"b911ff27-f1bd-5dbd-8d55-bc836c9d0864","fields":{"slug":"/posts/nuxtで作ったプロジェクトを-s-3-にデプロイする。ついでにパイプラインも作成/"},"frontmatter":{"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 "}},"next":{"fields":{"slug":"/posts/linked-in-apiを使う/"},"frontmatter":{"title":"LinkedInAPIを使う"}},"previous":{"fields":{"slug":"/posts/田舎道/"},"frontmatter":{"title":"田舎道"}}},{"node":{"id":"868b483d-2cde-508c-8978-327a3f734203","fields":{"slug":"/posts/linked-in-apiを使う/"},"frontmatter":{"title":"LinkedInAPIを使う"}},"next":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-3/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3"}},"previous":{"fields":{"slug":"/posts/nuxtで作ったプロジェクトを-s-3-にデプロイする。ついでにパイプラインも作成/"},"frontmatter":{"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 "}}},{"node":{"id":"f22af0ac-f3e5-5cc1-b552-8c66b6026112","fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-3/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3"}},"next":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-2/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その2"}},"previous":{"fields":{"slug":"/posts/linked-in-apiを使う/"},"frontmatter":{"title":"LinkedInAPIを使う"}}},{"node":{"id":"569f7ab2-0c83-5683-81fa-21c69fd5117a","fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-2/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その2"}},"next":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-1/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その1"}},"previous":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-3/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3"}}},{"node":{"id":"9abaf084-569e-53db-970a-42f6b1961c26","fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-1/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その1"}},"next":{"fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-2-（デプロイまで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その2（デプロイまで）"}},"previous":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-2/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その2"}}},{"node":{"id":"2b4b8b24-8bac-5d6e-b8be-be93abf830a3","fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-2-（デプロイまで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その2（デプロイまで）"}},"next":{"fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-1-（albの作成まで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その1（ALBの作成まで）"}},"previous":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-1/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その1"}}},{"node":{"id":"c3a9a179-8a04-5767-b325-56f39a3a8173","fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-1-（albの作成まで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その1（ALBの作成まで）"}},"next":null,"previous":{"fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-2-（デプロイまで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その2（デプロイまで）"}}}]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"f22af0ac-f3e5-5cc1-b552-8c66b6026112"}}}