jenkins部署

Posted nineep

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins部署相关的知识,希望对你有一定的参考价值。

基础环境

        建议使用jdk1.5以上版本  (这里不做jdk安装讲解,去官网下载jdk下载地址)

        下载(jdk-7u45-Linux-x64.tar.gz版本)

jenkins安装

         执行以下命令:

                sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
                sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
                sudo yum install jenkins

             安装完成后启动jenkins

                 sudo  service  jenkins  restart  //  重启

                 sudo  service jenkins stop   //停止

          找到jenkins.war的位置 ( 一般默认在 /usr/lib/jenkins 下 )

          执行Java -jar jenkins.war    在浏览器地址栏输入 ip地址+端口就可以进行访问了( 端口默认8080 )

          访问时常见问题:

               1.由于防火墙未关闭导致访问失败

                          ( centos7下防火墙关闭命令:  systemctl stop firewalld.service //停止firewall
                                                                     systemctl disable firewalld.service //禁止firewall开机启动)

               2.由于默认80端口被占用导致访问失败

                          执行 vi  /etc/sysconfig/jenkins  (修改jenkins文件中的端口,默认8080,我这里把改成8182了)

                          技术分享图片

               

                访问成功出现的页面: (我这里是已经创建了一个项目了)

                                   技术分享图片

 

maven安装                          

             下载地址

                  点击打开链接

                  版本 apache-maven-3.0.4-bin.tar.gz

                  tar -xvf apache-maven-3.0.4-bin.tar.gz 

                  mv apache-maven-3.0.4 /usr/local/apache-maven

                  文件存放好之后,设置环境变量,打开etc/profile,在文件中加入下边的代码:

                  写入环境变量

                        vi /etc/profile 

                        最后一行加入

                        这个前提是安装了java1.*

                        export JAVA_HOME=/usr/local/jdk1.*
                        export MAVEN_HOME=/usr/local/apache-maven
                        export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH

                 再执行

                        source /etc/profile

                  执行  mvn  -help  可查看具体操作命令

 

Git安装  

                  yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

                  yum install git

                  git --exec-path  查看git位置( 后面jenkins配置需要用到 ,我的位置 : /usr/libexec/git-core )

===============================================================================================================

 

好了,到这里基本环境已经搭建好了,如果想让jenkins听从你的指挥 , 进行项目的自动化构建和部署需要进行以下具体配置了:

             1.先去下载常用的插件( jenkins master需要几个常用的插件,在“可选插件”中,建议将如下列表插件选中并安装: )

                      技术分享图片

                   技术分享图片技术分享图片

                     安装完成后重启jenkins.

               2.在jenkins的“系统管理”-->“系统设置”页面,来设定全局的配置,其中重要的3个选项位Git,JDK和Maven,

                  我们需要配置它们的安装位置.

                         技术分享图片   技术分享图片

                    3.接下来我们设置 Global credentials  (我这里设置的是用户名密码方式登录   ,   即git的账号密码 )

                   技术分享图片

               4.下一步,我们新建一个项目

                1.  技术分享图片

                2.  技术分享图片

                 3.  技术分享图片

                4.   技术分享图片

                 5. 技术分享图片

                  以上是jenkins构建一个maven项目的相关配置

                  配置时几点注意事项:

                           1.在jenkins和git进行下载代码的时候,还需要用git生成公钥,然后在git账户里去配置公钥信息(具体生成方法和配置方法在下一节讲解)

                            2.在图4配置构建后操作的时候,需要设置tomcat的用户和密码,tomcat默认是没有的,需要去改tomcat-user.xml去配置(具体配置方法下一节讲解)

                  

                   最后点击保存就完成了一个项目的构建配置了(  点击构建后, jenkins会将maven编译打包好的war文件放到tomcat下的webapp目录下 ),这样就完成了.

 

 

上节还有一些问题没有详细的讲解,这里具体说下:

 

    1. 再Git上配置ssh Keys  ( 其实在git用户中会有说明如何去生成的,这里把写出来下,方便大家 )

SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。
你可以按如下命令来生成sshkey

ssh-keygen -t rsa -C "[email protected]"# Creates a new ssh key using the provided email
# Generating public/private rsa key pair...
查看你的public key,并把他添加到 Git @ OSC http://git.oschina.NET/keys
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
添加后,在终端(Terminal)中输入
ssh -T [email protected].Net
 若返回
Welcome to [email protected], yourname! 
       则证明添加成功。

    2.配置tomcat的用户名称和密码( 默认是不需要密码的,这里jenkins需要链接tomcat进行项目部署,所以需要用户名和密码 )


                      Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Manager也成为了使用非常普遍的功能应用。

在默认情况下,Tomcat Manager是处于禁用状态的,需要我们进行相应的用户配置之后才能使用Tomcat Manager。

Tomcat Manager的用户配置是在Tomcat安装目录/conf/tomcat-users.xml文件中进行管理的。

我们只需要在tomcat-users节点中配置相应的role(角色/权限)和user(用户)即可。一个user节点表示单个用户,属性username和password分别表示登录的用户名和密码,属性roles表示该用户所具备的权限。

user节点的roles属性值与role节点的rolename属性值相对应,表示当前用户具备该role节点所表示的角色权限。当然,一个用户可以具备多种权限,因此属性roles的值可以是多个rolename,多个rolename之间以英文逗号隔开即可。

rolename的属性值并不是随意的内容,否则Tomcat怎么能够知道我们随便定义的rolename表示什么样的权限呢。Tomcat已经为我们定义了4种不同的角色,我们只需要使用Tomcat为我们定义的这几种角色就足够满足我们的工作需要了。

以下是Tomcat Manager 4种角色的大致介绍(下面URL中的*为通配符):

manager-gui
    允许访问html接口(即URL路径为/manager/html/*)
manager-script
    允许访问纯文本接口(即URL路径为/manager/text/*)
manager-jmx
    允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
manager-status
    允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)

 

后续遇到的问题及解决方案会写续文...

 

以上是关于jenkins部署的主要内容,如果未能解决你的问题,请参考以下文章

jenkins的Pipeline代码流水线管理

jenkins部署源代码到远程服务器

自动代码质量分析(GitLab+JenKins+SonarQube)

jenkins到底如何拉取代码 如何部署的

Jenkins实现代码的部署&回滚

Jenkins 在 Tomcat 中的部署及代码静态检查工具集成