zoukankan      html  css  js  c++  java
  • JENKINS

    什么是持续集成

    • Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

    持续集成最佳实践

    • 维护一个单一的代码库
    • 使构建自动化
    • 执行测试是构建的一部分
    • 集成日志及历史记录
    • 使用统一的依赖包管理库
    • 每天至少集成一次

    什么是jenkins

    • 持续集成、自动测试、持续部署的超级引擎,支持自定义工具集、多种交付通道

    jenkins安装

    • 安装依赖 yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
    • 安装yum源 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
    • rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key 
    • rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
    • 安装Jenkins
    • yum –y install jenkins
    • service jenkins start
    • ckconfig Jenkins on

    访问jenkins

    • 访问Jenkins
    • http://192.168.1.110:8080
    • 查找admin默认密码
    • cat /var/lib/jenkins/secrets/initialAdminPassword
    • 输入密码

    安装默认插件

    常用插件

    • OWASP Markup Formatter Plugin 安全
    • Pipeline 工作流
    • SonarQube 代码质检
    • SSH plugin
    • GitLab Plugin
    • Git plugin
    • Git Parameter Plug-In 照标签去发布
    • Deploy Plugin
    • Maven Integration plugin
    • Role-based Authorization Strategy

    插件管理

    • 系统设置>插件管理
    • 更新插件、下载安装、代理设置、可用插件
    • 手工安装
    • 下载地址
    • http://updates.jenkins-ci.org/

    覆盖插件目录

    • mv plugins /var/lib/jenkins/
    • chown -R jenkins.jenkins plugins/

    镜像管理

    • 全部镜像
    • http://mirrors.jenkins-ci.org/status.html
    • 更换镜像
    • http://updates.jenkins-ci.org/update-center.json
    • https://mirrors.tuna.tsinghua.edu.cn/
    • http://mirror.esuni.jp/jenkins/updates/update-center.json
    • https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    jenkins目录

    • /var/lib/jenkins 主目录
    • /etc/init.d/jenkins 启动文件
    • /var/cache/Jenkins 程序文件
    • /var/log/Jenkins 日志文件

    用户权限

    • 修改/etc/init.d/Jenkins
    • 将用户修改为root,可以调用root工具
    • 106行,113行
    • 修改启动端口85行,$JENKINS_PORT
    • systemctl daemon-reload
    • service jenkins restart

    卡启动问题

    • 修改/etc/init.d/Jenkins
    • 将用户修改为root,可以调用root工具
    • 106行,113行
    • 修改启动端口85行,$JENKINS_PORT
    • systemctl daemon-reload
    • service jenkins restart

    备份

    • tar zcf jenknis.tar.gz /var/lib/jenkins/

    用到的插件有

    GitLab Plugin(gitlab插件)

    jenkins主机的私钥

    gitlab的delopy是jenkins主机的公钥

    构建的话,就会自动去gitlab上拉取项目到/var/lib/jenkins/workspace里面

    SonarQube Scanner for Jenkins(功能与Scanner效果一样)

    全局工具配置

    系统配置

    项目配置

    Parameterized Trigger plugin(触发器插件)

    用于一个项目构建完成后触发另一个项目

    Build Pipeline Plugin(流水线插件)

    Gitlab Hook Plugin(gitlab勾子插件)

    Build Authorization Token Root Plugin(授权令牌插件)

    gitlab令牌认证就是webhook,我们是点了如果有push就会执行

    buildByToken/build?job=RevolutionTest&token=TacoTuesday
    http://192.168.1.105:8080/project/demo-sonr-scan
    http://192.168.1.105:8080/buildByToken/build?job=demo-sonr-scan&token=123456

    Git Parameter(git参数构建插件)根据标签去发布

    gitlab上需要打tag标签

    SSH(ssh插件)

    jenkins集群

    节点管理,新建节点

    会自动在设置的目录下载jenkins的slave的jar包

    分配到节点

    按角色授权

    Role-based Authorization Strategy(插件)

    全局安全配置

    管理用户

    添加2个用户,java,php

    系统配置里面 Manage and Assign Roles 管理分配角色

    分配角色 

    注意,在local role里面,JAVA-TEAM是没有的,所以用用户去写,比如JAVA,PHP用户即可。

    用户java上来只能看到java开头的项目,用户php上来只能看到php开头的项目 

  • 相关阅读:
    JZOJ 3034. 【NOIP2012模拟10.17】独立集
    JZOJ 3035. 【NOIP2012模拟10.17】铁轨
    JZOJ 1259. 牛棚安排
    数位DP JZOJ 3316. 非回文数字
    JZOJ 3046. 游戏
    JZOJ 3013. 填充棋盘
    debian 安装oracle提供的java8
    java 汉字转拼音 PinYin4j
    debian ssh设置root权限登陆 Permission denied, please try again
    java并发下订单生成策略
  • 原文地址:https://www.cnblogs.com/jokerbj/p/10296163.html
Copyright © 2011-2022 走看看