zoukankan      html  css  js  c++  java
  • Jenkins+GitHub+maven

    介绍:


    http://192.168.193.128:8115/jenkins/

    用户名:admin
    密码:admin
    电子邮箱:admin@admin.com

    root/12345678
    添加新用户:

    test/12345678    test@admin.com
    stoneshi/stoneshi stoneshi@admin.com

    插件:rebuilder:构建的时候输入参数,输入参数的时候麻烦,再次构建的时候可以输入很多参数。
               safe restart:安全Jenkins重启
            
    基础配置:全局安全性--系统管理,configure--安全矩阵--添加admin用户,添加权限--保存
                添加用户---系统管理---管理用户--新建用户tester01---系统管理--如上配置权限,全选,去掉administrator。
    普通用户和系统用户区别:注销此用户,登陆tester01,可以创建任务,不能管理Jenkins

    测试服务器和Jenkins服务器是部署在不同服务器中,测试应用服务器:
    Linux下的安装:
    确认开启ssh服务
    确认用户名和密码
    防火墙 处于关闭状态,测试环境一般用的内网,可以关闭

    安装java环境

    ssh端口默认是22端口。

    安装git:用户存储和管理项目的源代码,大部分公司使用源代码管理。

    安装并配置git,验证安装结果
    git初始化设置并生成授权证书:
    初始化配置
    git config --global user.name "stone"
    git config --global user.email "stone@admin.com"

    生成授权证书
    ssh-keygen -t rsa -C "stone@admin.com"    最好和前面的一样
    cd ~/.ssh/  
    将git证书配置到gitlab上,保证Linux和Gitlab之间可以联通
    也就是将公钥放到gitlab的setting---ssh和gitlab中。
    配置好后,验证是否成功连接:ssh git@github.com
    出现You ve successfully authenticated表明成功连接


    安装并配置Maven
    实战应用程序是基于Maven构建的
    下载包---maven.apache.org-----download----选择Apache-maven-3.5.3-bin.zip下载

    unzip Apache-maven-3.5.3-bin.zip
    cd apache-maven-3.3.3
    文件末尾输入:
    export MAVEN_HOME=/root/apache-maven-3.3.3
    export PATH=$MAVEN_HOME/bin:$PATH

    . /etc/profile   加载系统设置
    mvn -version

    下载Tomcat省略:
    chmod a+x -R /usr/local/tomcat/*


    jenkins配置:
    新建节点
    系统管理--管理节点--新建节点--输入名称test--Permanent Agent--OK
    描述:省略


    配置IP,路径,IP,用户名,密码

    远程工作目录:
    计划使用root用户登录Jenkins这台主机,可以配置为/root/.jenkins
    启动方法:
    Lanuch slave agnets via SSH

    主机:Linux的IP地址
    使用Linux的用户名和密码来登录,--add--选择。----保存

    尝试连接:验证linux服务器连接到Jenkins的服务器上。
    点击节点名---launch agent---

    说明这台Linux主机成功连接到Jenkins主机上。

    运行验证:
    创建一个任务,验证是否在Linux上运行。
    创建新任务--Enter an item name (testtask)---构建一个自由风格选项--OK
    Restrict where this project can be run
    Label Expression :输入创建的Linux环境的名称,只能在(testenv)这里面运行
    构建步骤---输入shell命令。

    github,
    fork部署:将修改后的源码,放到git的空间下,
    使用自己的账号登录GitHub上--搜索princeqjzh/order---单击fork按钮---进入邮箱点击链接fork完成
    --可以看到源码到order下--获得该工程的修改权限

    gitlub打开fork部署应用
    将应用源代码同步到本机。--order--单击clone or download---ssh格式和http格式--复制ssh格式
    --进入服务器,git clone下载--用intellij idea打开克隆项目--file--open--order--this window
    源代码的简要说明
    架构建立在maven的基础上的--构建maven,所以根目录下有pom.xml文件--java的源代码放到src的main下的java下
    创建db的sql目录放到sql下,执行部署应用的shell脚本放到deploy.sh下
    验证源代码有无错误--打开maven project--order--lifecycle--同时选中clean,install--执行绿色箭头--看到build success说明构建成功
    与后台数据库有交互,创建没MySQL数据表--导入sql语句

    修改代码,然后在服务器中push执行。
    准备工作总结:
    1 FORK GitHub上的练习部署应用,确保获得代码更新权限
    2 把应用源代码clone到本地,执行sql语句导入应用数据
    3 更新应用的数据库参数,本地运行应用验证系统正确性
    4 commit源代码修改,并将改动push到GitHub服务器

    Jenkins自动化部署任务
    自动化部署过程:
    git 同步最新代码
    maven 打包
    停止Tomcat
    部署应用
    启动Tomcat
    验证web界面

    自动化部署代码,在工程的deploy.sh

    #!/usr/bin/env bash                调用Linux内核下的bin/shell库,标准写法
    #编译+部署order站点
    
    需要配置如下参数
    #项目路径,在execute shell中配置项目路径,pwd可以获得该路径
    #export PROJ_PATH=这个jenkins任务在部署机器上的路径
    
    #输入你的环境上Tomcat的全路径
    #export TOMCAT_APP_PATH=Tomcat在部署机上的路径
    
    ###bash函数
    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/order        进入当前项目的order根目录
    mvn clean install        利用maven构建工程
    
    ##停Tomcat
    killtomcat
    
    #删除原有工程
    rm -rf $TOMCAT_APP_PATH/webapps/ROOT
    rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
    rm -r $TOMCAT_APP_PATH/webapps/order.war
    
    #复制新的工程
    cp $PROJ_PATH/order/target/order.war $TOMCAT_APP_PATH/webapps/
    
    cd $TOMCAT_APP_PATH/webapps/
    mv order.war ROOT.war
    
    ##启动Tomcat
    cd $TOMCAT_APP_PATH/

    JENKINS的web界面配置
    新建任务---项目名称test--Restrict where this project can be run --testenv--git--add pepository
    --Additional Behaviours --Local subdirectory for repo --order--构建shell

    BUILD_ID=DONTKILLME       
    ##当Jenkins部署完server任务后,server不关闭,但是Jenkins线程会被杀掉。
    . /etc/profile
    ###配置运行参数
    export PROJ_PATH=`pwd`
    export TOMCAT_APP_PATH=服务器中Tomcat的目录
    
    sh  $PROJ_PATH/order/deploy.sh
    访问主页,配置成功
  • 相关阅读:
    〖編程·C++〗回溯算法:排列树 N皇后问题
    〖網頁·PHP〗Windows 7下进行PHP环境搭建
    〖編程·C++〗回溯算法:排列树 工作分配问题
    〖編程·C++〗回溯算法:完全N叉树 最佳调度问题 以及相关思考
    pod install 初始化失败 RuntimeError [Xcodeproj] Unknown object version.
    iOS 版本判定
    Windows部署多版本Mysql服务
    注意IE的Cookie个数限制问题
    检索 COM 类工厂中的组件时失败,原因是出现以下错误: 8007007e
    一次曲折的单点集成之旅
  • 原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/9468592.html
Copyright © 2011-2022 走看看