美文网首页
Jenkins的安装以及部署

Jenkins的安装以及部署

作者: 依然范特希 | 来源:发表于2018-07-03 23:26 被阅读0次

对Jenkins的了解不是很多,之前公司有用Jenkins自动更新测试环境,每天会在中午和下午下班之前进行自动部署。对于Jenkins的认识局限于此,里面的配置挺多的,这次就用了基本的配置,有更多的内容大家一起探讨。话不多说,那么这次让我们近距离来感受下Jenkins吧!
1、Jenkins的安装
关于Jenkins的安装有很多种方式有war包方式,docker方式以及本次我使用的yum方式。根据需要进行安装部署,以下是yum安装的命令,需要注意由于Jenkins是基于Java开发的,所以在安装Jenkins之前要安装jdk1.8,如果已经安装了jdk1.8请将以下yum安装jdk的部分删除:

    yum install -y java-1.8.0-openjdk && \
    wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo 
    && \  rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key &&\
    yum clean all && yum makecache && \
    yum install -y jenkins && \
    systemctl start Jenkins

Jenkins的默认端口是8080(可以对端口进行修改,这里就不介绍了),浏览器输入http://ip:8080对Jenkins进行访问,首次登录Jenkins会提示默认密码的位置,查看存放密码的文件将密码输入进入系统,接下来系统会引导创建管理用户以及插件的下载(插件可以选左侧的插件),插件安装完毕之后就可以用新的admin账户进行登录,进行管理。
2、Jenkins的配置
打开系统管理-全局工具配置,首先配置jdk以及git,maven(如果代码仓库是svn就配置svn,如果有用到其他的也可以进行配置)的路径:

image.png
然后打开系统管理-插件管理,进行SSH插件的安装,安装完成之后选择重新启动Jenkins:
image.png
打开凭据-系统-全局凭据
image.png
添加凭据
image.png
输入以后要执行shell脚本主机的用户名以及密码,保存
image.png
然后打开系统管理-系统设置进行ssh主机访问的配置,如下,其中credentials这个选择刚刚配置的凭据,点击测试连接,成功就OK了。
image.png

3、新建任务
打开新建任务,输入任务名称以及选择如下的选项,点击确认:


image.png

回到首页,就到看到刚刚新建的任务:


image.png
点击任务,进入新建的任务:
image.png
可以一次点击下左侧的内容,感受下这些大体都是些做什么的,接下来我们点击配置:

首先配置git路径:


image.png
源码管理下的git路径:
image.png
然后配置触发器,下图是每天中午12点进行一次构建,在本文的结尾我会对表达式有一点介绍:
image.png
然后在构建的地方,进行构建,注意下图一定不要选错,这里如果不进行登录的会进入linux的非交互模式,应该是这样,这里是个坑
image.png
接下来选择要执行shell脚本的主机(之前我们配置的主机),然后输入shell脚本,分享下我的shell脚本,这里我首先是执行的主机上存放的一个shell脚本,方便以后脚本的管理:
image.png
这个脚本的内容是,大体的意思是停了springboot启动的应用,然后在已经重新从git上下载好的源代码进行mvn的打包以及最后重新启动应用:
    #######################################停止sprintboot应用  start   
############################################
    JAR_NAME=filestorage-0.0.1-SNAPSHOT.jar 
    tradePortalPID=0  
    getTradeProtalPID(){  
        javaps=`$JAVA_HOME/bin/jps -l | grep $JAR_NAME`  
        if [ -n "$javaps" ]; then  
            tradePortalPID=`echo $javaps | awk '{print $1}'`  
        else  
           tradePortalPID=0  
        fi  
    }  
    shutdown(){  
getTradeProtalPID  
echo "================================================================================================================"  
if [ $tradePortalPID -ne 0 ]; then  
    echo -n "Stopping $JAR_NAME(PID=$tradePortalPID)..."  
    kill -9 $tradePortalPID  
    if [ $? -eq 0 ]; then  
        echo "[Success]"  
        echo "================================================================================================================"  
    else  
        echo "[Failed]"  
        echo "================================================================================================================"  
    fi  
    getTradeProtalPID  
    if [ $tradePortalPID -ne 0 ]; then  
        shutdown  
    fi  
        else  
            echo "$JAR_NAME is not running"  
            echo "================================================================================================================"  
       fi  
    }  
    shutdown
    #######################################停止sprintboot应用  end   ############################################
    ####################################### mvn 重新进行打包 start###############################################
    cd /var/lib/jenkins/workspace/futrue
    mvn clean install -Dmaven.test.skip=true
    cd ./target
    ####################################### mvn 重新进行打包 end#################################################
    ####################################### 启动应用 start##################################################
    java -jar filestorage-0.0.1-SNAPSHOT.jar > filestorage.out & 
    ####################################### 启动应用 end####################################################

4、手动触发任务


image.png

手动触发一次任务,然后查看执行完成后的日志:


image.png
可以看到日志中的内容首先是从git上clone代码,然后是执行shell脚本的内容,这里我没有配置构建后的操作,可以选择一个邮件通知的内容,每次构建完成之后给指定的邮箱发邮件。
5、观察定时任务

前面配置定时器还没忘记吧,观察下到点自动触发了么。

附录:
关于定时器表达式的内容:
定时构造语法:* * * * *
第一个表示分钟,取值0~59
第二个
表示小时,取值0~23
第三个表示一个月的第几天,取值1~31
第四个
表示第几月,取值1~12
第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
以下是几个例子:
每隔5分钟构建一次:H/5 * * * *
每两小时构建一次:H H/2 * * *
每天中午下班前定时构建一次:0 12 * * *
每天下午下班前定时构建一次:30 5 * * *

jenkins启动命令: service jebkins start

相关文章

网友评论

      本文标题:Jenkins的安装以及部署

      本文链接:https://www.haomeiwen.com/subject/cvqsuftx.html