{"id":6164,"date":"2015-07-31T12:15:55","date_gmt":"2015-07-31T09:15:55","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=6164"},"modified":"2015-12-16T11:27:17","modified_gmt":"2015-12-16T09:27:17","slug":"testing-rails-application-docker","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/","title":{"rendered":"Testing your Rails application with Docker"},"content":{"rendered":"<p>In my last article, I showed you <a href=\"http:\/\/www.webcodegeeks.com\/web-development\/running-rails-development-environment-docker\/\">how to move a Rails development environment to Docker (and Docker Compose)<\/a>. This time, I want to expand on that and discuss some improvements regarding testing your Rails application.<\/p>\n<p>Running your basic test suite is done quite easily. With the configuration from <a href=\"http:\/\/www.webcodegeeks.com\/web-development\/running-rails-development-environment-docker\/\">my last post<\/a>, you can simply run the following commands to spin up the environment, create and seed the database, and run your test suite.<\/p>\n<pre class=\" brush:php\">docker-compose up\r\ndocker-compose run -e \"RAILS_ENV=test\" app rake db:create db:migrate\r\ndocker-compose run -e \"RAILS_ENV=test\" app rake test<\/pre>\n<p>This is basically the same way you would run your tests locally and though it might speed up test times a bit (depending on the hardware Docker is running on), it isn\u2019t a huge improvement.<\/p>\n<p>But you could run the tests in multiple containers at the same time.<\/p>\n<h2>Running Individual Tests<\/h2>\n<p>As with the app running locally, you can run individual test suites by specifying the filename in the <strong>run<\/strong> command.<\/p>\n<pre class=\" brush:php\">docker-compose run -e \"RAILS_ENV=test\" app rspec spec\/path\/to\/spec.rb<\/pre>\n<h2>Running Tests in Parallel Containers<\/h2>\n<p>If your Docker host is beefy enough, you could also run your tests in parallel using multiple containers. There are tools like <a href=\"https:\/\/github.com\/grosser\/parallel_tests\">parallel_tests<\/a> available, which allow you to run your tests in parallel on a single machine; you might want to reuse those as well.<\/p>\n<h2>Browser Testing<\/h2>\n<p>If you want to run tests via <a href=\"http:\/\/jnicklas.github.io\/capybara\/\">Capybara<\/a> or a similar tool, you can simply extend your Dockerfile to include the necessary browsers as well as the <strong>xfvb<\/strong> package, which provides a virtual display server.<\/p>\n<pre class=\" brush:php\">...\r\n# The Firefox package is called Iceweasel on Debian, but still provides the\r\n# `firefox` binary.\r\nRUN \\\r\n  DEBIAN_FRONTEND=noninteractive \\\r\n  apt-get install -y \\\r\n    chromium \\\r\n    iceweasel \\\r\n    xvfb\r\n...<\/pre>\n<p>Include the webdriver in your Gemfile, and you\u2019re good to go. I\u2019d also recommend taking a look at the <a href=\"https:\/\/github.com\/leonid-shevtsov\/headless\">headless gem<\/a>, which provides an easy to use wrapper around <strong>xvfb<\/strong> and allows you to capture images or video as well.<\/p>\n<p>Alternatively you could switch to using <a href=\"http:\/\/phantomjs.org\/\">PhantomJS<\/a>, which provides a headless version of WebKit and doesn\u2019t require any additional packages. Install it by adding the following commands to your Dockerfile.<\/p>\n<pre class=\" brush:php\">...\r\nENV PHANTOMJS_VERSION=1.9.8\r\nRUN \\\r\n  cd \/usr\/local\/share &amp;&amp; \\\r\n  wget https:\/\/phantomjs.googlecode.com\/files\/phantomjs-${PHANTOMJS_VERSION}-linux-i686.tar.bz2 &amp;&amp; \\\r\n  tar xvf phantomjs-${PHANTOMJS_VERSION}-linux-i686.tar.bz2 &amp;&amp; \\\r\n  rm phantomjs-${PHANTOMJS_VERSION}-linux-i686.tar.bz2 &amp;&amp; \\\r\n  ln -s \/usr\/local\/share\/phantomjs-${PHANTOMJS_VERSION}-linux-i686\/bin\/phantomjs \/usr\/local\/bin\/phantomjs<\/pre>\n<blockquote><p>Note: We\u2019re using version 1.9.8 of PhantomJS because Linux binaries for version 2 aren\u2019t yet available. If you want to use version 2, you\u2019d need to compile it yourself, but you could then use the above command to download and install it.<\/p><\/blockquote>\n<h2>Running Development\/Test Only Dependencies<\/h2>\n<p>If you require dependencies, which should only be running in your test development or environment, you can quite easily add a new container definition in the <strong>docker-compose.yml<\/strong> and adapt your configuration accordingly.<\/p>\n<p>For example, <a href=\"http:\/\/www.discourse.org\/\">Discourse<\/a> uses <a href=\"http:\/\/mailcatcher.me\/\">Mailcatcher<\/a> during development. In a traditional setup, you\u2019d be required to install the software on your development computer. However, it becomes even easier with the containerized setup.<\/p>\n<p>Adapt your application definition as detailed below (the <strong>development.rb<\/strong> configuration already includes the configuration to send mails via the port defined by Mailcatcher, so you don\u2019t need to change it at all).<\/p>\n<pre class=\" brush:php\">app:\r\n  ...\r\n  links:\r\n    ...\r\n    - mailcatcher\r\n...\r\nmailcatcher:\r\n  image: schickling\/mailcatcher\r\n  ports:\r\n    - \"1080:1080\"<\/pre>\n<p>Once you restart the environment, you can open the Mailcatcher web interface on the IP of your Docker host and see any mail sent via your application.<\/p>\n<h2>Docker on Codeship<\/h2>\n<p>Like I mentioned in <a href=\"http:\/\/blog.codeship.com\/running-rails-development-environment-docker\/\">my last post<\/a>, Codeship is currently preparing a Docker-based CI infrastructure as well. We\u2019ll use Docker Compose (with some extensions) to define your test environment and then have a separate YAML-based configuration for configuring which steps to run.<\/p>\n<p>The platform is still under development, so the available options aren\u2019t set in stone, but the following configuration would run various tests on multiple containers for the <a href=\"https:\/\/github.com\/discourse\/discourse\">Discourse<\/a> repository.<\/p>\n<pre class=\" brush:php\"># codeship-services.yml\r\napp:\r\n  build:\r\n    image: codeship\/discourse\r\n    dockerfile_path: Dockerfile\r\n  environment:\r\n    RAILS_ENV: test\r\n  links:\r\n    - postgresql\r\n    - redis\r\n  volumes_from:\r\n    - data\r\npostgresql:\r\n  image: postgres:9.4\r\nredis:\r\n  image: redis:3.0\r\ndata:\r\n  image: busybox\r\n  volumes:\r\n    - \/data<\/pre>\n<p>Combined with the following step definition, we will run your tests in three Docker containers in parallel.<\/p>\n<pre class=\" brush:php\"># codeship-steps.yml\r\n- type: parallel\r\n  service: app\r\n  steps:\r\n    - command: bundle exec rspec\r\n    - command: bundle exec rake plugin:spec\r\n    - command: bundle exec rake qunit:test<\/pre>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/blog.codeship.com\/testing-rails-application-docker\/\">Testing your Rails application with Docker<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/wcg\/\">WCG partner<\/a> Florian Motlik at the <a href=\"http:\/\/blog.codeship.com\/\">Codeship Blog<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In my last article, I showed you how to move a Rails development environment to Docker (and Docker Compose). This time, I want to expand on that and discuss some improvements regarding testing your Rails application. Running your basic test suite is done quite easily. With the configuration from my last post, you can simply &hellip;<\/p>\n","protected":false},"author":124,"featured_media":927,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[217,95],"class_list":["post-6164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-development","tag-docker","tag-rails"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Testing your Rails application with Docker - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"In my last article, I showed you how to move a Rails development environment to Docker (and Docker Compose). This time, I want to expand on that and\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testing your Rails application with Docker - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"In my last article, I showed you how to move a Rails development environment to Docker (and Docker Compose). This time, I want to expand on that and\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2015-07-31T09:15:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-12-16T09:27:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marko Locher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mlocher\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marko Locher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/\"},\"author\":{\"name\":\"Marko Locher\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/51ec90acf340809a14ccc580e2dd4f7d\"},\"headline\":\"Testing your Rails application with Docker\",\"datePublished\":\"2015-07-31T09:15:55+00:00\",\"dateModified\":\"2015-12-16T09:27:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/\"},\"wordCount\":597,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"keywords\":[\"Docker\",\"Rails\"],\"articleSection\":[\"Web Dev\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/\",\"name\":\"Testing your Rails application with Docker - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"datePublished\":\"2015-07-31T09:15:55+00:00\",\"dateModified\":\"2015-12-16T09:27:17+00:00\",\"description\":\"In my last article, I showed you how to move a Rails development environment to Docker (and Docker Compose). This time, I want to expand on that and\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Dev\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/web-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Testing your Rails application with Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/51ec90acf340809a14ccc580e2dd4f7d\",\"name\":\"Marko Locher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7b5b8997b6c3a93bad2229131f83460253e806f6f57cfd5b0c20cd71e6acf48e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7b5b8997b6c3a93bad2229131f83460253e806f6f57cfd5b0c20cd71e6acf48e?s=96&d=mm&r=g\",\"caption\":\"Marko Locher\"},\"description\":\"Support Deckhand at Codeship. Answering your questions, updating our documentation and generally making sure everybody is happy! In my spare time I like volleyball, sailing and skiing.\",\"sameAs\":[\"http:\/\/blog.codeship.com\/\",\"https:\/\/x.com\/mlocher\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/marko-locher\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Testing your Rails application with Docker - Web Code Geeks - 2026","description":"In my last article, I showed you how to move a Rails development environment to Docker (and Docker Compose). This time, I want to expand on that and","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/","og_locale":"en_US","og_type":"article","og_title":"Testing your Rails application with Docker - Web Code Geeks - 2026","og_description":"In my last article, I showed you how to move a Rails development environment to Docker (and Docker Compose). This time, I want to expand on that and","og_url":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2015-07-31T09:15:55+00:00","article_modified_time":"2015-12-16T09:27:17+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","type":"image\/jpeg"}],"author":"Marko Locher","twitter_card":"summary_large_image","twitter_creator":"@mlocher","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Marko Locher","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/"},"author":{"name":"Marko Locher","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/51ec90acf340809a14ccc580e2dd4f7d"},"headline":"Testing your Rails application with Docker","datePublished":"2015-07-31T09:15:55+00:00","dateModified":"2015-12-16T09:27:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/"},"wordCount":597,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","keywords":["Docker","Rails"],"articleSection":["Web Dev"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/","url":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/","name":"Testing your Rails application with Docker - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","datePublished":"2015-07-31T09:15:55+00:00","dateModified":"2015-12-16T09:27:17+00:00","description":"In my last article, I showed you how to move a Rails development environment to Docker (and Docker Compose). This time, I want to expand on that and","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/web-development\/testing-rails-application-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Web Dev","item":"https:\/\/www.webcodegeeks.com\/category\/web-development\/"},{"@type":"ListItem","position":3,"name":"Testing your Rails application with Docker"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/51ec90acf340809a14ccc580e2dd4f7d","name":"Marko Locher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7b5b8997b6c3a93bad2229131f83460253e806f6f57cfd5b0c20cd71e6acf48e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7b5b8997b6c3a93bad2229131f83460253e806f6f57cfd5b0c20cd71e6acf48e?s=96&d=mm&r=g","caption":"Marko Locher"},"description":"Support Deckhand at Codeship. Answering your questions, updating our documentation and generally making sure everybody is happy! In my spare time I like volleyball, sailing and skiing.","sameAs":["http:\/\/blog.codeship.com\/","https:\/\/x.com\/mlocher"],"url":"https:\/\/www.webcodegeeks.com\/author\/marko-locher\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/6164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/124"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=6164"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/6164\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/927"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=6164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=6164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=6164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}