• jenkins学习


    持续集成体系介绍

    1. 什么是持续集成?

    频繁地(一天多次)将代码集成到主干

    2. 持续集成测试带来的有点

    快速发现错误:每完成一点更新,就集成到对应的分支,可以快速发现错误,定位错误也比较容易

    防止分支大幅偏离主干:如果不是经常集成,分支或者主干又在不断更新,会导致以后集成的难度变大,甚至难以集成

    3. 持续集成流程-CI

    检测代码变动->自动构建编译->自动测试->自动打包

    4. CI(持续集成),CD(持续交付),CD(持续部署)

    Continuous Integration :develop->build->test 

    Continuous Delivery:develop->build->test->release

    Continuous Deployment:develop->build->test->release->deploy to production

    5. 持续集成工具-Jenkins

      Jenkins的优势:

        开源,历史悠久

        超大量的安装数目

        超丰富的插件支持

        几乎支持所有的source control management和Version control management tools

    Jenkins搭建部署

    docker部署

    #首先拉取jenkins镜像

    docker pull jenkins/jenkins:lts  #lts是jenkins的版本不是参数

    #创建docker的文件映射卷
    docker volume create jenkins_test
    #查看是否有jenkins的文件卷
    docker volume inspect jenkins_test
     

    [
    {
    "CreatedAt": "2020-08-31T17:01:40+08:00",
    "Driver": "local",
    "Labels": {},
    "Mountpoint": "/var/lib/docker/volumes/jenkins_test/_data",
    "Name": "jenkins_test",
    "Options": {},
    "Scope": "local"
    }
    ]

    
    #创建实例
    
    docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_test:/var/jenkins_home jenkins/jenkins:lts
    #8080是jenkins对外服务的端口,50000端口是jenkins的slave连接主服务器时用的


    #查看jenkins的状态
    docker ps
    
    

     #查看jenkins容器的运行日志

     docker logs adf7b210a3b2

     #jenkins启动起来后,浏览器访问8080端口要求输入初始密码

     

    #获得初始管理员密码
    
    docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

    docker run命令运行以及参数详解 https://www.cnblogs.com/mypath/articles/10102033.html 

    手动部署:java -jar jenkins.war

    正式部署:

      调参:调增jvm的参数

      应用容器:使用tomcat, jetty启动

      反向代理:使用nginx设置域名、https

    jenkins job管理

    修改系统配置

    Manage Jenkins

    默认shell:bash

    默认邮箱:邮箱地址与账户

    默认地址:服务器域名

    安全:设置安全制度

    时区:时区修改

    #删除已有实例
    
    docker rm -f jenkins
    
    #重新创建实例并设置时区
    
    docker run -d -name jenkins -p 8080:8080 -p 50000:50000
    
    -v jenkins_test:/var/jenkins_home
    
    -e JAVA_OPTS=-Duser.timezone=Aisa/Shanghai
    
    jenkins/jenkins:lts

    #重启jenkins
    docker restart jenkins

    插件:设置代理、安装插件、更新插件

    在Advanced里面添加代理下载插件,在available里安装

    slave节点:添加slave节点

    Manage Jenkins->System configure->Manage Nodes and Clouds->New Node

     jenkins节点管理

    jenkins的任务可以分布在不同的节点上运行

    节点上需要配置java运行时环境,java_version>1.5

    节点支持Windows,Linux,Mac

    Jenkins运行的主机在逻辑上是master节点

    启动方式:

      Linux--Launch agents via SSH

      Windows--Launch  agents via Java Web

     补充:docker挂载jdk,maven环境到 jenkins里面

    docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home -v  /usr/local/java/apache-maven-3.6.3:/usr/local/maven -v /usr/local/java/jdk1.8.0_261:/usr/local/jdk jenkins/jenkins:lts

    然后在Global Tool Configuration里面添加JDK,maven的环境变量,前提是先安装jdk,maven的插件哦

    但是报错/usr/local/java/jdk1.8.0_261 is not a directory on the Jenkins master (but perhaps it exists on some agents)

    需要在系统配置中添加环境变量

  • 相关阅读:
    Windows7如何让快速启动栏的资源管理器默认打开我的电脑(计算机)
    [转]C# Invoke和BeginInvoke的区别
    [转]RAID0、RAID1、RAID0+1、RAID5原理介绍
    【引用】Dashboard设计思路
    [Resolution]Your search cannot be completed because this site is not assigned to an indexer
    A Brief Introduction to Boolean Algebra(布尔代数简介)
    [转]从头开始安装Eclipse和VE
    [转]领导者如何问更好的问题
    如何使用花生壳(www.oray.com)实现动态域名映射(DDNS)
    如何手动删除Windows服务
  • 原文地址:https://www.cnblogs.com/jaigejiayou/p/13590948.html
Copyright © 2020-2023  润新知