{"componentChunkName":"component---src-templates-post-template-jsx","path":"/works/posts/2021-01-18--003","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"837cfc5e-b2f2-5a30-81b0-b6858bfff7b0","html":"<p><span class=\"title__sub1\">1. BitBucket Webhook 설정</span></p>\n<ul>\n<li>Repository -> Pepository settings -> Webhooks -> Add Webhook</li>\n<li>Push Webhook 설정<br>\n— URL : <a href=\"http://JENKINS-HOST/generic-webhook-trigger/invoke?token=build-test-wh-push\">http://JENKINS-HOST/generic-webhook-trigger/invoke?token=build-test-wh-push</a><br>\n— token 값이 중요!</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/f7419e7d08cb45e23f57fa11bf769a55/6e9ba/003-01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 731px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 80.41666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABlUlEQVQoz41Sy3KCQBD0e/M5Wmq8+Q055Z6qpOIhx1SqFMuICgrssss+eZkG4jNq7IJhKejp6Zlp8UR9e9E64mmaaq1tmhZFsb0PrTimc3fh+2vAdRee5yFFWZbFKcpyWwU8jsnWWkopUhBC8KgPURSR6pXSIAhxCAkLYrUhggtzQt6fkNVak2WZ0hWMNjDyT9nHZHCgM5lMps7UcZz53A13QDF5nl8lF0UO2dHovdNuDwaDfr/f6/W63S5ip9MZDodKqUbjAtlozRkdb7Kp61MSoWZ7irNunZeNiGFxnogdOOeIUspbnvM8i1mM34wxYRRicp63gs/lconGV6b+yP6SyxpFLY3yMC1IJUkC2SYKkSglpRBKGyas1OmBbKyBCEaM/4zRQRDUK9Nggxubg6RYFXQ0r9F4PHjGBzRcKEtjVqnJyrOpgRHWtQhc2AIU0YztQMYnQgnTW8Eif+XCLdZLq4oGlNc8H3d7tmZPb+OvmZ/ULYdlxhiSYrFvkZt+Pn+4D4+vL5++NKlN83vX8yIuVrvHD821mDozEdyqAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 01\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/f7419e7d08cb45e23f57fa11bf769a55/6e9ba/003-01.png\"\n        srcset=\"/devHistoryBlog/static/f7419e7d08cb45e23f57fa11bf769a55/8ff5a/003-01.png 240w,\n/devHistoryBlog/static/f7419e7d08cb45e23f57fa11bf769a55/e85cb/003-01.png 480w,\n/devHistoryBlog/static/f7419e7d08cb45e23f57fa11bf769a55/6e9ba/003-01.png 731w\"\n        sizes=\"(max-width: 731px) 100vw, 731px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>Pull Request Webhook 설정<br>\n— URL : <a href=\"http://JENKINS-HOST/generic-webhook-trigger/invoke?token=build-test-wh-pr\">http://JENKINS-HOST/generic-webhook-trigger/invoke?token=build-test-wh-pr</a><br>\n— 역시 token 값 중요!  </li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/c29316ea81ce16f403423c39ba9a239a/ace37/003-02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 666px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 124.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAZCAYAAAAxFw7TAAAACXBIWXMAABJ0AAASdAHeZh94AAACfElEQVQ4y5VV2ZKjMAzk//9t3+eo2oQQjoSAuW/QqgVmDAkzs1Sp7IBpuqWWYqVZSSc3pOCRUF1XVJYlVVVF0zTRb679OStRik5nm1zPI/d6Jdu26eI4Atr3PXVdJ6vse94PA8fI+4GGcVxBNbCFF5IkoaIoKE1TyrKM97nscT9b7sVxTCpRpLKC4qymUJVU1N0z4J5+27YSAMzznFNQ0chM9EsSYLYAPEk20bEih3VdCyNhmOUid2CpZow7uRp3A4hDANS50RfumwFAk4TJ0jJpN01DKbP6G03keCGVnEs82wNu5O8UWuYPLaPkCidLUeZI1xSgeN/ZZwUcOE84DLsg7vcbPUL2p+9T+HiQ57n8kURe1DaChWAf2GhlKGC7ZEM6GOV5IZaZi5NJ5RHIszRA3VJWtlQ1/RYQAIoNDpsgKq5yEATkM7vb7SarH/iyehxQgHfghtlmzZouy6xQ1+FhRx0fQAdpRkjF3DUcDKAZIgCMD6yAZkLxoGCGcTnS1WNGnDcfqx8Ic6hQLP+7vrZeNTlSEsWKoijiDxTSz5CmC4YLv9eKm62395HeY1B8fH6K5FcX5Nr2Wew1jsP6rsHwi+W0vPAFtv3o7IyRVUR0ZlAoeJJsHsaKnLmuK3kzjT8uZwCi2FpwQbysHRfuCVCDYoTBJgEfxOGQTX6/36nmqppn9/19CAjb+L5HztUR4AsPXtjm1cjajK8jQJgWVYR0PXzBYjuynuMQED18Pp3J4b8Dk9F0MFgPGM4VbZnIn8tAvutwwtU6E38CeykZgD130UfQsBcdmTQbBT/8Cx5XOc9kQKCyilm+6or/AoT/3t/e6MaA82RpfgX4D/TUpUlGdVAqAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 02\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/c29316ea81ce16f403423c39ba9a239a/ace37/003-02.png\"\n        srcset=\"/devHistoryBlog/static/c29316ea81ce16f403423c39ba9a239a/8ff5a/003-02.png 240w,\n/devHistoryBlog/static/c29316ea81ce16f403423c39ba9a239a/e85cb/003-02.png 480w,\n/devHistoryBlog/static/c29316ea81ce16f403423c39ba9a239a/ace37/003-02.png 666w\"\n        sizes=\"(max-width: 666px) 100vw, 666px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p><span class=\"title__sub1\">2. Jenkins 설치</span>\n<span class=\"title__sub2\">1. Compose 파일 작성</span></p>\n<ul>\n<li>jenkins 는 docker 기반으로 설치를 진행하였다.</li>\n<li>추후 테스트 도구 확장을 위해 docker-compose 파일을 생성하여 서비스 기동 시켰다.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"cmd\"><pre class=\"language-cmd\"><code class=\"language-cmd\"># jenkins-compose.yml\nversion: &quot;3.6&quot;\nservices:\n    jenkins:\n        image: jenkins/jenkins\n        container_name: jenkins\n        ports:\n            - 10000:8080\n            - 50000:50000\n        volumes:\n            - ~/docker-volumes/jenkins:/var/jenkins_home</code></pre></div>\n<br>\n<p><span class=\"title__sub2\">2. 서비스 기동</span></p>\n<ul>\n<li>\n<p>compose 파일 실행 전 volume 디렉토리를 생성한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ mkdir ~/docker-volumes/jenkins\n$ docker-compose -f jenkins-compose.yml up -d</code></pre></div>\n</li>\n</ul>\n<br>\n<p><span class=\"title__sub2\">3. Jenkins 기동 시 permission 오류</span></p>\n<ul>\n<li>위에 compose 파일 실행 전 volume 디렉토리를 생성하지 않으면 아래와 같은 permission 오류가 난다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/f4014ee034b2108d9754029a0e6a29f1/6da96/003-05.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 922px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 13.750000000000002%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABJ0AAASdAHeZh94AAAAiElEQVQI102OWQ7CMAxEexoEVGR1FqclQu39zzTYiRD9eHI8M7azfI43eq84z46UHTzdYNwDzq+w7inMauxV+6P6lSXvFZQsDlncGsn7hUgGuXhUjqhVYEKpYfRa9XApQTIBLDPcEtqWhrfcE2GNHrQzkrKVYSga+jEHJ+qxHMnZj2WqaUY/9gU6MmCdiiPj5QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 05\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/f4014ee034b2108d9754029a0e6a29f1/6da96/003-05.png\"\n        srcset=\"/devHistoryBlog/static/f4014ee034b2108d9754029a0e6a29f1/8ff5a/003-05.png 240w,\n/devHistoryBlog/static/f4014ee034b2108d9754029a0e6a29f1/e85cb/003-05.png 480w,\n/devHistoryBlog/static/f4014ee034b2108d9754029a0e6a29f1/6da96/003-05.png 922w\"\n        sizes=\"(max-width: 922px) 100vw, 922px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>Host에 생성된 volume 디렉토리 owner 가 root 이기 때문에 오류가 발생하였다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/c965f23a31fbf8d5b4e2ae164292c448/508ef/003-06.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 578px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 19.583333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABJ0AAASdAHeZh94AAAA0UlEQVQY0yVQ7ZKEIAzzVW5u51BPwQ9AUFHEdXdm7/2fJ1fqj0yhJGlDcT53xGPFtnloo2Bsh2Fsuea71gojQZuOqoRSFSRBdTWjlRUaWd5oBYrXO7HhslgW2KmH8yOcuzFTPxuYacAaJlgaZG3maOIOPKD5faBm/KBI54ZA282zYcFB5nfPIaWAnMCTeD8CPn8XvS/Y40ycnGxB00uIpoaoHhDlF4rnFRFJeKSVza5XJGPHkfkrdk/nHifx0hnI/N7c0wI5jeg1vgeHSkmUZPgP1CeCp2AMXCsAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 06\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/c965f23a31fbf8d5b4e2ae164292c448/508ef/003-06.png\"\n        srcset=\"/devHistoryBlog/static/c965f23a31fbf8d5b4e2ae164292c448/8ff5a/003-06.png 240w,\n/devHistoryBlog/static/c965f23a31fbf8d5b4e2ae164292c448/e85cb/003-06.png 480w,\n/devHistoryBlog/static/c965f23a31fbf8d5b4e2ae164292c448/508ef/003-06.png 578w\"\n        sizes=\"(max-width: 578px) 100vw, 578px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>해결방법은<br>\n— 이미 생성된 volume 디렉토리 owner 를 현재 사용자로 변경하거나<br>\n— compose 파일 실행 전 volume 디렉토리를 먼저 생성하면 된다.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\"># 서비스 기동 후 : permission 오류 해결\n$ sudo chown 현재사용자:현재사용자 -R ~/docker-volumes/jenkins\n\n# 서비스 기동 전 : ~/docker-volumes/jenkins 디렉토리 생성\n$ mkdir ~/docker-volumes/jenkins</code></pre></div>\n<p><span class=\"title__sub1\">3. Jenkins 세팅</span></p>\n<p><span class=\"title__sub2\">1. Unlock Jenkins</span></p>\n<ul>\n<li>jenkins 웹페이지 접속 시 아래와 같이 init password를 등록하라고 나온다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/07f30343b241b9e43a76622e74ab3972/d2a60/003-03.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 807px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAABJ0AAASdAHeZh94AAACG0lEQVQ4y51Ty67aMBTke/sR/Y/uuuvuSghRNgipqMt2UaksKqhogCTk4TgPkvBIMj1jSGoqXVWqpYnt2D6eM3M8cl0X+/0eSZIgiiL8q3Vdh7ZtDTi258SoKAporRGGITzPQ1VVyLLM9GVZ4nQ6mXXuu1wuBnVdG1yvVzRN84QRP2maYjabYTqdYj6fYzweY7VaYblcmn8vLy9YLBaYTCZQSpkLeSbPc5zlAraBIT+8lSlzExHH8TDnYY6DIMButzP98XgU+Aik9zwXWtb7NuLndrtBxRGOvm8YMH0eZOBQekrhOA42mw3W6zV+bnfY7lyDtYwPno9OiA0Br7cGoS4QKY0gDOCTAQMqCShGHcQ4R9hpYax0Ap0VSIsSOi/MOC9OhtQQsG07nKsz6lOJWjZVglo2nTkXM3KVIBOUqZiV5Q9kKEVDGleLgTRoCEi6dZzgnKSoI4UqjE1vIP9LmWfeEcmvPZSkqJw9tHNAHstecbsTQn1J3VOW6IHoZtKRtDSNSDVUwvRSeKLtQcTfio6ujAORgdAPAwkGGxiydBIxg4a0D3HZ9zXJ8mDPmmxEK67xTGvV31NAlo0vNxN0ly5TGxYzg/VFbb+WHva/J4ZkY4My2Pj7Rdi4CuubVEpLDe3bbPSVb1wU4e33aqNp2qe3Pnpt458DdxavrUmy+LaN8PGrg0/f3XvK/9vah27vFz/w5t1nvP3wBb8BKDl/rIm3aMgAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 03\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/07f30343b241b9e43a76622e74ab3972/d2a60/003-03.png\"\n        srcset=\"/devHistoryBlog/static/07f30343b241b9e43a76622e74ab3972/8ff5a/003-03.png 240w,\n/devHistoryBlog/static/07f30343b241b9e43a76622e74ab3972/e85cb/003-03.png 480w,\n/devHistoryBlog/static/07f30343b241b9e43a76622e74ab3972/d2a60/003-03.png 807w\"\n        sizes=\"(max-width: 807px) 100vw, 807px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>해당 디렉토리를 볼 필요 없이 jenkins 로그를 확인하면 password를 볼 수 있다.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ docker logs jenkins</code></pre></div>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/56f5155c887fc791e0267fe5f412d82f/66caf/003-07.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 853px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 36.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA4klEQVQY022Qa04DMQyEcxpatk7iZGPnTfkNKlyDA1DB8XGyWlokpE/WKNFkJla1cW3xntZT72mfsT/lnAPAA+gj6MNE9EGbo+piKFQrt8pFxNTbi0VOpk45oAOLJ/QgwrkxhzmdcyiBKnOL20w95hLOzzWlUCpJBTET4xosRy+Co2NGYx/VF8Cn0deBuVrzbc2HPoFdEBe5trjYKfbCN0byO7nLipfVvokI+Ir6hZwkxORHzghxuZBUkDrew2bbUFRJ2s45CJXibXk8diEfyeuv4R5V5Mt/kZ2VnZnJMf1v/gF2lFbG15/m5wAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 07\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/56f5155c887fc791e0267fe5f412d82f/66caf/003-07.png\"\n        srcset=\"/devHistoryBlog/static/56f5155c887fc791e0267fe5f412d82f/8ff5a/003-07.png 240w,\n/devHistoryBlog/static/56f5155c887fc791e0267fe5f412d82f/e85cb/003-07.png 480w,\n/devHistoryBlog/static/56f5155c887fc791e0267fe5f412d82f/66caf/003-07.png 853w\"\n        sizes=\"(max-width: 853px) 100vw, 853px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<br>\n<p><span class=\"title__sub2\">2. Jenkins 플러그인 설치</span>\n<span class=\"title__sub3\">2-1. Jenkins 기본 플러그인 설치</span></p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/42474c208e53f2cfab8498d7b84b2841/eafa0/003-04.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 939px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 53.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABJ0AAASdAHeZh94AAAB6klEQVQoz21TaXPaQAz1//9J+ZxpG5oLcEMNPrAhvq/1CT54lRSGzCT1zBtptdqnt1pZM00Tu90Oy+UShmGI5djxeBR/tVpB13W4rgv+LpfLDV8/jmmcuN1usV6v4TgONpsNEVp4930pZNAeF/I8D/M8YxxHTNMkYF/WI69HIdXG4YyZNuf5I2mmjQv7kjiQzyQDzuczuq5DXddiu7YVv2ka8juJCWGsGhRtj7zuUJItmg5p1YDjUVkjUTUGUvDteoSJik1SkNSSGLnyoxPgbm3j3vBw/5dgHPDsRvDrE9yyhRGkSPMCOrWEW8CwqTU+taQ/nUSZUhWKohTF2hMdvtMdPNgBrLwRuKqH3w7wiHQX5cgoefP2RmQmHVYoyxJVVQlZ09SyLq4xTQ9z7KsTnLKDVbSwiw5m3hIamOT/eU9QkgLuVUt9qyolYOIsy5CmqYAVclxb7EP8JHU/LF9ULvYRHij2m+xrUGB1TJDQQYtenq96oNd2XQ+2ZdHLHxAGAaIohiJ1XFD75cZ4iSo8ByVeQnUDrx8Zbog4zehQJIjj+BvCMEJF/RPChePjyYsJ0dV+gtW/EiH3MEkSulr2AVIcxwl8UsfzyuD+9X0P7XNAp/9glGHmcZhnwvUP4ZnkFy2VEqJhGG7j9A8rKjyMK6B01QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 04\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/42474c208e53f2cfab8498d7b84b2841/eafa0/003-04.png\"\n        srcset=\"/devHistoryBlog/static/42474c208e53f2cfab8498d7b84b2841/8ff5a/003-04.png 240w,\n/devHistoryBlog/static/42474c208e53f2cfab8498d7b84b2841/e85cb/003-04.png 480w,\n/devHistoryBlog/static/42474c208e53f2cfab8498d7b84b2841/eafa0/003-04.png 939w\"\n        sizes=\"(max-width: 939px) 100vw, 939px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p><span class=\"title__sub3\">2-2. BitBucket 연동 관련 플러그인 설치</span></p>\n<ul>\n<li>jenkins 관리 > 플러그인 관리 > Bitbucket 검색 후 아래 두개 설치하면 된다.<br>\n— Generic Webhook Trigger<br>\n— Bitbucket Plugin  </li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/78457f0184f1f35521a67870ab9e486f/6f92b/003-08.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 40%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABJ0AAASdAHeZh94AAABgUlEQVQoz5WSXWsTQRSG97965aW/xAtBKIJIkX7ZUFtaRBQvvCtCBaUh2Xw0iel+Znf2y9md2WSfzm5M73rhwDPnzDuHw3uGse5mcybTGf2Bzes377j+ccN8sWR6N2exvMdxPO6fxMVxfTw/wPV8wlWEdfnpCwcnZ7zdP+TZ8xe8fLXH+6Me+wcfODT6Se/8SY5Pz+l9vOTi6jNnF1d8/fYdazxb8vN3n5tft52rFns0NkwYmji0xwzs0T+2eavtGAy359v+gPFkioVZWSHxQoG/isnzgs2maWW2+/+trqHMQ2LfJg5GrDybJJo9kokFRbLgb7o0dU6HkgG6Cg0B61qyaRq01jTGiLWu1+RFRixCRLoyDmNqlaN3VBlVmaKqlgxVbuPuTquya6aURtc1ltI1UZLxx4twgpjUjFxWqkOW1WO+o63XxoTW6y6WVWXqSrIsR0qJVZuHEknSfQHX9YjjuDunaYoQgiiKjCY6PTIURUFlmpSlpDaOGjNuS5u3PACXFU5+uEPJVAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 08\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/78457f0184f1f35521a67870ab9e486f/d9199/003-08.png\"\n        srcset=\"/devHistoryBlog/static/78457f0184f1f35521a67870ab9e486f/8ff5a/003-08.png 240w,\n/devHistoryBlog/static/78457f0184f1f35521a67870ab9e486f/e85cb/003-08.png 480w,\n/devHistoryBlog/static/78457f0184f1f35521a67870ab9e486f/d9199/003-08.png 960w,\n/devHistoryBlog/static/78457f0184f1f35521a67870ab9e486f/07a9c/003-08.png 1440w,\n/devHistoryBlog/static/78457f0184f1f35521a67870ab9e486f/6f92b/003-08.png 1501w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<br>\n<p><span class=\"title__sub2\">3. Jenkins Credential 등록</span></p>\n<ul>\n<li>credential 는 보통 ssh로 등록하는데, </li>\n<li>해당 시나리오의 경우 comments 등록이 필요하여 CI용 bitbucket 계정을 생성 후 등록하였다.</li>\n</ul>\n<p><span class=\"title__sub3\">#. Jenkins Credential 등록 방법</span></p>\n<ul>\n<li>jenkins 관리 > Manage Credentials</li>\n<li>아래 그림 부분에 마우스 오버 시 작은 화살표가 생기는데, 그거 클릭하면 ‘add credential’ 버튼이 생긴다.</li>\n<li>또는 global 클릭 후 좌측에 add credential 버튼을 클릭하면 된다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/d58c52fc6a629b9e42e078f0632b8424/2a195/003-09.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 620px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 31.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABGUlEQVQY042OXUuDYBiG/bO1TFyNMkyiNSgb21qGG9oQYeyog/5DQQedVLjUTWFBW6XlVJjadK8fvQ7qpA66uHi4uQ8ebkSSJFVRnkYj0zSGAxgVVZFfxuNXN9A+AvnNM2dRlmVp9gcIw/J0jWE5oX0uHlWbh8cntWarwbQabKfeFqpnnVNO7F1cQnmxxwndH3mhixBUpYAT5D5NlWmstLu+SaIbO2tFKIHi2/BiRWKPPChTFRQtreJEYekKtgVFPH8WRaHjzZ/fXRAn+cLviWmax9SZTm6upatbW1YjAOafOXEc57MXYAEASJIkhsa/TFIQhpPh4PGh37+/03RdVVVd1wzDgI+R7B94QTB1XNt17SWWZfm+D/svvUIhFwHjDqwAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 09\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/d58c52fc6a629b9e42e078f0632b8424/2a195/003-09.png\"\n        srcset=\"/devHistoryBlog/static/d58c52fc6a629b9e42e078f0632b8424/8ff5a/003-09.png 240w,\n/devHistoryBlog/static/d58c52fc6a629b9e42e078f0632b8424/e85cb/003-09.png 480w,\n/devHistoryBlog/static/d58c52fc6a629b9e42e078f0632b8424/2a195/003-09.png 620w\"\n        sizes=\"(max-width: 620px) 100vw, 620px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>‘bitbucket-auth-id-pw’ 라는 이름의 jenkins에서 사용할 bitbucket 계정을 등록하면 된다.  </li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/52d9c35b5d1872aa037edc86cef70587/27524/003-10.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 646px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 99.58333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAABJ0AAASdAHeZh94AAABS0lEQVQ4y6VUS1LEIBTMnTyFO8/kCVx4D8ulnzO4cvYuZpOYDxACCZC076EZZyxnJmGo6oJQxUt3v4asLEso1SKEAO/9bh7HMQlZXddoGoG2bSGVgpQSSiq4n+JrkWmtIYRApzsYa8HfXdfR3ybwmKbfeQkyPpznOQQxm+UynHMRwzBEzN9nJfNhYwxYOvvZNE1cRyuIeVXR/uf3Pis5K5n/2vd9ZDHLOzUWSa6qCnlREFMbaZ9icFbyPitep3T2QLK1hnIoY2TYzzUd/Veypahw9tjwJV1cLJnnff+SC3JTGGu7eVQyZ1CRfyx9Rt8PCKkMvXcwnSEfVSwsRBPXISQW5LvLOSzyArrVO8nJHlqSp4mhJh/5tsyNSS74pxWXx+bpfYuHtw+8bLb0BobLg31994yr20fc3L9CWXfwBqaMbKTDnqiufUiP4QvK7yPSmiaAsAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 10\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/52d9c35b5d1872aa037edc86cef70587/27524/003-10.png\"\n        srcset=\"/devHistoryBlog/static/52d9c35b5d1872aa037edc86cef70587/8ff5a/003-10.png 240w,\n/devHistoryBlog/static/52d9c35b5d1872aa037edc86cef70587/e85cb/003-10.png 480w,\n/devHistoryBlog/static/52d9c35b5d1872aa037edc86cef70587/27524/003-10.png 646w\"\n        sizes=\"(max-width: 646px) 100vw, 646px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<hr>\n<p><a href=\"https://eunyoung-autocrypt.github.io/devHistoryBlog/works/posts/2021-01-18--001\">> [작업로그] CI/CD 구축 #1 - CI/CD 시나리오</a><br>\n<a href=\"https://eunyoung-autocrypt.github.io/devHistoryBlog/works/posts/2021-01-18--002\">> [작업로그] CI/CD 구축 #2 - Docker, Docker Compose 설치</a>  </p>\n<p><a href=\"https://eunyoung-autocrypt.github.io/devHistoryBlog/works/posts/2021-01-21--001\">> [작업로그] CI/CD 구축 #4 - Jenkins Item 등록 및 Pipeline 작성</a><br>\n<a href=\"https://eunyoung-autocrypt.github.io/devHistoryBlog/works/posts/2021-01-23--002\">> [작업로그] CI/CD 구축 #5 - sonarqube 설치 및 pipeline 작성</a>  </p>","fields":{"tagSlugs":["/tags/ci-cd/","/tags/bitbucket/","/tags/jenkins/"],"slug":"/works/posts/2021-01-18--003"},"frontmatter":{"title":"[작업로그] CI/CD 구축 #3","tags":["ci/cd","bitbucket","jenkins"],"date":"2021-01-18","description":"BitBucket 설정 및 Jenkins 설치"}}},"pageContext":{"slug":"/works/posts/2021-01-18--003"}},"staticQueryHashes":[]}