{"id":4066,"date":"2015-06-09T16:50:31","date_gmt":"2015-06-09T19:50:31","guid":{"rendered":"https:\/\/www.viazap.com.br\/?p=4066"},"modified":"2015-06-08T20:53:27","modified_gmt":"2015-06-08T23:53:27","slug":"integracao-continua-com-jenkins-instalacao","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4066","title":{"rendered":"INTEGRA\u00c7\u00c3O CONT\u00cdNUA COM JENKINS &#8211; INSTALA\u00c7\u00c3O"},"content":{"rendered":"<h1>JENKINS<\/h1>\n<p>&nbsp;<\/p>\n<div>\n<div class=\"figura\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jenkins_logo.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"434\" height=\"141\" \/><\/div>\n<p><em>Jenkins<\/em> \u00e9 um dos softwares utilizados quando se fala em &#8220;Integra\u00e7\u00e3o Cont\u00ednua&#8221;, que \u00e9 o respons\u00e1vel pelo desenvolvimento \u00e1gil, ou seja, a facilidade em detec\u00e7\u00e3o de bugs em c\u00f3digos e o r\u00e1pido deploy, em caso de falha por parte de um ou de um time de desenvolvedores, por exemplo.<\/p>\n<p>O assunto vai muito al\u00e9m disso e n\u00e3o \u00e9 o escopo deste tutorial. Focaremos em sua instala\u00e7\u00e3o e a utiliza\u00e7\u00e3o em uma simples aplica\u00e7\u00e3o Java para detectar poss\u00edveis vulnerabilidades, tendo como base as distribui\u00e7\u00f5es <em>Debian, Ubuntu<\/em> e <em>CentOS<\/em>.<\/p>\n<p>Defini\u00e7\u00e3o, segundo wikip\u00e9dia:<\/p>\n<blockquote><p>&#8220;Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle. Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as Apache Tomcat.<\/p>\n<p>It supports SCM tools including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands. The primary developer of Jenkins is Kohsuke Kawaguchi. Released under the MIT License, Jenkins is free software.&#8221;<\/p><\/blockquote>\n<blockquote><p><!--more--><\/p><\/blockquote>\n<h1>INSTALANDO O JAVA<\/h1>\n<p>Devido o Jenkins ser uma aplica\u00e7\u00e3o escrita em Java, precisamos instalar o mesmo para que a aplica\u00e7\u00e3o funcione corretamente. Para isso, basta alguns passos.<\/p>\n<h1>DEBIAN\/UBUNTU<\/h1>\n<p>Para evitar conflitos com outras vers\u00f5es de Java, remova todos os pacotes relacionados ao openJDK:<\/p>\n<p><strong>$ sudo apt-get purge openjdk*<\/strong><\/p>\n<p>Confira se o pacote &#8220;python-software-properties&#8221; est\u00e1 instalado.<\/p>\n<p><strong>$ sudo apt-get install python-software-properties<\/strong><\/p>\n<p>Adicione o reposit\u00f3rio PPA (d\u00ea um <samp>Enter<\/samp> para confirmar a instala\u00e7\u00e3o):<\/p>\n<p><strong>$ sudo add-apt-repository ppa:webupd8team\/java<\/strong><\/p>\n<p>Atualize o \u00edndice do reposit\u00f3rio local.<\/p>\n<p><strong>$ sudo apt-get update<\/strong><\/p>\n<p>Instale o Java da Oracle.<\/p>\n<p><strong>$ sudo apt-get install oracle-java7-installer<\/strong><\/p>\n<p>Pronto. Caso queira ver a vers\u00e3o instalada, d\u00ea o comando:<\/p>\n<p><strong>$ java -version<\/strong><\/p>\n<h1>CENTOS<\/h1>\n<p>Basta o comando:<\/p>\n<p><strong>$ sudo yum install java-1.7.0-openjdk<\/strong><\/p>\n<p>E estamos pronto para a pr\u00f3xima etapa.<\/p><\/div>\n<p>&nbsp;<\/p>\n<h1>INSTALANDO O JENKINS<\/h1>\n<p>&nbsp;<\/p>\n<div>\n<h1>DEBIAN\/UBUNTU<\/h1>\n<p>A instala\u00e7\u00e3o do Jenkins em distribui\u00e7\u00f5es baseadas no Debian \u00e9 muito simples e em 4 comandos, j\u00e1 estaremos com o software instalado e pronto para continuarmos com o tutorial.<\/p>\n<p>Primeiramente, precisamos baixar e instalar a chave (key) do reposit\u00f3rio do Jenkins.<\/p>\n<p><strong>$ wget -q -O &#8211; http:\/\/pkg.jenkins-ci.org\/debian\/jenkins-ci.org.key | sudo apt-key add &#8211;<\/strong><\/p>\n<p>Agora, precisamos inserir o endere\u00e7o do reposit\u00f3rio no arquivo <em>\/etc\/apt\/sources.list<\/em>:<\/p>\n<p><strong>$ sudo su &#8211;<\/strong><\/p>\n<p><strong># echo &#8220;deb http:\/\/pkg.jenkins-ci.org\/debian binary\/&#8221; &gt;&gt; \/etc\/apt\/sources.list<\/strong><\/p>\n<p>Agora vamos atualizar o \u00edndice local dos pacotes:<\/p>\n<p><strong>$ sudo apt-get update<\/strong><\/p>\n<p>E finalmente, instalar o Jenkins:<\/p>\n<p><strong>$ sudo apt-get install jenkins<\/strong><\/p>\n<p>Feito.<\/p>\n<h1>CENTOS<\/h1>\n<p>A instala\u00e7\u00e3o do Jenkins em distribui\u00e7\u00f5es baseadas no Red Hat \u00e9 muito simples e tamb\u00e9m em 3 comandos, j\u00e1 estaremos com o software instalado e pronto para continuarmos com o tutorial.<\/p>\n<p>Primeiramente, precisamos baixar o reposit\u00f3rio do Jenkins:<\/p>\n<p><strong>$ sudo wget -O \/etc\/yum.repos.d\/jenkins.repo http:\/\/pkg.jenkins-ci.org\/redhat\/jenkins.repo<\/strong><\/p>\n<p>Agora, precisamos instalar a chave (key) do reposit\u00f3rio:<\/p>\n<p><strong>$ sudo rpm &#8211;import http:\/\/pkg.jenkins-ci.org\/redhat\/jenkins-ci.org.key<\/strong><\/p>\n<p>E, finalmente, instalar o Jenkins:<\/p>\n<p><strong>$ sudo yum install jenkins<\/strong><\/p>\n<p>Feito.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>INTERFACE \/ AUTENTICA\u00c7\u00c3O \/ USU\u00c1RIO<\/h1>\n<p>&nbsp;<\/p>\n<div>Agora que instalamos o <em>Jenkins<\/em>, podemos conferir se o mesmo est\u00e1 executando, com o seguinte comando:<\/p>\n<p><strong>$ sudo netstat -tupanl | grep java<\/strong><\/p>\n<p>Uma sa\u00edda semelhante:<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/listen_java.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_listen_java.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"102\" border=\"0\" \/><\/a><\/div>\n<p>Agora, basta abrir o browser e digitar: <strong>http:\/\/127.0.0.1:8080<\/strong><\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/interface_jenkins.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_interface_jenkins.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"292\" border=\"0\" \/><\/a><\/div>\n<p>Pronto, seu Jenkins est\u00e1 pronto para ser usado.<\/p>\n<p>Mas, antes de usarmos, precisamos alterar alguns par\u00e2metros para aumentar o n\u00edvel de seguran\u00e7a do Jenkins, por padr\u00e3o, ele vem sem autentica\u00e7\u00e3o, proporcionando uma superf\u00edcie maior de ataque para usu\u00e1rios maliciosos.<\/p>\n<p>Primeiramente, acesse o link &#8220;Manage Jenkins&#8221;, ao clicar, aparecer\u00e1 um aviso de seguran\u00e7a sobre autentica\u00e7\u00e3o.<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/manage_jenkins.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_manage_jenkins.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"324\" border=\"0\" \/><\/a><\/div>\n<p>Clique em &#8220;Setup Security&#8221; e na pr\u00f3xima tela, selecione o checkbox &#8220;Enable Security&#8221;. Isso habilitar\u00e1 outras configura\u00e7\u00f5es.<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/configure_global_security.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_configure_global_security.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"344\" border=\"0\" \/><\/a><\/div>\n<p>Agora em &#8220;Security Realm&#8221;, selecione o checkbox &#8220;Jenkins&#8217; own user database&#8221; e em &#8220;Authorization&#8221;, selecione o checkbox &#8220;Matrix-based security&#8221;, isso habilitar\u00e1 novos recursos.<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/authorization.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_authorization.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"350\" border=\"0\" \/><\/a><\/div>\n<p>Como podem ver na terceira a\u00e7\u00e3o (3\u00ba), devemos criar um usu\u00e1rio e este ser\u00e1 o respons\u00e1vel pela administra\u00e7\u00e3o total do Jenkins, para isso, digite um nome qualquer e clique em &#8220;Add&#8221;.<\/p>\n<p>Repare um pouco acima que agora seu novo usu\u00e1rio foi criado com v\u00e1rias checkbox para modifica\u00e7\u00f5es dos tipos de permiss\u00f5es que este usu\u00e1rio ter\u00e1, conforme j\u00e1 mencionado, ser\u00e1 total. V\u00e1 ao final da linha contendo todos os checkbox e clique no \u00edcone para a sele\u00e7\u00e3o de todos.<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/user_add.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_user_add.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"191\" border=\"0\" \/><\/a><\/div>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/user_permission.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_user_permission.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"152\" border=\"0\" \/><\/a><\/div>\n<p>Clicando em &#8220;Apply&#8221;, voc\u00ea ser\u00e1 redirecionado para uma tela de login, como n\u00e3o temos nenhuma senha criada ainda, clique em &#8220;Create an account&#8221;. Especifique o usu\u00e1rio que voc\u00ea criou a pouco e uma senha para este usu\u00e1rio.<\/p>\n<p>Lembrando que este usu\u00e1rio ser\u00e1 o respons\u00e1vel pela administra\u00e7\u00e3o do Jenkins, ent\u00e3o, escolha uma senha forte, contendo n\u00fameros, letras min\u00fasculas\/mai\u00fasculas e caracteres especiais.<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/create_account.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_create_account.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"232\" border=\"0\" \/><\/a><\/div>\n<p>Conta criada com sucesso.<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/account_created.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_account_created.png\" alt=\"Linux: Integra\u00e7\u00e3o Cont\u00ednua com Jenkins - Instala\u00e7\u00e3o (Parte 1)\" width=\"500\" height=\"305\" border=\"0\" \/><\/a><\/div>\n<h1>PR\u00d3XIMOS PASSOS<\/h1>\n<p>Na pr\u00f3xima parte do artigo, falaremos sobre plugins, jobs e a cria\u00e7\u00e3o de um projeto utilizando o Jenkins.<\/p>\n<p>At\u00e9 a pr\u00f3xima.<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>JENKINS &nbsp; Jenkins \u00e9 um dos softwares utilizados quando se fala em &#8220;Integra\u00e7\u00e3o Cont\u00ednua&#8221;, que \u00e9 o respons\u00e1vel pelo desenvolvimento \u00e1gil, ou seja, a facilidade em detec\u00e7\u00e3o de bugs em c\u00f3digos e o r\u00e1pido deploy, em caso de falha por parte de um ou de um time de desenvolvedores, por exemplo. O assunto vai muito [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[455,91,1,730,830,256,725,42,51,439,495,271,127,548],"tags":[349,918,181,917,919],"class_list":["post-4066","post","type-post","status-publish","format-standard","hentry","category-apache2","category-banco-de-dados","category-viazap","category-clusterweb","category-debian","category-desktop","category-hospedagem","category-leitura-recomendada","category-linux-linuxrs","category-midia","category-profissional-de-ti","category-seguranca-2","category-sistemas-de-armazenamento","category-ubuntu-2","tag-com","tag-continua","tag-instalacao","tag-integracao","tag-jenkins"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4066"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4066\/revisions"}],"predecessor-version":[{"id":4067,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4066\/revisions\/4067"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}