{"id":149,"date":"2019-10-29T17:34:13","date_gmt":"2019-10-29T08:34:13","guid":{"rendered":"https:\/\/weseek.co.jp\/tech\/?p=149"},"modified":"2023-04-17T11:43:31","modified_gmt":"2023-04-17T02:43:31","slug":"kubernetes-%e6%99%82%e4%bb%a3%e3%81%ae-ci-cd%e3%80%8cjenkins-x%e3%80%8d%e3%81%a8%e3%81%af%ef%bc%9f-%e3%80%9c%e4%b8%ad%e7%b7%a8-%e3%80%9c","status":"publish","type":"post","link":"https:\/\/weseek.co.jp\/tech\/149\/","title":{"rendered":"Kubernetes\u6642\u4ee3\u306eCI\/CD Jenkins X\u3068\u306f?-\u4e2d\u7de8"},"content":{"rendered":"<p><a href=\"https:\/\/weseek.co.jp\/tech\/353\/\">Kubernetes\u6642\u4ee3\u306e CI\/CD Jenkins X\u3068\u306f\uff1f|\u524d\u7de8<\/a> \u3067\u4e88\u544a\u3057\u305f\u901a\u308a\u3001\u672c\u8a18\u4e8b\u3067\u306f\u5b9f\u969b\u306b Jenkins X \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3001\u3069\u306e\u3088\u3046\u306a\u69cb\u6210\u3067\u30af\u30e9\u30b9\u30bf\u304c\u69cb\u7bc9\u3055\u308c\u308b\u306e\u304b\u3092\u898b\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p><!--more--><\/p>\n\n<h1>\u524d\u63d0<\/h1>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001GKE (Google Kubernetes Engine) \u3078 Jenkins X \u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u624b\u9806\u3092\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u306e\u3067\u3001\u307e\u305a Jenkins X \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u524d\u306b\u4ee5\u4e0b\u306e\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<ol>\n<li><a href=\"https:\/\/console.cloud.google.com\/kubernetes\/\">GKE<\/a> \u3067\u30af\u30e9\u30b9\u30bf\u3092\u4f5c\u6210\u3067\u304d\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u30fb\u6a29\u9650\u3092\u6301\u3063\u3066\u3044\u308b\u3053\u3068<\/li>\n<li>MacOS \u3084 Linux \u306a\u3069\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u74b0\u5883\u4e0a\u3067 gcloud, kubectl \u30b3\u30de\u30f3\u30c9\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u3053\u3068<br \/>\n3 gcloud \u30b3\u30de\u30f3\u30c9\u3067 1. \u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b3\u30de\u30f3\u30c9\u304c\u5b9f\u884c\u3067\u304d\u308b\u72b6\u614b\u306b\u306a\u3063\u3066\u3044\u308b<\/p>\n<ul>\n<li><code>gcloud auth login<\/code>  \u3067\u30ed\u30b0\u30a4\u30f3\u3066\u3044\u308b\u72b6\u614b\u3067\u3042\u308c\u3070\u554f\u984c\u3042\u308a\u307e\u305b\u3093<\/li>\n<\/li>\n<li>2., 3. \u306b\u3064\u3044\u3066\u306f\u3001Google Cloud Console \u4e0a\u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b Google Cloud Shell \u3092\u4f7f\u3046\u3053\u3068\u3067\u4ee3\u66ff\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>\u3053\u306e\u8fba\u306b\u3064\u3044\u3066\u306f\u3001\u4ee5\u4e0b\u306e\u8a18\u4e8b\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li><a href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/quickstart?hl=ja\">\u30af\u30a4\u30c3\u30af\u30b9\u30bf\u30fc\u30c8 | Kubernetes Engine \u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 | Google Cloud<\/a><\/li>\n<li><a href=\"https:\/\/qiita.com\/sat8bit\/items\/65d49ea5072888fc8274\">GKE \u3067\u30b5\u30fc\u30d3\u30b9\u30921\u304b\u3089\u69cb\u7bc9\u3059\u308b #1<\/a><\/li>\n<\/ul>\n<p>\u307e\u305f\u3001\u672c\u8a18\u4e8b\u3067\u306f Git Provider \u3068\u3057\u3066 Jenkins X \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3067\u3042\u308b GitHub \u3092\u5229\u7528\u3057\u307e\u3059\u3002jx \u30b3\u30de\u30f3\u30c9\u306f\u3001Jenkins X \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u9014\u4e2d\u3067\u3001\u69cb\u7bc9\u3057\u305f Kubernetes \u30af\u30e9\u30b9\u30bf\u4e0a\u306b staging\/production \u74b0\u5883\u3068\u3057\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306e\u60c5\u5831\u3092 GitHub \u4e0a\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3068\u3057\u3066\u767b\u9332\u3059\u308b\u305f\u3081\u3001GitHub \u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<h1>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u307f\u3088\u3046<\/h1>\n<h2>jx \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>jx \u30b3\u30de\u30f3\u30c9\u3068\u306f\u3001Jenkins X \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3084\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7ba1\u7406\u306a\u3069\u3092\u884c\u3048\u308b\u3001CLI \u30c4\u30fc\u30eb\u3067\u3059\u3002Jenkins X \u3092\u4f7f\u3044\u59cb\u3081\u308b\u305f\u3081\u306b\u306f\u3001\u307e\u305a\u3053\u306e\u30c4\u30fc\u30eb\u3092\u7528\u610f\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br \/>\njx \u30b3\u30de\u30f3\u30c9\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u306b\u306f\u3001gcloud\/kubectl \u304c\u63c3\u3063\u3066\u3044\u308b\u74b0\u5883\u3067\u4ee5\u4e0b\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre><code>$ curl -L https:\/\/github.com\/jenkins-x\/jx\/releases\/download\/v1.3.167\/jx-linux-amd64.tar.gz | tar xzv \n$ sudo mv jx \/usr\/local\/bin\n<\/code><\/pre>\n<ul>\n<li><code>1.3.167<\/code>  \u306e\u90e8\u5206\u306b\u3064\u3044\u3066\u306f\u3001jx \u30b3\u30de\u30f3\u30c9\u306e\u30ea\u30ea\u30fc\u30b9\u30da\u30fc\u30b8\u304b\u3089\u6700\u65b0\u306e\u3082\u306e\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\n<ul>\n<li><a href=\"https:\/\/github.com\/jenkins-x\/jx\/releases\/\"><a href=\"https:\/\/github.com\/jenkins-x\/jx\/releases\/\">https:\/\/github.com\/jenkins-x\/jx\/releases\/<\/a><\/a><\/li>\n<\/li>\n<li>\u672c\u8a18\u4e8b\u3067\u306f\u3001\u4e0a\u8a18\u306e\u30b3\u30de\u30f3\u30c9\u306e\u901a\u308a 1.3.67 \u3092\u5229\u7528\u3057\u307e\u3059<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u4e0a\u8a18\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u30b7\u30b9\u30c6\u30e0\u4e0a\u3067  <code>jx<\/code>  \u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n\u3064\u3044\u3067\u306b\u3001bash \u3084 zsh \u306e Tab \u30ad\u30fc\u3092\u7528\u3044\u305f\u88dc\u5b8c\u6a5f\u80fd\u306b\u3082\u5bfe\u5fdc\u3055\u305b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<br \/>\nUbuntu \u306e bash \u74b0\u5883\u4e0b\u3067\u306f\u4ee5\u4e0b\u3092\u5b9f\u884c\u3057\u3066\u30ed\u30b0\u30a4\u30f3\u3057\u306a\u304a\u3059\u3068\u3001 <code>jx<\/code>  \u30b3\u30de\u30f3\u30c9\u3068\u6253\u3063\u305f\u5f8c\u306b Tab \u30ad\u30fc\u3092\u62bc\u3059\u3068\u30b3\u30de\u30f3\u30c9\u5019\u88dc\u304c\u8868\u793a\u3055\u308c\u3001\u4fbf\u5229\u3067\u3059\u3002<\/p>\n<pre><code>$ jx completion bash | sudo tee \/etc\/bash_completion.d\/jx\n$ exit\n(\u518d\u5ea6\u30ed\u30b0\u30a4\u30f3\u3059\u308b)\n$ jx [Tab]\ncloudbees    compliance   context      create       edit         gc           import       install      namespace    preview      prompt       rsh          start        step         sync         uninstall    upgrade\ncompletion   console      controller   delete       environment  get          init         logs         open         promote      repository   shell        status       stop         team         update       version<\/code><\/pre>\n<h2>Kubernetes \u30af\u30e9\u30b9\u30bf\u306e\u69cb\u7bc9<\/h2>\n<p>\u305d\u308c\u3067\u306f\u3001\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u7bc9\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<br \/>\n\u307e\u305a\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u6253\u3061\u307e\u3059\u3002<\/p>\n<pre><code>$ jx create cluster gke --skip-login<\/code><\/pre>\n<p>\u3059\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b GCP \u4e0a\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9078\u629e\u80a2\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u7bc9\u3059\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u77e2\u5370\u30ad\u30fc\u3067\u9078\u629e\u3057\u3066 Enter \u3092\u62bc\u3057\u307e\u3059\u3002<\/p>\n<pre><code>? Google Cloud Project:  [Use arrows to move, type to filter, ? for more help]\n  project-a\n  project-b\n\u276f project-c<\/code><\/pre>\n<p>\u3044\u304f\u3064\u304b jx \u5074\u3067\u51e6\u7406\u304c\u5b9f\u884c\u3055\u308c\u305f\u306e\u3061\u306b\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30be\u30fc\u30f3\u9078\u629e\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<br \/>\n\u6771\u4eac\u30ea\u30fc\u30b8\u30e7\u30f3\u3067\u3042\u308c\u3070\u3001 <code>asia-northeast1<\/code>  \u306e\u3044\u305a\u308c\u304b\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u3092\u9078\u629e\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre><code>? Google Cloud Zone:  [Use arrows to move, type to filter, ? for more help]\n  asia-east1-a\n  asia-east1-b\n  asia-east1-c\n\u276f asia-northeast1-a\n  asia-northeast1-b\n  asia-northeast1-c\n  asia-south1-a\n  asia-south1-b\n  asia-south1-c\n  asia-southeast1-a<\/code><\/pre>\n<p>\u6b21\u306b\u3001\u8d77\u52d5\u3059\u308b\u30de\u30b7\u30f3\u30bf\u30a4\u30d7\u3092\u9078\u629e\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002Jenkins X \u3067\u306f\u3001\u6700\u5c0f\u3067\u3082  <code>n1-standard-2<\/code>  \u3092\u63a8\u5968\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u306e\u3067\u3001 <code>n1-standard-2<\/code>  \u3092\u9078\u629e\u3057\u307e\u3059\u3002<br \/>\n(\u300c?\u300d\u30ad\u30fc\u3092\u62bc\u3059\u3068\u3001\u9078\u629e\u80a2\u306b\u95a2\u3059\u308b\u60c5\u5831\u304c\u51fa\u3066\u304d\u307e\u3059)<\/p>\n<pre><code>\u24d8 We recommend a minimum of n1-standard-2 for Jenkins X,  a table of machine descriptions can be found here https:\/\/cloud.google.com\/kubernetes-engine\/docs\/concepts\/cluster-architecture\n? Google Cloud Machine Type:  [Use arrows to move, type to filter]\n  g1-small\n  n1-standard-1\n\u276f n1-standard-2\n  n1-standard-4\n  n1-standard-8\n  n1-standard-16\n  n1-standard-32\n  n1-standard-64\n  n1-standard-96\n  n1-highmem-2<\/code><\/pre>\n<p>\u6b21\u306b\u3001Kubernetes Node \u6700\u5c0f\u6570\u30fb\u6700\u5927\u6570\u3092\u5165\u529b\u3057\u307e\u3059\u3002Jenkins X \u3067\u306f 3 Node \u3092\u63a8\u5968\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u4eca\u56de\u306f\u304a\u8a66\u3057\u306e\u305f\u3081\u6700\u5c0f 1\u30fb\u6700\u5927 2 \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre><code>\u24d8 We recommend a minimum of 3 for Jenkins X,  the minimum number of nodes to be created in each of the cluster&amp;#039;s zones\n? Minimum number of Nodes (3)\n? Maximum number of Nodes [? for help] (5)<\/code><\/pre>\n<p>\u3053\u3053\u307e\u3067\u5165\u529b\u3059\u308b\u3068\u3001  <code>Creating cluster...<\/code>  \u3068\u8868\u793a\u3055\u308c\u3001\u5b9f\u969b\u306b\u30af\u30e9\u30b9\u30bf\u306e\u69cb\u7bc9\u304c\u958b\u59cb\u3055\u308c\u307e\u3059\u3002(\u6570\u5206\u3067\u7d42\u308f\u308b\u3068\u601d\u3044\u307e\u3059)<br \/>\n<a href=\"https:\/\/console.cloud.google.com\/kubernetes\/list?\">GKE \u7ba1\u7406\u753b\u9762<\/a> \u3092\u78ba\u8a8d\u3059\u308b\u3068\u3001\u30af\u30e9\u30b9\u30bf\u304c\u69cb\u7bc9\u3055\u308c\u3066\u3044\u308b\u69d8\u5b50\u3092\u78ba\u8a8d\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h2>Kubernetes \u30af\u30e9\u30b9\u30bf\u306e\u8a2d\u5b9a<\/h2>\n<p>\u30af\u30e9\u30b9\u30bf\u4f5c\u6210\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001 <code>jx<\/code>  \u306f\u3059\u304b\u3055\u305a\u30af\u30e9\u30b9\u30bf\u306e\u6e96\u5099\u306b\u53d6\u308a\u639b\u304b\u3063\u3066\u304f\u308c\u307e\u3059\u3002<br \/>\n\u3053\u306e\u6e96\u5099\u4f5c\u696d\u3067\u306f\u3001Kubernetes \u30af\u30e9\u30b9\u30bf\u4e0a\u3067 Jenkins X \u304c\u7a3c\u50cd\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u3068\u306a\u308b Role\/ServiceAccount \u306e\u7528\u610f\u3084\u3001helm \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u884c\u308f\u308c\u307e\u3059\u3002<\/p>\n<pre><code>Initialising cluster ...\nGit configured for user: Hoge Hogeo and email *******\nTrying to create ClusterRoleBinding **********-cluster-admin-binding for role: cluster-admin for user *******\n: clusterrolebindings.rbac.authorization.k8s.io &quot;**********-cluster-admin-binding&quot; not foundCreated ClusterRoleBinding **********-cluster-admin-binding\nCreated ServiceAccount tiller in namespace kube-system\nTrying to create ClusterRoleBinding tiller for role: cluster-admin and ServiceAccount: kube-system\/tiller\nCreated ClusterRoleBinding tiller\nInitialising helm using ServiceAccount tiller in namespace kube-system\nhelm installed and configured<\/code><\/pre>\n<p>\u305d\u308c\u304c\u7d42\u308f\u308b\u3068\u3001\u6b21\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8cea\u554f\u3092\u805e\u304b\u308c\u307e\u3059\u3002ingress controller \u3068\u306f\u3001Kubernetes \u30af\u30e9\u30b9\u30bf\u5185\u3067\u7a3c\u50cd\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3001\u5916\u90e8\u306b\u516c\u958b\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u3053\u3068\u3067\u3059\u3002\u4eca\u56de\u306f\u3001Jenkins X \u3092\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3001  <code>y<\/code>  \u3068\u5165\u529b\u3057\u307e\u3057\u3087\u3046\u3002<br \/>\n(GKE \u306e\u5834\u5408\u306f\u672c\u6765 <a href=\"https:\/\/github.com\/kubernetes\/ingress-gce\">ingress-gce<\/a> \u304c\u7a3c\u50cd\u3057\u3066\u3044\u308b\u306f\u305a\u306a\u306e\u3067\u3001nginx-ingress-controller \u306f\u4e0d\u8981\u306a\u306f\u305a\u3067\u3059\u304c\u3001\u3053\u3053\u3067  <code>n<\/code>  \u3092\u9078\u629e\u3059\u308b\u3068\u30af\u30e9\u30b9\u30bf\u4e0a\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u30b5\u30fc\u30d3\u30b9\u3078\u306e\u30a2\u30af\u30bb\u30b9\u7d4c\u8def\u304c\u306a\u305c\u304b\u8a2d\u5b9a\u3055\u308c\u306a\u3044\u305f\u3081\u3001\u3053\u3053\u3067\u306f  <code>y<\/code>  \u3068\u3057\u307e\u3059)<\/p>\n<pre><code>? No existing ingress controller found in the kube-system namespace, shall we install one? [? for help] (Y\/n)<\/code><\/pre>\n<p>\u5165\u529b\u3059\u308b\u3068\u3001ingress controller \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u884c\u308f\u308c\u305f\u5f8c\u3001\u69cb\u7bc9\u3057\u305f Kubernetes \u30af\u30e9\u30b9\u30bf\u306b\u5bfe\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306e\u30c9\u30e1\u30a4\u30f3\u540d\u306b\u3064\u3044\u3066\u805e\u304b\u308c\u307e\u3059\u304c\u3001\u4eca\u56de\u306f\u305d\u306e\u307e\u307e [Enter] \u3092\u62bc\u3057\u307e\u3059\u3002<\/p>\n<pre><code>Waiting for external loadbalancer to be created and update the nginx-ingress-controller service in kube-system namespace\nNote: this loadbalancer will fail to be provisioned if you have insufficient quotas, this can happen easily on a GKE free account. To view quotas run: gcloud compute project-info describe\nExternal loadbalancer created\nWaiting to find the external host name of the ingress controller Service in namespace kube-system with name jxing-nginx-ingress-controller\nYou can now configure a wildcard DNS pointing to the new loadbalancer address XXX.XXX.XXX.XXX\n\nIf you do not have a custom domain setup yet, Ingress rules will be set for magic dns nip.io.\nOnce you have a customer domain ready, you can update with the command jx upgrade ingress --cluster\nIf you don&amp;#039;t have a wildcard DNS setup then setup a new CNAME and point it at: XXX.XXX.XXX.XXX.nip.io then use the DNS domain in the next input...\n? Domain [? for help] (XXX.XXX.XXX.XXX.nip.io)<\/code><\/pre>\n<h2>Jenkins X \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<p>\u3053\u3053\u307e\u3067\u5b8c\u4e86\u3059\u308b\u3068\u3001\u6b21\u306f\u3044\u3088\u3044\u3088 Jenkins X \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u3059\u3002<br \/>\nGitHub \u30a2\u30ab\u30a6\u30f3\u30c8\u540d\u306b\u3064\u3044\u3066\u805e\u304b\u308c\u308b\u306e\u3067\u3001\u524d\u63d0\u3067\u7528\u610f\u3057\u305f GitHub \u30a2\u30ab\u30a6\u30f3\u30c8\u540d\u3092\u5165\u529b\u3057\u307e\u3059\u3002<\/p>\n<pre><code>Lets set up a git username and API token to be able to perform CI\/CD\n\n? GitHub username for CI\/CD pipelines:<\/code><\/pre>\n<p>\u6b21\u306b\u3001API token \u3092\u767a\u884c\u3059\u308b\u3088\u3046\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u3001\u51fa\u529b\u3055\u308c\u305f URL \u3078\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066 token \u3092\u4f5c\u6210\u3057\u3001\u4f5c\u6210\u3057\u305f token \u3092\u5165\u529b\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre><code>To be able to create a repository on GitHub we need an API Token\nPlease click this URL https:\/\/github.com\/settings\/tokens\/new?scopes=repo,read:user,read:org,user:email,write:repo_hook,delete_repo\n\nThen COPY the token and enter in into the form below:\n\n? API Token:<\/code><\/pre>\n<p>\u5165\u529b\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3001Jenkins X \u304c\u4e88\u3081\u7528\u610f\u3057\u305f\u30af\u30e9\u30a6\u30c9\u74b0\u5883\u5411\u3051\u306e\u8a2d\u5b9a\u304c\u5165\u3063\u305f\u30ea\u30dd\u30b8\u30c8\u30ea\u304c\u624b\u5143\u306b\u30af\u30ed\u30fc\u30f3\u3055\u308c\u3001Jenkins X \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u958b\u59cb\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>Cloning the Jenkins X cloud environments repo to \/home\/hoge\/.jx\/cloud-environments\nCounting objects: 805, done.\nCompressing objects: 100% (6\/6), done.\nTotal 805 (delta 2), reused 6 (delta 2), pack-reused 797\nGenerated helm values \/home\/hoge\/.jx\/extraValues.yaml\nInstalling Jenkins X platform helm chart from: \/home\/hoge\/.jx\/cloud-environments\/env-gke\nwaiting for install to be ready, if this is the first time then it will take a while to download images<\/code><\/pre>\n<p>\u3053\u3053\u307e\u3067\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u308b\u3068\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002(10\u5206\u7a0b\u5ea6)<br \/>\n\u3084\u304c\u3066\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u308f\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u7d9a\u3044\u3066\u51fa\u529b\u3055\u308c\u307e\u3059\u3002\u6307\u793a\u306e\u901a\u308a URL \u3078\u30a2\u30af\u30bb\u30b9\u3057\u3001admin\/\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u30d1\u30b9\u30ef\u30fc\u30c9\u3067 Jenkins \u3078\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30ed\u30b0\u30a4\u30f3\u5f8c\u3001\u30da\u30fc\u30b8\u5185\u306b\u300cAPI\u30c8\u30fc\u30af\u30f3\u3092\u8868\u793a\u300d\u3068\u3044\u3046\u30dc\u30bf\u30f3\u304c\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u305d\u308c\u3092\u62bc\u3057\u3066\u51fa\u3066\u304d\u305f API \u30c8\u30fc\u30af\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre><code>Jenkins X deployments ready in namespace jx\n\n        ********************************************************\n\n             NOTE: Your admin password is: XXXXXXXX\n\n        ********************************************************\n\nGetting Jenkins API Token\nusing url http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/me\/configure\nunable to automatically find API token with chromedp using URL http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/me\/configure\nPlease go to http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/me\/configure and click Show API Token to get your API Token\nThen COPY the token and enter in into the form below:\n\n? API Token:<\/code><\/pre>\n<p>API token \u3092\u5165\u529b\u3057\u7d42\u308f\u308b\u3068\u3001staging\/production \u74b0\u5883\u7528\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u7f6e\u304b\u308c\u308b\u30ea\u30dd\u30b8\u30c8\u30ea\u304c GitHub \u4e0a\u306b\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>Created user admin API Token for Jenkins server jenkins.jx.XXX.XXX.XXX.XXX.nip.io at http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\nUpdating Jenkins with new external URL details http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\nCreating default staging and production environments\nUsing git provider GitHub at https:\/\/github.com\n\nAbout to create repository environment-speakerglow-staging on server https:\/\/github.com with user XXXXXX\n\nCreating repository XXXXXX\/environment-speakerglow-staging\nCreating git repository XXXXXX\/environment-speakerglow-staging\nPushed git repository to https:\/\/github.com\/XXXXXX\/environment-speakerglow-staging\n\nCreated environment staging\nCreated Jenkins Project: http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/job\/XXXXXX\/job\/environment-speakerglow-staging\/\n\nNote that your first pipeline may take a few minutes to start while the necessary images get downloaded!\n\nCreating github webhook for XXXXXX\/environment-speakerglow-staging for url http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/github-webhook\/\nUsing git provider GitHub at https:\/\/github.com\n\nAbout to create repository environment-speakerglow-production on server https:\/\/github.com with user XXXXXX\n\nCreating repository XXXXXX\/environment-speakerglow-production\nCreating git repository XXXXXX\/environment-speakerglow-production\nPushed git repository to https:\/\/github.com\/XXXXXX\/environment-speakerglow-production\n\nCreated environment production\nCreated Jenkins Project: http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/job\/XXXXXX\/job\/environment-speakerglow-production\/\n\nNote that your first pipeline may take a few minutes to start while the necessary images get downloaded!\n\nCreating github webhook for XXXXXX\/environment-speakerglow-production for url http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/github-webhook\/<\/code><\/pre>\n<p>\u3053\u3053\u3067\u4f5c\u6210\u3055\u308c\u308b GitHub \u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u306f\u3001\u4eca\u56de\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f Jenkins X \u306e webhook \u7528\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3088\u3046\u306a webhook \u8a2d\u5b9a\u304c\u4e88\u3081\u8ffd\u52a0\u3055\u308c\u307e\u3059\u3002<br \/>\n\u3064\u307e\u308a\u3001\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u5bfe\u3057\u3066 push \u3059\u308b\u3068\u3001\u81ea\u52d5\u7684\u306b Jenkins X \u4e0a\u306e\u30b8\u30e7\u30d6\u304c\u5b9f\u884c\u3055\u308c\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>Jenkins X installation completed successfully\n\n        ********************************************************\n\n             NOTE: Your admin password is: XXXXXXXX\n\n        ********************************************************\n\nYour kubernetes context is now set to the namespace: jx\nTo switch back to your original namespace use: jx ns default\nFor help on switching contexts see: https:\/\/jenkins-x.io\/developing\/kube-context\/\n\nTo import existing projects into Jenkins:       jx import\nTo create a new Spring Boot microservice:       jx create spring -d web -d actuator\nTo create a new microservice from a quickstart: jx create quickstart<\/code><\/pre>\n<p>\u305d\u3057\u3066\u3001\u3053\u3053\u307e\u3067\u3067\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u5b8c\u4e86\u3067\u3059\uff01\u304a\u75b2\u308c\u3055\u307e\u3067\u3057\u305f\uff01\uff01<\/p>\n<h2>Jenkins X \u3078\u306e\u30a2\u30af\u30bb\u30b9<\/h2>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5b8c\u4e86\u6642\u306b\u51fa\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u4e2d\u306b\u8a18\u8f09\u3055\u308c\u305f  <code>http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\/<\/code>  \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001Jenkins X \u3078\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<br \/>\n\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u3001\u30e6\u30fc\u30b6\u540d\u30fb\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u6c42\u3081\u3089\u308c\u307e\u3059\u304c\u3001\u30e6\u30fc\u30b6\u540d\u306f  <code>admin<\/code> \u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5b8c\u4e86\u5f8c\u306b\u51fa\u3066\u304f\u308b\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3059\u308c\u3070\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u307e\u3059\u3002<br \/>\n\u3082\u3057\u4e07\u304c\u4e00\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5fd8\u308c\u305f\u3068\u3057\u3066\u3082\u3001jx \u30b3\u30de\u30f3\u30c9\u3067\u69cb\u7bc9\u3057\u305f\u969b\u306b\u4ee5\u4e0b\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u6b8b\u3063\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u305d\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u308b\u3053\u3068\u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre><code>$ cat ~\/.jx\/jenkinsAuth.yaml\nservers:\n- url: http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io\n  users:\n  - username: admin\n    apitoken: XXXXXXXXXX\n    bearertoken: &quot;&quot;\n    password: XXXXXXXXXX\n    ^^^^^^^^^^^^^^^^^^^^ \u3053\u308c\u304c admin \u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u3059\n  name: jenkins.jx.XXX.XXX.XXX.XXX.nip.io\n  kind: &quot;&quot;\n  currentuser: &quot;&quot;\ndefaultusername: &quot;&quot;\ncurrentserver: http:\/\/jenkins.jx.XXX.XXX.XXX.XXX.nip.io<\/code><\/pre>\n<h1>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u306e Jenkins X\u30fb\u305d\u306e\u4ed6\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u69cb\u6210<\/h1>\n<p>jx \u30b3\u30de\u30f3\u30c9\u3067\u30af\u30e9\u30b9\u30bf\u69cb\u7bc9\u304c\u5b8c\u4e86\u3057\u305f\u5f8c\u3001\u30af\u30e9\u30b9\u30bf\u4e0a\u3067\u306f\u4ee5\u4e0b\u306e\u69d8\u306a Pod \u304c\u7a3c\u50cd\u3057\u3001Ingress \u7d4c\u7531\u3067\u30b5\u30fc\u30d3\u30b9\u516c\u958b\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>$ kubectl get pod --all-namespaces\nNAMESPACE     NAME                                                   READY     STATUS      RESTARTS   AGE\njx            jenkins-6dc7ff9cfd-f28gf                               1\/1       Running     0          2d\njx            jenkins-x-chartmuseum-7b95b777b-r7qhs                  1\/1       Running     0          2d\njx            jenkins-x-docker-registry-dcb6d6d44-w9c6q              1\/1       Running     0          2d\njx            jenkins-x-gc-activities-1534714200-rwm2p               0\/1       Completed   0          4h\njx            jenkins-x-gc-activities-1534723200-bcdwj               0\/1       Completed   0          2h\njx            jenkins-x-gc-activities-1534725000-5pk5c               0\/1       Completed   0          1h\njx            jenkins-x-gc-previews-1534701600-bqcbn                 0\/1       Completed   0          8h\njx            jenkins-x-gc-previews-1534712400-5kd6j                 0\/1       Completed   0          5h\njx            jenkins-x-gc-previews-1534723200-wprdp                 0\/1       Completed   0          2h\njx            jenkins-x-heapster-96bd95dcf-bgxps                     2\/2       Running     0          2d\njx            jenkins-x-mongodb-6c84f866dc-hp2bc                     1\/1       Running     0          2d\njx            jenkins-x-monocular-api-8499d45598-s5gxn               1\/1       Running     3          2d\njx            jenkins-x-monocular-prerender-6d8897856-x87lh          1\/1       Running     0          2d\njx            jenkins-x-monocular-ui-967d8d8d9-h7h6p                 1\/1       Running     1          2d\njx            jenkins-x-nexus-7c6c4579fd-9jws7                       1\/1       Running     0          2d\njx            pipelinecontroller-5dbc96bbd4-hmrsr                    1\/1       Running     0          2d\nkube-system   event-exporter-v0.1.9-5c8fb98cdb-zrbs8                 2\/2       Running     0          2d\nkube-system   fluentd-gcp-v2.0.17-gsw5d                              2\/2       Running     0          2d\nkube-system   fluentd-gcp-v2.0.17-pbdd6                              2\/2       Running     0          24m\nkube-system   heapster-v1.5.2-5fc46bc685-mz9bj                       3\/3       Running     0          2d\nkube-system   jxing-nginx-ingress-controller-86c769695f-ndkw4        1\/1       Running     0          2d\nkube-system   jxing-nginx-ingress-default-backend-5dbcb4b48b-csjzn   1\/1       Running     0          2d\nkube-system   kube-dns-5dcfcbf5fb-9z8bm                              4\/4       Running     0          2d\nkube-system   kube-dns-5dcfcbf5fb-9zbkr                              4\/4       Running     0          24m\nkube-system   kube-dns-autoscaler-69c5cbdcdd-kgtm8                   1\/1       Running     0          2d\nkube-system   kube-proxy-gke-speakerglow-pool-1-6c92678d-cjxx        1\/1       Running     0          2d\nkube-system   kube-proxy-gke-speakerglow-pool-1-6c92678d-j1c2        1\/1       Running     0          24m\nkube-system   kubernetes-dashboard-bf9c699db-64df7                   1\/1       Running     0          2d\nkube-system   l7-default-backend-57856c5f55-8r9dx                    1\/1       Running     0          2d\nkube-system   metrics-server-v0.2.1-7f8dd98c8f-9jlrf                 2\/2       Running     0          2d\nkube-system   tiller-deploy-5cd7c76b66-pph9h                         1\/1       Running     0          22m\n\n$ kubectl get ing --all-namespaces\nNAMESPACE   NAME              HOSTS                                       ADDRESS          PORTS     AGE\njx          chartmuseum       chartmuseum.jx.XXX.XXX.XXX.XXX.nip.io       XXX.XXX.XXX.XXX   80        2d\njx          docker-registry   docker-registry.jx.XXX.XXX.XXX.XXX.nip.io   XXX.XXX.XXX.XXX   80        2d\njx          jenkins           jenkins.jx.XXX.XXX.XXX.XXX.nip.io           XXX.XXX.XXX.XXX   80        2d\njx          monocular         monocular.jx.XXX.XXX.XXX.XXX.nip.io         XXX.XXX.XXX.XXX   80        2d\njx          nexus             nexus.jx.XXX.XXX.XXX.XXX.nip.io             XXX.XXX.XXX.XXX   80        2d<\/code><\/pre>\n<p>\u7c21\u5358\u306b\u898b\u3066\u3044\u304f\u3068\u3001\u7a3c\u50cd\u3057\u3066\u3044\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u6982\u8981\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n<ul>\n<li>chartmuseum\n<ul>\n<li><a href=\"https:\/\/github.com\/helm\/chartmuseum\"><a href=\"https:\/\/github.com\/helm\/chartmuseum\">https:\/\/github.com\/helm\/chartmuseum<\/a><\/a><\/li>\n<li>private \u306a Helm chart \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u5b9f\u73fe\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2<\/li>\n<\/ul>\n<\/li>\n<li>docker-registry\n<ul>\n<li><a href=\"https:\/\/docs.docker.com\/registry\/\"><a href=\"https:\/\/docs.docker.com\/registry\/\">https:\/\/docs.docker.com\/registry\/<\/a><\/a><\/li>\n<li>private \u306a Docker \u30ec\u30b8\u30b9\u30c8\u30ea\u3092\u5b9f\u73fe\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2<\/li>\n<\/ul>\n<\/li>\n<li>jenkins\n<ul>\n<li>Jenkins X \u672c\u4f53<\/li>\n<\/ul>\n<\/li>\n<li>monocular\n<ul>\n<li><a href=\"https:\/\/github.com\/helm\/monocular\"><a href=\"https:\/\/github.com\/helm\/monocular\">https:\/\/github.com\/helm\/monocular<\/a><\/a><\/li>\n<li>private \u306a Helm chart \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u53c2\u7167\u3059\u308b WebUI<\/li>\n<\/ul>\n<\/li>\n<li>nexus\n<ul>\n<li><a href=\"https:\/\/github.com\/jenkins-x\/nexus\"><a href=\"https:\/\/github.com\/jenkins-x\/nexus\">https:\/\/github.com\/jenkins-x\/nexus<\/a><\/a><\/li>\n<li>private \u306a Maven\/npm \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u5b9f\u73fe\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h1>\u307e\u3068\u3081<\/h1>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001Jenkins X \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a jx \u30c4\u30fc\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3001\u5b9f\u969b\u306b GKE \u4e0a\u306b Jenkins X \u304c\u7a3c\u50cd\u3059\u308b\u30af\u30e9\u30b9\u30bf\u3092\u69cb\u7bc9\u3059\u308b\u30b9\u30c6\u30c3\u30d7\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002<br \/>\n\u6b21\u56de\u306f\u3001\u69cb\u7bc9\u3057\u305f Jenkins X \u3092\u5229\u7528\u3057\u3001\u30b5\u30f3\u30d7\u30eb\u3068\u3057\u3066\u7528\u610f\u3055\u308c\u3066\u3044\u308b quickstart \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u7acb\u3061\u4e0a\u3052\u3066\u3001Jenkins X \u304c\u3069\u306e\u3088\u3046\u306b CI\/CD \u3092\u5b9f\u65bd\u3059\u308b\u306e\u304b\u3092\u898b\u3066\u3044\u304f\u4e88\u5b9a\u3067\u3059<\/p>\n<h1>\u95a2\u9023\u8a18\u4e8b\u3068\u6b21\u7de8<\/h1>\n<p><a href=\"https:\/\/weseek.co.jp\/tech\/353\/\">Kubernetes\u6642\u4ee3\u306eCI\/CD Jenkins X\u3068\u306f?-\u524d\u7de8<\/a><\/p>\n<p><a href=\"https:\/\/weseek.co.jp\/tech\/334\/\">CircleCI 2.1\u3068kubernetes\u3067\u52d5\u4f5c\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e CI\/CD \u4e8b\u59cb\u3081<\/a><\/p>\n<p><a href=\"https:\/\/weseek.co.jp\/tech\/501\/\">Kubernetes\u306eCI\/CD Jenkins X\u3068\u306f?|\u5f8c\u7de8<\/a><\/p>\n<p><a href=\"https:\/\/weseek.co.jp\/tech\/440\/\">Kubernetes\u6642\u4ee3\u306eCI\/CD Jenkins X\u3068\u306f\uff1f|\u6700\u7d42\u56de<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes\u6642\u4ee3\u306e CI\/CD Jenkins X\u3068\u306f\uff1f|\u524d\u7de8 \u3067\u4e88\u544a\u3057\u305f\u901a\u308a\u3001\u672c\u8a18\u4e8b\u3067\u306f\u5b9f\u969b\u306b Jenkins X \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3001\u3069\u306e\u3088\u3046\u306a\u69cb\u6210\u3067\u30af\u30e9\u30b9\u30bf\u304c\u69cb\u7bc9\u3055\u308c\u308b\u306e\u304b\u3092\u898b\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"author":3,"featured_media":385,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[17,198,16],"tags":[],"_links":{"self":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts\/149"}],"collection":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":25,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"predecessor-version":[{"id":4067,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts\/149\/revisions\/4067"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/media\/385"}],"wp:attachment":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}