{"id":3555,"date":"2016-02-02T15:44:55","date_gmt":"2016-02-02T21:44:55","guid":{"rendered":"http:\/\/benincosa.com\/?p=3555"},"modified":"2016-02-02T15:44:55","modified_gmt":"2016-02-02T21:44:55","slug":"jenkins-running-in-docker-image-behind-firewall","status":"publish","type":"post","link":"https:\/\/benincosa.com\/?p=3555","title":{"rendered":"Jenkins running in Docker image behind firewall"},"content":{"rendered":"<p>When you run jenkins behind a firewall you need it to get out. \u00a0You&#8217;ll have to set up proxies to let this happen. \u00a0Here&#8217;s how I make it run:<\/p>\n<p>First, make coreos able to go out of your network:<\/p>\n<pre class=\"lang:sh decode:true\">sudo mkdir -p \/etc\/systemd\/system\/docker.service.d\r\ncd \/etc\/systemd\/system\/docker.service.d\/\r\ntouch http-proxy.conf<\/pre>\n<p>Next edit http-proxy.conf\u00a0and make it look like:<\/p>\n<pre class=\"lang:sh decode:true \">[Service]\r\nEnvironment=\"HTTPS_PROXY=http:\/\/proxy.esl.cisco.com:80\"<\/pre>\n<p>This will allow docker to get outside the firewall.<\/p>\n<p>Next restart docker:<\/p>\n<pre class=\"lang:sh decode:true \">systemctl daemon-reload\r\nsystemctl restart docker<\/pre>\n<p>Now, on to Jenkins. \u00a0Grab Jenkins:<\/p>\n<pre class=\"lang:sh decode:true \">docker pull jenkins<\/pre>\n<p>Make a persistent directory to store settings (should be a persistent volume mount)<\/p>\n<pre class=\"lang:sh decode:true\">sudo mkdir -p \/vol\/jenkins_home\r\nchmod 777 \/vol\/jenkins_home<\/pre>\n<p>Now run the container with the following JAVA_OPTS flag as <a href=\"https:\/\/github.com\/jenkinsci\/docker#passing-jvm-parameters\">documented here.<\/a><\/p>\n<pre class=\"lang:sh decode:true \">#!\/bin\/bash\r\n\r\ndocker run -v \/vol\/jenkins_home:\/var\/jenkins_home \\\r\n--name jenkins --name jenkins --name jenkins \\\r\n--env JAVA_OPTS=\"-Dhttp.proxyHost=proxy.esl.cisco.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=proxy.esl.cisco.com -Dhttps.proxyPort=80\" \\\r\n-p 8080:8080 -p 50000:50000 -d jenkins<\/pre>\n<p>You&#8217;ll obviously want to use your proxy server instead of mine!<\/p>\n<p>You should now be able to install all the plugins you need! \u00a0Hurray!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you run jenkins behind a firewall you need it to get out. \u00a0You&#8217;ll have to set up proxies to let this happen. \u00a0Here&#8217;s how I make it run: First, make coreos able to go out of your network: sudo mkdir -p \/etc\/systemd\/system\/docker.service.d cd \/etc\/systemd\/system\/docker.service.d\/ touch http-proxy.conf Next edit http-proxy.conf\u00a0and make it look like: [Service]&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[638],"tags":[1011,824,729],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3555"}],"collection":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3555"}],"version-history":[{"count":1,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3555\/revisions"}],"predecessor-version":[{"id":3556,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/3555\/revisions\/3556"}],"wp:attachment":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}