侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 128954 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

[原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat

2023-12-23 星期六 / 0 评论 / 0 点赞 / 27 阅读 / 23094 字

[原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat 废话不多说,开始实施... 一些基本知识需要自己实践完,进行自我补充

[原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat

废话不多说,开始实施... 一些基本知识需要自己实践完,进行自我补充和提高。在下一节会介绍原理。

文中所涉及到的linux命令,请按步骤执行!创建的文件夹,权限设置为最大(可读写);sudo chmod 777 folder-name;

一.Jenkins安装

    1.安装环境 jdk+maven+git+tomcat

      在这里我要提醒一下,这些安装环境是基于依赖于git管理的项目部署必备的(SVN管理也可以),适用于本人所处开发环境及大多数开发环境。

      1.jdk安装 v1.8

        jdk版本1.7或者1.8都可以,linux 上jdk安装步骤:

        1.新建文件夹               

sudo su;//提升root权限mkdir /usr/lib/jvm;

        2.下载 jdk-8u101-linux-x64.tar.gz 官网中下载,然后上传到linux服务器。上传命令:sudo rz -y;                

           上传完成后,解压缩文件:

sudo tar -zxvf jdk-8u101-linux-x64.tar.gz    -C   /usr/lib/jvm;

  3.设置环境变量

sudo  vi  /etc/profile;

    打开文件后,在文件的末尾加上以下这些:

#java environmentexport JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATH

        4.设置系统默认的jdk

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_101/bin/java 300;sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_101/bin/javac 300;

        5.检查是否安装成功:

java  -version;

     2.安装maven

        1.下载 maven包上传到服务器:

        2.创建文件夹:

sudo mkdir /usr/lib/maven;

        3.解压文件:

sudo tar -zxvf maven-3.9.tar.gz -C /usr/lib/maven;

        4.设置环境变量:/etc/profile 为系统变量;~/.bashrc 为用户变量 

sudo vi /etc/profile;

           在末尾加入:

#maven environmentexport    MAVEN_HOME=/usr/lib/maven/apache-maven-3.9export    PATH=$MAVEN_HOME/bin:$PATH

         5.使文件生效:

sudo source /etc/profile

         6.查看是否安装成功

 mvn -v

      3.安装git

         1.下载git

            可以直接下载git包解压安装,具体详细git各种环境操作可以点击:https://git-scm.com/downloads 

            这种安装方式可以参考:http://jingyan.baidu.com/article/e9fb46e16698687521f766ec.html  

            在centOS5中的yum源中没有git.就需要用之前的方式,在centOS6以上中的yum源有git:           

sudo yum update;sudo yum -y install git;

        2.查看是否成功

git --version;

        3.设置git

git config --global user.name "your login name";git config --global user.email "your [email protected]";

         设置完,可以通过 cat ~/.gitconfig   查看;

        4.设置ssh-key;

        以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。(访问HTTP协议的Git服务器时,比如提交修改,每次都需要输入口令)

        注意:一定是在root权限下进行得到的ssh公钥:       

sudo su;ssh-keygen -t rsa -C "your [email protected]";

        直接默认,按回车就可以了;系统会提示ssh-key的保存位置(一般是~/.ssh目录)和指定口令。

cd ~/.sshllcat id_rsa.pub

        复制里面的内容;

       5.登录gitlab;

        点击 设置 选择ssh key;

        将公钥复制到sshkey中;

       6.测试是否成功:

        在服务器上:

ssh -T [email protected]

    4.安装tomcat

        1.将tomcat包上传服务器,解压。

        这里需要注意的是:

            第一,如果我们是利用tomcat启动Jenkins,我们需要将 web项目与Jenkins服务 的tomcat分开进行部署。这是因为 当我们再重新启动部署web项目时,不影响Jenkins的服务。

            注意 修改各个tomcat中的端口号,避免冲突;

            第二,如果我们使用 java -jar  jenkins.war;则可以不分开部署Jenkins;

     5.安装Jenkins

        1.我们下载 Jenkins.war包(版本:2.7.3),上传到服务器。

        2.将 Jenkins.war 移动到Jenkins 所使用的 tomcat中的webapps的目录下。

sudo mv jenkins.war  /apache-jenkins-tomcat/apache-tomcat7/webapps

        3.启动 tomcat:

sudo sh startup.sh

        4.访问:

        在浏览器中 访问 : 服务器ip:port/jenkins

           例如:192.168.1.1:8080/jenkins

        5.进入之后,会提示你输入 访问Jenkins的初始化密码,并且告诉你了 密码存放位置,如果没有找到,就在以下命令中进行查找:

           访问开始:如图 

           此密码 在tomcat启动日志里存在,或者 到 sudo cat /root/.jenkins/secrets/initialAdminPassword中 查看。

        6.进行代理服务器设置,因为需要连接外网 进行接下来的插件下载与安装。

            输入远程代理服务器ip 及 端口号即可,不用密码;

        7.点击下一步,会出现两个选择,一个就是 进行推荐的插件下载,一个就是自主选择插件下载安装。此时选择第一个推荐的插件下载安装。

        8.等待插件安装完成后,下一步就会 进行 用户登录的设置,注册 用户名 及密码。

        9.然后下一步,就完成了。进入到Jenkins页面中。

二、Jenkins系统管理

    1.接下来,我们需要进行给Jenkins系统设置相关的参数及构建项目时所需要的配置。我会 附上 图,然后解释 具体某个选项什么意思;

           1.首先,我们要进行插件管理,安装好我们所需要的插件。

                  所需要的插件列表:

                  除了,初始化配置时候,推荐安装的插件外,还需要 进入到

                  系统管理-->管理插件-->可选插件  :查找  1.gitlab相关插件并安装; 2.maven相关插件并安装; 3.Deploy to container Plugin(此插件 用于 构建后部署到  tomcat时候 使用);4.publish-over-ssh (此插件用于 构建部署成功后,在相应的服务器上 进行 shell脚本 自动化启动)。

               注意 点击 直接安装 publish-over-ssh插件,可能会失败,报错信息:

          这是 因为 访问限制,因此改为手动安装即可:

          解决办法:

          点击 插件超链接 进入到 下载界面,

                       

                    下载 hpi 文件到本地,然后 在系统管理--管理插件--高级--浏览-上传插件即可,如图:

                       

                    然后它自动上传并安装。

                    完成后,重启jenkins。

           2.系统管理-->系统设置:

                   1.下图中主目录 是 默认的,也可以进行配置更改,我不介绍了。     

                  2.

 全局属性中的参数是解决 构建中 出现 的 ‘ssl认证失败’ bug。

Exception Log:SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/... 

解决方法---参数:GIT_SSL_NO_VERIFY   = true

          3.                      

        gitlab api token的密码所在位置 

          4. 

           5.如果有多个机器,可以选择增加,配置多个机器。方法 一样。         

           3.全局配置:

             系统管理-->Global Tool Configuration :               

      
           4.安全配置:    

                    系统管理-->Configure Global Security . 默认配置就行。

           5.用户配置:

                    可进行对 用户 的 增删改。

           6.节点配置:用于分布式多平台测试、构建项目。

                    系统管理-->管理节点:

                    1.

                   

                    2.

                   

                    3.

                    点击 launch 按钮,此时 服务器 会下载 一个 slave.jar 文件,到 远程工作目录。该文件 是用来 master-slave  之间 进行通信的。

       在研究配置的过程中,处理时间最长的问题,就是gitlab配置问题。

       在构建项目的时候,总是提示以下异常:

       出现异常的原因就是 用户认证证书权限不正确,所以我们要设置最高权限的Jenkins认证证书。这样才能保证不出错误。

       以上就是一个自己总结出来的配置说明。

    2.以上全部配置完成以后,我们开始构建一个项目。

        1.设置一个project_name;

        2.选择构建 maven 项目;

        3.点击ok,进行构建项目配置:

            以下是构建过程中的各个选项说明:

            1.除特别说明标记的,画圆圈的为重点配置介绍,其余可不配置或者默认即可。

             2.

             3.构建触发器:

               4.我们在构建之前需要执行shell脚本,将原来web项目的war和文件夹删除。

                  以下为shell脚本内容以及如何使用:

               5.构建后:因为我们需要把git下来的war包部署到各个不同服务器的tomcat中,所有我们用到这个插件 Deploy ....

                  我们需要在各个服务器中 进行tomcat的修改,修改内容为:

                  我们将 修改 tomcat底下的 用户角色 配置,‘

sudo vi  /tomcat/conf/tomcat-user.xml

                  修改为:                  

<tomcat-users><role rolename="manager"/><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="admin" /><user username="tomcat" password="123456" roles="admin,manager,manager-gui,manager-script,manager-jmx" /></tomcat-users>

                然后,重新启动tomcat;

                以上配置完成后,我们需要输入,tomcat 用户名 密码,及host

                如图:

        4.构建成功后:

           Jenkins在构建成功后,会把项目生成在Jenkins的workspace中,注意 生成位置是 系统配置中 的 主目录路径下,如图:

            是在这个路径下。

           我们知道了这个路径,接下来会有用,和我们可以了解怎么改变此路径。可以查阅相关资料。搜索  ‘修改Jenkins 工作空间 路径’。

    到此为止,我们构建完成,并且部署完成,以上这些步骤,可以完成这些操作:

            1.当构建触发器中设定的规则 被触发,我们将进行构建。

            2.构建开始时,先将tomcat中的war文件及web项目文件夹删除。

            3.然后将 git clone 项目 到Jenkins的workspace中,把打好的war包 Deploying到 相应的tomcat 服务器的webapps目录下。

       如果不需要 自动化执行 重启tomcat命令的话,到此,我们就可以结束了,接下来我们就可以手动重启tomcat服务器。然后跳过第5步骤,看第6步骤。

      如果你想实现,部署完成后,需要自动化执行启动,那么我们需要如下操作:看第5步骤:

    5.点击 增加构建后的步骤按钮,选择  send build artifacts over ssh:

        如下图:我们进行配置:

        执行shell脚本的内容为:

  javapid=`ps aux|grep java|grep -v grep|grep apache-datax-7.0.70|awk '{print $2}'`   echo $javapid  if [ ! -n "$javapid" ];then        echo "no java process "        sudo /bin/sh /app/apache-datax-7.0.70/bin/startup.sh         echo "Tomcat start success"   else        echo "has a java process"        sudo kill -9 $javapid        sleep 5        sudo /bin/sh /app/apache-datax-7.0.70/bin/startup.sh        echo "Tomcat restart success"  fi

        执行的思路就是:查看web项目的tomcat进程是否存在,不存在,直接重启。存在,kill掉,然后在重启。

    6.保存项目。

        1.点击立即构建,查看日志,会进行git clone,然后下载pom文件中所需要的 jar包。

        这时候 我们要注意 maven所需要的 setting.xml配置文件,要和你本地eclipse中使用 的setting文件一致,因为一般公司都会有 自己 maven仓库。这样才能依赖到各个jar包。

        2.如果在构建过程中,报了 执行 shell脚本异常,错误原因是:

        那么,我们需要 修改 tomcat的 catalina.sh文件。       

sudo vi /tomcat/bin/catalina.sh 将 JAVA_HOME=/jdk_path

        加入到这个文件中,然后保存,重启tomcat。

        3.到此,我们就成功完成Jenkins全部部署了。

        4.异常信息:

            如果出现这个错误,就是 tomcat-user.xml配置文件的角色问题,查看前面配置说明。

当然还有许多Jenkins的功能没有进行说明,先不做一一介绍。如果有问题,可以直接留言。

这些是真实实践出来的结果,希望大家支持,共同反馈,共同进步。转载请说明出处。

 

附加资料:

文件权限配置说明:

http://blog.chinaunix.net/uid-25052030-id-174343.html 

linux添加用户,修改用户权限说明:

http://www.cnblogs.com/daizhuacai/archive/2013/01/17/2865132.html 

广告 广告

评论区