zoukankan      html  css  js  c++  java
  • 从零搭建 jenkins 自动部署 java maven项目

    第一次接触jenkins自动部署 maven项目,从度娘谷哥搜刮N多资料,经过一个多星期的(部署+删除)✖️N 过程,终于成功部署完成,现将整合过的部署过程傻瓜式列出(真的挺傻瓜的了[捂脸]),分享给大家参考(嗯,也是备份怕忘了 - -||)。

    1. 准备系统 centos7

    a. 建议使用mini系统

    b. 查询本机ssh远程连接是否开启

    执行命令:service sshd status

    结果显示Active: active (running),说明已启动,请跳到下一步

    结果显示Active: inactive (dead),说明未启动,执行命令:service sshd start

    如果提示command not found,说明尚未安装netstat,执行命令:yum install net-tools,安装netstat工具,安装完成后,再次执行命令:service sshd status,根据返回结果进行处理

    c. 查看本机ip地址,记录ip地址

    执行命令:ip addr

    d. ssh远程连接centos服务器(mac为例,windows请百度Linux Bash使用教程,或者找个客户端也行)

    打开终端,执行命令:ssh 用户名@ip地址(例:ssh root@47.221.90.11) ,输入密码回车;

    因为最终的生产环境是要部署服务器的,即使当前是本机的虚拟机centos7系统,也建议使用本机的远程工具连接虚拟机centos7来进行操作,提前熟悉ssh远程操作服务器

    e. 更换yum的源,系统默认的 yum源 服务器在国外,速度慢,建议修改yum源为国内源。

    i. 备份镜像源

    cd /etc/yum.repos.d

    mv CentOS-Base.repo CentOS-Base.repo.backup

    ii. 替换镜像源(网易163源,也可以自行百度用阿里等其他的源,看个人喜好)

    wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

    mv CentOS7-Base-163.repo CentOS-Base.repo

    iii. 清理,更新yum缓存

    yum clean all 

    yum makecache

    yum -y update

    f. 安装tab键shell补全增强:

    执行命令:yum -y install bash-completion  bash-completion-extras

    g. 安装vim

    执行命令:yum -y install vim

    h. 安装zip工具:

    执行命令:yum -y install zip

    执行命令:yum -y install unzip

    2. 安装java:

    首先,到jdk官网上下载你想要的jdk版本,下载完成之后将需要安装的jdk安装包放到Linux系统指定的文件夹下,并且命令进入该文件夹下:

    [root@localhost software]# ll

    total 252664

    -rw-r--r--. 1 root root  11830603 Jun  9 06:43 alibaba-rocketmq-3.2.6.tar.gz

    -rw-r--r--. 1 root root  43399561 Jun  9 06:42 apache-activemq-5.11.1-bin.tar.gz

    -rwxrw-rw-. 1 root root 185540433 Apr 21 09:06 jdk-8u131-linux-x64.tar.gz

    -rw-r--r--. 1 root root   1547695 Jun  9 06:44 redis-3.2.9.tar.gz

    -rw-r--r--. 1 root root  16402010 Jun  9 06:40 zookeeper-3.4.5.tar.gz

    解压 jdk-8u131-linux-x64.tar.gz安装包

    [root@localhost software]# mkdir -p /usr/lib/jvm

    [root@localhost software]# tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm

    这里不建议用wget在linux中直接下载,Oracle官网jdk下载之前需要同意Oracle的安装协议,不然不能下载,但是用wget的方式,默认是不同意oracle安装协议, 下载下来的文件会有问题,在Linux上解压会提示失败,虽然可以通过修改文件后缀名的方式强制解压,但还是推荐走正常路线,先下载到自己本地电脑,然后用scp命令上传到服务器,再解压。

    例如:scp /Users/00_centos/jdk-8u181-linux-x64.tar.gz root@服务器ip:/usr/lib/jvm/jdk-8u181-linux-x64.tar.gz

    其次,设置环境变量

    [root@localhost software]# vim /etc/profile

    在最后面添加(这个不强制要求位置,放到最前面也可以):

    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131  

    export JRE_HOME=${JAVA_HOME}/jre  

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

    export  PATH=${JAVA_HOME}/bin:$PATH

    再次,执行profile文件

    [root@localhost software]# source /etc/profile

    这样可以使配置不用重启即可立即生效

    3. 安装jenkins

    a. 打开http://www.jenkins.io,点击Download按钮,进入下载资源列表

    b. 找到《Red Hat/Fedora/CentOS》,点击进入,最开始就是安装命令(3条)

    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

    yum install jenkins (命令执行过程中有[y/d/N]提醒,输入y回车即可)

    如果是linux系统是root用户登录,命令开始位置可以不用写 sudo

    c. 依次执行三条命令,jenkins安装第一步完成,yum安装默认路径在 /usr/lib/jenkins 目录

    执行命令:cd /usr/lib/jenkins 跳转到该目录;

    执行命令:java -jar jenkins.war --httpPort=10010 启动jenkins

    启动命令参数说明:java -jar 是执行war文件,--httpPort是修改启动端口,jenkins的默认端口是8080,如果不修改端口,只执行 java -jar jenkins.war 也是可以的;

    最后结果显示Jenkins is fully up and running 表示jenkins启动成功,另外,结果中有被两串******间隔起来的的密码,及密码所在的文件路径,这个是jenkins的初始化验证密码

    d. 在自己电脑打开浏览器,输入 http://ip:10010 打开jenkins的初始化界面

    i. 如果提示无法连接到服务器,终端输入命令:firewall-cmd --list-ports 查看10010端口是否开放,如果没有,则执行命令:firewall-cmd --zone=public --add-port=10010/tcp --permanent 添加10010端口开放,然后执行命令:firewall-cmd --reload 重启防火墙使端口设置生效

    ii. 如果不是正式服务器,也可以直接关闭防火墙,执行命令:systemctl stop firewalld.service 停止防火墙,执行命令:systemctl disable firewalld.service 禁止防火墙开机启动

    iii. 如果是云服务器部署,除了系统防火墙之外,需要检查ecs的安全组设置,配置10010端口

    e. 在浏览器的jenkins初始化界面输入验证密码(密码位置界面有提醒,到centos服务器中找);

    下一步选择左边,安装推荐的插件(基本都是需要装的),如果有安装失败的插件,就在右下角点重新安装,直到所有插件安装成功,自动跳转到下一步用户注册;

    填写系统信息,用户名、密码、全名、邮箱(eg:admin),点击保存并完成,点击开始使用jenkins;OK jenkins安装完成。

    f. 安装额外的jenkins插件

    系统管理>插件管理,点击“可选插件”选项卡,在右上角过滤中输入 Rebuilder 找到Rebuilder并勾选,再输入 Safe 找到Safe Restart 并勾选,然后点击左下角立即安装,等待安装完成。

    g. 配置jenkins用户

    i. 系统管理>管理用户>新建用户,创建一个普通用户(eg:buyer)

    ii. 系统管理>全局安全配置,找到“授权策略”,将默认的“登录用户可以做任何事”改选为“安全矩阵”

    iii. 在添加用户/组位置,输入 系统用户 (admin),点击添加,勾选所有权限;输入 新建的普通用户(buyer),勾选除了管理员权限(Administer Read)之外的其他权限;

    iv. 配置完成后,点击左下角保存按钮,保存配置

    h. 配置凭据(git用)

    凭据>系统,点击右侧“全局凭据”,点击左侧“添加凭据”,输入git的账号密码

    i. 配置jdk

    系统管理>全局工具配置,右侧点击【JDK安装】按钮,输入别名(jdk8u181),输入JAVA_HOME值(/usr/lib/jvm/jdk1.8.0_181),点击 【Save】按钮保存更改

    4. 安装tomcat

    a. 执行命令:cd /usr/local 进入用户目录;

    b. 执行命令:mkdir tomcat 创建tomcat文件夹;

    c. 执行命令:cd tomcat 进入文件夹

    d. 执行命令: wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.zip 下载tomcat(这里是tomcat9的下载地址,其他版本可以到tomcat官网,找到对应版本,找Core下的zip下载地址并复制)

    e. 执行命令:unzip apache-tomcat-9.0.10.zip (unzip是解压命令,将下载的tomcat压缩包解压到当前目录)

    f. 执行命令:cd /usr/local/tomcat/apache-tomcat-9.0.10 进入tomcat目录

    g. 执行命令:chmod 755 -R bin 更改tomcat的bin目录内文件权限

    h. 执行命令:cd /usr/local/tomcat/apache-tomcat-9.0.10/bin 进入tomcat的bin目录

    i. 执行命令:./startup.sh 启动tomcat

    5. 安装maven

    a. 执行命令:cd /usr/local 进入用户目录;

    b. 执行命令:mkdir maven 创建maven文件夹;

    c. 执行命令:cd maven 进入文件夹

    d. 执行命令: wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip 下载maven(下载地址请到官网复制:http://maven.apache.org/download.cgi)

    e. 执行命令:unzip apache-maven-3.5.4-bin.zip (unzip是解压命令,解压到当前目录)

    f. 执行命令:vim /etc/profile 打开系统环境配置文件,在文件末尾,增加环境变量:

    MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4

    export MAVEN_HOME

    export PATH=${PATH}:${MAVEN_HOME}/bin

    g. 执行命令:source /etc/profile 使修改的系统环境配置文件生效

    6. 安装git

    a. 执行命令:yum -y install git

    b. 配置git的昵称和邮箱账户

    git config --global user.name "feng"

    git config --global user.email "feng@abc.com"

    github还需要配置ssh,这里我用的是bitbucket,用的https ,没有用ssh,就不做ssh配置了,如有需要请自行百度

    7. jenkins新建任务,配置git

    a. 进入jenkins首页,点击创建新任务

    b. 输入任务名称 buyer(建议用项目名字),选择“构建一个自由风格的软件项目”,点击“确定”

    c. 源码管理选择git

    i. Repository URL 输入https://root@bitbucket.org/team/buyer_java.git(bitbucket项目的HTTPS地址);

    ii. Credentials 选择之前已经配置好的 bitbucket凭据(github也是类似的操作);

    iii. Additional Behaviours,点击Add,选择“Check out to a sub-directory”,填写从bitbucket拉取的项目文件要存放的子目录地址 buyer

    d. 增加构建步骤,选择执行shell,在输入框中输入要执行的shell命令,如下:

    #任务执行完成后,不关闭jenkins服务

    BUILD_ID=DONTKILLME

    source /etc/profile

    #配置运行参数

    export PROJ_PATH=`pwd`

    export TOMCAT_APP_PATH=/usr/local/tomcat/apache-tomcat-9.0.10

    #运行部署脚本(这个是存放在项目中的脚本文件)

    sh $PROJ_PATH/项目根目录名称/deploy.sh 

    8. 编写自动化任务(shell语句),即 项目根目录/deploy.sh ,shell命令不强制,仅做参考,可以根据自己需要编写,文件样例内容如下:

        #!/usr/bin/env bash

        #编译+部署springboot站点

        

        #需要配置如下参数

        # 项目路径,再Execute Shell 中配置项目路径,pwd可以获得该项目路径

        # export PROJ_PATH=这个jenkins任务在部署机器上的路径

        

        # 输入你的环境上tomcat的全路径

        # export TOMCAT_APP_PATH=tomcat在部署机器上的路径

        

        ### base 函数

        killTomcat()

        {

            pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'`

            echo "tomcat Id list :$pid"

            if [ "$pid"="" ]

            then

                echo "no tomcat pid alive"

            else

                kill -9 $pid

            fi

        }

        cd $PROJ_PATH/buyer

        mvn clean install

        

        # 停止tomcat

        killTomcat

        

        # 备份原有工程

        TS=`date +%Y%m%d%H%M%S`

        BAKDIR=/usr/local/buyer_bak/$TS/

        mkdir -p  $BAKDIR

        cp $TOMCAT_APP_PATH/webapps/ROOT $BAKDIR

        cp $TOMCAT_APP_PATH/webapps/ROOT.war $BAKDIR

        

        # 删除原有工程

        rm -rf $TOMCAT_APP_PATH/webapps/ROOT

        rm -f $TOMCAT_APP_PATH/webapps/ROOT.war

        

        # 复制新工程

        cp $PROJ_PATH/buyer/target/buyer-0.0.1-SNAPSHOT.war $TOMCAT_APP_PATH/webapps/

        

        # 重命名执行文件

        cd $TOMCAT_APP_PATH/webapps/

        mv buyer-0.0.1-SNAPSHOT.war ROOT.war

        

        # 启动tomcat

        cd $TOMCAT_APP_PATH/

        sh bin/startup.sh

        

    9. 安装已全部完成,接下来可以执行自动化任务进行测试了。

  • 相关阅读:
    1111---9999的变换
    Mac命令行
    iOS 支付 [支付宝、银联、微信]
    ShareSDK适配iOS 9系统
    iOS中Size Classes的理解与使用
    iOS9网络请求升级 之前的不显示图片 破解方法
    iOS9中友盟分享不能使用 破解方法
    iOS9中错误信息信息是引入的一个第三方库不包含bitcode
    iOS 六大手势
    下拉刷新和上拉加载的原理
  • 原文地址:https://www.cnblogs.com/feng-blog/p/9556013.html
Copyright © 2011-2022 走看看