{"id":80,"date":"2015-11-25T12:12:53","date_gmt":"2015-11-25T04:12:53","guid":{"rendered":"https:\/\/blog.espnlol.com\/?p=80"},"modified":"2022-04-20T17:55:47","modified_gmt":"2022-04-20T09:55:47","slug":"%e5%bf%ab%e9%80%9f%e9%83%a8%e7%bd%b2gitlab-8-0-4","status":"publish","type":"post","link":"https:\/\/blog.espnlol.com\/?p=80","title":{"rendered":"\u5feb\u901f\u90e8\u7f72gitlab 8.0.4"},"content":{"rendered":"<h3><strong>GitLab\u662f\u5229\u7528 Ruby on Rails \u4e00\u4e2a\u5f00\u6e90\u7684\u7248\u672c\u7ba1\u7406\u7cfb\u7edf\uff0c\u5b9e\u73b0\u4e00\u4e2a\u81ea\u6258\u7ba1\u7684Git\u9879\u76ee\u4ed3\u5e93\uff0c\u53ef\u901a\u8fc7Web\u754c\u9762\u8fdb\u884c\u8bbf\u95ee\u516c\u5f00\u7684\u6216\u8005\u79c1\u4eba\u9879\u76ee\u3002\u5b83\u62e5\u6709\u4e0eGithub\u7c7b\u4f3c\u7684\u529f\u80fd\uff0c\u80fd\u591f\u6d4f\u89c8\u6e90\u4ee3\u7801\uff0c\u7ba1\u7406\u7f3a\u9677\u548c\u6ce8\u91ca\u3002\u53ef\u4ee5\u7ba1\u7406\u56e2\u961f\u5bf9\u4ed3\u5e93\u7684\u8bbf\u95ee\uff0c\u5b83\u975e\u5e38\u6613\u4e8e\u6d4f\u89c8\u63d0\u4ea4\u8fc7\u7684\u7248\u672c\u5e76\u63d0\u4f9b\u4e00\u4e2a\u6587\u4ef6\u5386\u53f2\u5e93\u3002\u56e2\u961f\u6210\u5458\u53ef\u4ee5\u5229\u7528\u5185\u7f6e\u7684\u7b80\u5355\u804a\u5929\u7a0b\u5e8f(Wall)\u8fdb\u884c\u4ea4\u6d41\u3002\u5b83\u8fd8\u63d0\u4f9b\u4e00\u4e2a\u4ee3\u7801\u7247\u6bb5\u6536\u96c6\u529f\u80fd\u53ef\u4ee5\u8f7b\u677e\u5b9e\u73b0\u4ee3\u7801\u590d\u7528\uff0c\u4fbf\u4e8e\u65e5\u540e\u6709\u9700\u8981\u7684\u65f6\u5019\u8fdb\u884c\u67e5\u627e\u3002\u5728\u7ebfDEMO<\/strong><\/h3>\n<p>1\uff0c\u5b89\u88c5\u5fc5\u8981\u8f6f\u4ef6\u5305<\/p>\n<pre class=\"lang:vim decode:true \">yum -y install libicu-devel patch gcc-c++ readline-devel zlib-devel libffi-devel openssl-devel make autoconf automake libtool bison libxml2-devel libxslt-devel libyaml-devel zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker<\/pre>\n<p>2\uff0c\u5b89\u88c5git<br \/>\n\/\/ \u67e5\u770b\u5f53\u524dgit\u7248\u672c<\/p>\n<pre class=\"lang:vim decode:true\">git --version\r\ngit version 1.7.1<\/pre>\n<p>\/\/ \u5982\u679c\u5c0f\u4e8e1.8\u5219\u5148\u5378\u8f7d<\/p>\n<pre class=\"lang:vim decode:true\">yum remove git<\/pre>\n<p>\/\/ \u4e0b\u8f7d\u6700\u65b0\u7684git\u5e76\u5b89\u88c5<\/p>\n<pre class=\"lang:vim decode:true \">wget -O git-src.zip https:\/\/github.com\/git\/git\/archive\/master.zip\r\nunzip git-src.zip\r\ncd git-master\r\nmake prefix=\/usr\/local all\r\nmake prefix=\/usr\/local install\r\nln -fs \/usr\/local\/bin\/git* \/usr\/bin\/\r\n\r\ngit version\r\ngit version 2.6.0.GIT<\/pre>\n<p>3\uff0c\u5b89\u88c5ruby<br \/>\n\/\/ \u4e0b\u8f7d\u8f6f\u4ef6\u5305<\/p>\n<pre class=\"lang:vim decode:true\">wget ftp:\/\/ftp.ruby-lang.org\/pub\/ruby\/2.1\/ruby-2.1.6.tar.gz<\/pre>\n<p>\/\/ \u5b89\u88c5<\/p>\n<pre class=\"lang:vim decode:true\">tar xvf ruby-2.1.6.tar.gz\r\ncd ruby-2.1.6\r\n.\/configure --disable-install-rdoc\r\nmake &amp;&amp; make install<\/pre>\n<p>\/\/ \u8f6f\u8fde\u63a5<\/p>\n<pre class=\"lang:vim decode:true\">ln -s \/usr\/local\/bin\/ruby \/usr\/bin\/ruby\r\nln -s \/usr\/local\/bin\/gem \/usr\/bin\/gem<\/pre>\n<p>\/\/ \u5b89\u88c5bundle<\/p>\n<pre class=\"lang:vim decode:true\">gem install bundler --no-ri --no-rdoc<\/pre>\n<p>\/\/ \u8f6f\u8fde\u63a5<\/p>\n<pre class=\"lang:vim decode:true \">ln -s \/usr\/local\/bin\/bundle \/usr\/bin\/bundle<\/pre>\n<p>4\uff0c\u5b89\u88c5\u914d\u7f6emysql<\/p>\n<p>\/\/\u5b89\u88c5\u6570\u636e\u5e93<\/p>\n<p>\u4f20\u9001\u95e8\uff1ahttps:\/\/blog.espnlol.com\/?p=82<\/p>\n<p>\/\/\u914d\u7f6emysql\u7528\u6237\u53ca\u9669\u5173\u4fe1\u606f,mysql\u9ed8\u8ba4\u6ca1\u6709\u5bc6\u7801<br \/>\n\/\/ \u767b\u5f55mysql\u521b\u5efagitab\u7684\u5e10\u53f7\u548c\u6570\u636e\u5e93<\/p>\n<pre class=\"lang:vim decode:true\">mysql&gt; CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab';\r\nmysql&gt; CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;\r\nmysql&gt; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';<\/pre>\n<p>5\uff0c\u5b89\u88c5Redis<\/p>\n<pre class=\"lang:vim decode:true \">yum -y install redis\r\n\/etc\/init.d\/redis start\r\nchkconfig redis on<\/pre>\n<p>6\uff0c\u914d\u7f6egitlab<br \/>\n\/\/\u521b\u5efagit\u8d26\u6237\uff0c\u914d\u7f6esudo\u6743\u9650<\/p>\n<pre class=\"lang:vim decode:true\">useradd --comment 'GitLab' git\r\necho \"git ALL=(ALL) NOPASSWD: ALL\" &gt;&gt;\/etc\/sudoers<\/pre>\n<p>\/\/\u514b\u9686\u914d\u7f6e<\/p>\n<pre class=\"lang:vim decode:true \">sudo -u git -H git clone https:\/\/gitlab.com\/gitlab-org\/gitlab-ce.git -b 8-0-stable gitlab\r\ncd \/home\/git\/gitlab\r\nsudo -u git -H cp config\/gitlab.yml.example config\/gitlab.yml<\/pre>\n<p>\/\/ \u7f16\u8f91git\u8def\u5f84, gitlab\u7684host:port<\/p>\n<pre class=\"lang:vim decode:true\">$ vim config\/gitlab.yml\r\n\/\/ bin_path: \/usr\/bin\/git\r\n\/\/ host: $your domain\r\n\/\/ port: 80\r\n\/\/ email: $the send email<\/pre>\n<p>\/\/ \u7ed9\u6587\u4ef6\u5939\u6dfb\u52a0\u76f8\u5e94\u7684\u6743\u9650<\/p>\n<pre class=\"lang:vim decode:true\">chown -R git log\/\r\nchown -R git tmp\/\r\nchmod -R u+rwX log\/\r\nchmod -R u+rwX tmp\/<\/pre>\n<p>\/\/ \u521b\u5efa\u5fc5\u8981\u7684\u6587\u4ef6\u5939\uff0c\u4ee5\u53ca\u590d\u5236\u914d\u7f6e\u6587\u4ef6<\/p>\n<pre class=\"lang:vim decode:true\">sudo -u git -H mkdir \/home\/git\/gitlab-satellites\r\nsudo -u git -H mkdir tmp\/pids\/\r\nsudo -u git -H mkdir tmp\/sockets\/\r\nsudo chmod -R u+rwX tmp\/pids\/\r\nsudo chmod -R u+rwX tmp\/sockets\/\r\nsudo -u git -H mkdir public\/uploads\r\nsudo chmod -R u+rwX public\/uploads\r\nsudo -u git -H cp config\/unicorn.rb.example config\/unicorn.rb\r\nsudo -u git -H cp config\/initializers\/rack_attack.rb.example config\/initializers\/rack_attack.rb<\/pre>\n<p>\/\/ \u914d\u7f6e\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f<\/p>\n<pre class=\"lang:vim decode:true\">sudo -u git cp config\/database.yml.mysql config\/database.yml\r\n\r\nvim config\/database.yml\r\n\r\n$ vim config\/database.yml\r\n\/\/ production:\r\n\/\/ username: gitlab\r\n\/\/ password: \"gitlab\"\r\n\r\n<\/pre>\n<p>7\uff0c\u5b89\u88c5gitlab-shell<\/p>\n<pre class=\"lang:vim decode:true\">cd \/home\/git\r\nsudo -u git -H git clone https:\/\/gitlab.com\/gitlab-org\/gitlab-shell.git -b v2.6.5\r\ncd gitlab-shell\/\r\nsudo -u git -H cp config.yml.example config.yml<\/pre>\n<p>\/\/ \u7f16\u8f91\u914d\u7f6e\u6587\u4ef6, \u8bbe\u7f6egitlab_url, redis-cli, log-level&#8230;<\/p>\n<pre class=\"lang:vim decode:true\">vim config.yml\r\n\/\/ gitlab_url: \"http:\/\/localhost\/\"\r\n\/\/ \/usr\/bin\/redis-cli<\/pre>\n<p>\/\/ \u5b89\u88c5git-shell<\/p>\n<pre class=\"lang:vim decode:true\">sudo -u git -H .\/bin\/install<\/pre>\n<p>\u5b89\u88c5\u9700\u8981ruby\u7684gems<\/p>\n<pre class=\"lang:vim decode:true\">cd \/home\/git\/gitlab\r\nsudo -u git -H bundle install --deployment --without development test postgres<\/pre>\n<p>\u521d\u59cb\u5316\u6570\u636e\u5e93(\u521b\u5efaGitLab\u76f8\u5173\u8868)<\/p>\n<pre class=\"lang:vim decode:true\">sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production<\/pre>\n<p>\u5b89\u88c5\u542f\u52a8\u6587\u4ef6\u4ee5\u53ca\u65e5\u5fd7\u5207\u5272\u6587\u4ef6<\/p>\n<pre class=\"lang:vim decode:true\">cp lib\/support\/init.d\/gitlab \/etc\/init.d\/gitlab\r\ncp lib\/support\/init.d\/gitlab.default.example \/etc\/default\/gitlab\r\ncp lib\/support\/logrotate\/gitlab \/etc\/logrotate.d\/gitlab<\/pre>\n<p>\u8bbe\u7f6egit\u5e10\u53f7\u4fe1\u606f<\/p>\n<pre class=\"lang:vim decode:true\">sudo -u git -H git config --global user.name \"ae\"\r\nsudo -u git -H git config --global user.email \"ae@git.ae.club\"\r\nsudo -u git -H git config --global core.autocrlf input<\/pre>\n<p>\/\/\u9a8c\u8bc1gitlab<br \/>\n\u68c0\u6d4b\u5f53\u524d\u73af\u5883<\/p>\n<pre class=\"lang:vim decode:true\">sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production<\/pre>\n<p>\u62c9\u53d6gitlab\u9759\u6001\u8d44\u6e90\u6587\u4ef6<\/p>\n<pre class=\"lang:vim decode:true\">$ sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production<\/pre>\n<p>\u542f\u52a8gitlab<\/p>\n<pre class=\"lang:vim decode:true\">$ \/etc\/init.d\/gitlab start<\/pre>\n<p>\u68c0\u6d4b\u5404\u4e2a\u7ec4\u4ef6\u662f\u5426\u6b63\u5e38\u5de5\u4f5c<\/p>\n<pre class=\"lang:vim decode:true \">$ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production<\/pre>\n<p>8, nginx\u914d\u7f6e<\/p>\n<p>\/\/nginx\u5b89\u88c5<\/p>\n<p>\u4f20\u9001\u95e8\uff1ahttps:\/\/blog.espnlol.com\/?p=84<\/p>\n<pre class=\"lang:vim decode:true \">\/\/nginx\u4e3b\u914d\u7f6e\u6587\u4ef6\r\n\r\nvi \/usr\/local\/nginx\/conf\/nginx.conf\r\nuser git www;\r\n\r\nworker_processes auto;\r\n\r\nerror_log \/home\/data\/wwwlogs\/nginx_error.log crit;\r\n\r\npid \/usr\/local\/nginx\/logs\/nginx.pid;\r\n\r\n#Specifies the value for maximum file descriptors that can be opened by this process.\r\nworker_rlimit_nofile 65535;\r\n\r\nevents\r\n{\r\nuse epoll;\r\nworker_connections 65535;\r\nmulti_accept on;\r\n}\r\n\r\nhttp\r\n{\r\ninclude mime.types;\r\ndefault_type application\/octet-stream;\r\n\r\n# waf\r\n#lua_need_request_body on;\r\n#access_by_lua_file \/usr\/local\/nginx\/conf\/waf\/waf.lua;\r\n#lua_shared_dict limit 10m;\r\n#lua_package_path \"\/usr\/local\/nginx\/conf\/waf\/?.lua\";\r\n#init_by_lua_file \/usr\/local\/nginx\/conf\/waf\/init.lua;\r\n\r\nserver_names_hash_bucket_size 128;\r\nclient_header_buffer_size 4k;\r\nlarge_client_header_buffers 4 32k;\r\nclient_max_body_size 100m;\r\nclient_body_buffer_size 50m;\r\n\r\nsendfile on;\r\ntcp_nopush on;\r\n\r\nkeepalive_timeout 60;\r\n\r\n# tcp_nodelay on;\r\n\r\nfastcgi_connect_timeout 300;\r\nfastcgi_send_timeout 300;\r\nfastcgi_read_timeout 300;\r\nfastcgi_buffer_size 128k;\r\nfastcgi_buffers 8 128k;\r\nfastcgi_busy_buffers_size 256k;\r\nfastcgi_temp_file_write_size 256k;\r\n\r\ngzip on;\r\ngzip_min_length 1k;\r\ngzip_buffers 4 16k;\r\ngzip_http_version 1.1;\r\ngzip_comp_level 2;\r\ngzip_types text\/plain application\/javascript application\/x-javascript text\/javascript text\/css application\/xml application\/xml+rss;\r\ngzip_vary on;\r\ngzip_proxied expired no-cache no-store private auth;\r\ngzip_disable \"MSIE [1-6]\\.\";\r\n\r\n#limit_conn_zone $binary_remote_addr zone=perip:10m;\r\n##If enable limit_conn_zone,add \"limit_conn perip 10;\" to server section.\r\n\r\nserver_tokens off;\r\n#log format\r\nlog_format access '$remote_addr - $remote_user [$time_local] \"$request\" '\r\n'$status $body_bytes_sent \"$http_referer\" '\r\n'\"$http_user_agent\" $http_x_forwarded_for';\r\naccess_log off;\r\n\r\n\r\ninclude vhost\/*.conf;\r\n}<\/pre>\n<p>\/\/gitlab\u7684\u865a\u62df\u5934\u914d\u7f6e\u6587\u4ef6<\/p>\n<pre class=\"lang:vim decode:true\">vi \/usr\/local\/nginx\/conf\/vhost\/gitlab.conf\r\n# GITLAB\r\n# Maintainer: @randx\r\n# App Version: 5.0\r\n\r\nupstream gitlab {\r\nserver unix:\/home\/git\/gitlab\/tmp\/sockets\/gitlab.socket;\r\n}\r\nserver {\r\nlisten 80;\r\nlisten 8090;\r\nserver_name git.espnlol.com;\r\nserver_tokens off;\r\nroot \/home\/git\/gitlab\/public;\r\n\r\n# Set value of client_max_body_size to at least the value of git.max_size in gitlab.yml\r\nclient_max_body_size 5m;\r\n\r\n# individual nginx logs for this gitlab vhost\r\naccess_log \/home\/data\/wwwlogs\/gitlab\/gitlab_access.log;\r\nerror_log \/home\/data\/wwwlogs\/gitlab\/gitlab_error.log;\r\n\r\nlocation \/ {\r\n# serve static files from defined root folder;.\r\n# @gitlab is a named location for the upstream fallback, see below\r\ntry_files $uri $uri\/index.html $uri.html @gitlab;\r\n}\r\n\r\n# if a file, which is not found in the root folder is requested,\r\n# then the proxy pass the request to the upsteam (gitlab unicorn)\r\nlocation @gitlab {\r\nproxy_read_timeout 300; # https:\/\/github.com\/gitlabhq\/gitlabhq\/issues\/694\r\nproxy_connect_timeout 300; # https:\/\/github.com\/gitlabhq\/gitlabhq\/issues\/694\r\nproxy_redirect off;\r\n\r\nproxy_set_header X-Forwarded-Proto $scheme;\r\nproxy_set_header Host $http_host;\r\nproxy_set_header X-Real-IP $remote_addr;\r\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\r\n\r\nproxy_pass http:\/\/gitlab;\r\n\r\n}\r\n}<\/pre>\n<p>\/\/\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8\u5e76\u542f\u52a8<\/p>\n<pre class=\"lang:vim decode:true \">chkconfig nginx on\r\nservice nginx start<\/pre>\n<p>9,\u8bbe\u7f6e\u90ae\u4ef6\u53d1\u9001<br \/>\n\/\/\u9996\u5148\u662f\u62f7\u8d1dGitlab\u81ea\u5e26\u7684example<\/p>\n<pre class=\"lang:vim decode:true\">cd \/home\/git\/gitlab\r\nsudo -u git -H cp config\/initializers\/smtp_settings.rb.sample config\/initializers\/smtp_settings.rb<\/pre>\n<p>\/\/\u7136\u540e\u7528\u6211\u4eec\u81ea\u5df1\u7684\u90ae\u7bb1\u66ff\u6362example\u4e2d\u7684\u90ae\u7bb1<\/p>\n<pre class=\"lang:vim decode:true\">sudo -u git -H vim config\/initializers\/smtp_settings.rb<\/pre>\n<p>\/\/\u8fd9\u91cc\u63d0\u4f9b3\u79cd\u90ae\u7bb1\u914d\u7f6e\u65b9\u6cd5<br \/>\n\/\/163<\/p>\n<pre class=\"lang:vim decode:true\">if Rails.env.production?\r\nGitlab::Application.config.action_mailer.delivery_method = :smtp\r\nActionMailer::Base.smtp_settings = {\r\naddress: \"smtp.163.com\",\r\nport: 25,\r\nuser_name: \"wpgitlab\",\r\npassword: \"123456\",\r\ndomain: \"163.com\",\r\nauthentication: :plain,\r\nenable_starttls_auto: true\r\n}\r\nend<\/pre>\n<p>\/\/\u817e\u8baf\u4f01\u4e1a<\/p>\n<pre class=\"lang:vim decode:true\">if Rails.env.production?\r\nGitlab::Application.config.action_mailer.delivery_method = :smtp\r\nActionMailer::Base.smtp_settings = {\r\naddress: \"smtp.exmail.qq.com\",\r\nport: 25,\r\nuser_name: \"wangpeng@scnee.com\",\r\npassword: \"123456\",\r\ndomain: \"smtp.qq.com\",\r\nauthentication: :plain,\r\nenable_starttls_auto: true,\r\n}\r\nend<\/pre>\n<p>\/\/139<\/p>\n<pre class=\"lang:vim decode:true\">if Rails.env.production?\r\nGitlab::Application.config.action_mailer.delivery_method = :smtp\r\nActionMailer::Base.smtp_settings = {\r\naddress: \"smtp.139.com\",\r\nport: 25,\r\nuser_name: \"13611225237@139.com\",\r\npassword: \"123456\",\r\ndomain: \"139.com\",\r\nauthentication: :plain,\r\nenable_starttls_auto: true\r\n}\r\nend<\/pre>\n<p>\/\/\u4fee\u6539gitlab.yml<\/p>\n<pre class=\"lang:vim decode:true \">cd \/home\/git\/gitlab\r\nsudo -u git -H vim config\/gitlab.yml\r\n## Email settings\r\n# Email address used in the \"From\" field in mails sent by GitLab\r\nemail_from: $EMAIL<\/pre>\n<p>10\uff0c\u767b\u5f55\u7f51\u7ad9<\/p>\n<p>\u5728ie\u680f\u8f93\u5165nginx\u91cc\u914d\u7f6e\u7684url\u5c31\u53ef\u4ee5\u6253\u5f00\u767b\u5f55\u9875\u9762\u4e86\uff0c\u9ed8\u8ba4\u7528\u6237\u5bc6\u7801\u4e3a\uff1aroot\/5iveL!fe<\/p>\n<p><a href=\"https:\/\/blog.espnlol.com\/wp-content\/uploads\/2015\/11\/gitlab.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-86\" src=\"https:\/\/blog.espnlol.com\/wp-content\/uploads\/2015\/11\/gitlab.png\" alt=\"gitlab\" width=\"1898\" height=\"958\" srcset=\"https:\/\/blog.espnlol.com\/wp-content\/uploads\/2015\/11\/gitlab.png 1898w, https:\/\/blog.espnlol.com\/wp-content\/uploads\/2015\/11\/gitlab-300x151.png 300w, https:\/\/blog.espnlol.com\/wp-content\/uploads\/2015\/11\/gitlab-1024x517.png 1024w\" sizes=\"auto, (max-width: 1898px) 100vw, 1898px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitLab\u662f\u5229\u7528 Ruby on Rails \u4e00\u4e2a\u5f00\u6e90\u7684\u7248\u672c\u7ba1\u7406\u7cfb\u7edf\uff0c\u5b9e\u73b0\u4e00\u4e2a &hellip; <a href=\"https:\/\/blog.espnlol.com\/?p=80\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-80","post","type-post","status-publish","format-standard","hentry","category-versionmanagement"],"_links":{"self":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/80","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=80"}],"version-history":[{"count":2,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":87,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/80\/revisions\/87"}],"wp:attachment":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}