• Jenkins


    1. Jenkins简介

      Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

    Jenkins功能包括:

      1> 持续的软件版本发布/测试项目。

      2> 监控外部调用执行的工作。

      jenkins就是基于Java开发的一种持续集成的工具, 可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且可以也可以实现和gitlab、github交互,也可以实现自动编译、部署程序。

     

    持续集成 

      持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    持续集成

      持续集成:Continuous Intergration (CI)

      持续交付:Continuous Delivery(CD)

      持续部署:Continuous Deployment(CD)

        集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
          部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
          交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
          如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
          而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。

    持续集成流程:

      提交(git)→ 测试 → 构建(jenkins)→ 测试 → 部署(ansible,shell,puppet)→ 回滚(ansible)

    2. Jenkins安装

           Jenkins是基于Java开发的,所以需要安装Java环境,此处所用的Jenkins因版本较低的的问题,在高版本的Java1.11环境下不兼容,无法启动,因此需要利用本地源下载低版本的Java1.8环境。Java环境下载后安装Jenkins。

           Jenkins官网:http://pkg.jenkins.io/,可以从官网下载安装包进行安装。

           我将Jenkins安装在192.168.16.6这台主机上。

    1> 利用本地源安装Java环境

    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# ls
    bak  local.repo  Mariadb.repo  net.repo
    [root@localhost yum.repos.d]# mv net.repo net.repo.bak
    [root@localhost yum.repos.d]# cd
    [root@localhost ~]# yum install java -y

    2> 上传Jenkins安装包

    [root@localhost ~]# rz
    
    [root@localhost ~]# ls
    anaconda-ks.cfg  gitlabtest  jenkins-2.32.3-1.1.noarch.rpm

    3> 安装Jenkins

     [root@localhost ~]# yum install jenkins-2.32.3-1.1.noarch.rpm -y

    4> 启动Jenkins

    [root@localhost ~]# systemctl restart jenkins

    5> 浏览器访问

      Jenkins占用的是8080端口,浏览器访问时要加上端口号。

      根据提示找到保存的密码,复制密码。

    [root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
    ec83353c768946b79ce8387d67254843

           进入Jenkins客户自定义阶段,提示Jenkins需要依赖许多插件进行工作,由于在Jenkins官网安装插件比较慢,此处选择自定义安装插件(select plugins)。

           进入自定义安装界面,同样也因为网络原因不要选择任何插件安装,稍后会上传插件包进行本地安装。

           进入用户注册界面。简单起见,用户为root,密码为123。

     

    Jenkins安装成功。

    6> 安装Jenkins插件

           进入Jenkins后选择 系统管理→管理插件→已安装,发现是空的,此时再上传安装插件包。如果网速支持也可以去官网:http://updates.jenkins-ci.org/ 下载安装。

    1) 上传插件

    [root@localhost ~]# rz
      

     2> 移动插件包至Jenkins插件目录下

    [root@localhost ~]# rpm -ql jenkins
    /etc/init.d/jenkins
    /etc/logrotate.d/jenkins
    /etc/sysconfig/jenkins
    /usr/lib/jenkins
    /usr/lib/jenkins/jenkins.war
    /usr/sbin/rcjenkins
    /var/cache/jenkins
    /var/lib/jenkins
    /var/log/jenkins
    [root@localhost ~]# cd /var/lib/jenkins/
    [root@localhost jenkins]# ls
    config.xml                                   logs              secret.key.not-so-secret
    hudson.model.UpdateCenter.xml                nodeMonitors.xml  secrets
    jenkins.install.InstallUtil.lastExecVersion  nodes             updates
    jenkins.install.UpgradeWizard.state          plugins           userContent
    jobs                                         secret.key        users
    [root@localhost jenkins]# cd plugins/
    [root@localhost plugins]# mv /root/plugins.tar.gz .     #移动插件到当前目录
    [root@localhost plugins]# ls
    plugins.tar.gz

    3> 解压并复制插件至plugins目录

    [root@localhost plugins]# tar xf plugins.tar.gz         #解压
    [root@localhost plugins]# ls
    plugins  plugins.tar.gz                                 #插件全在plugins下面
    [root@localhost plugins]# cp -a plugins/* .             #复制所有的插件到当前目录
    [root@localhost plugins]# ls
    ace-editor                       junit.jpi
    ace-editor.jpi                   ldap
    ant                              ldap.jpi
    ………so many plugins……..

    4> 重启Jenkins使插件生效

    [root@localhost ~]# systemctl restart jenkins

    5> 浏览器下查看

    插件安装成功,可以创建项目了。

     3. Jenkins凭证

      有许多第三方网站和应用程序可以与 Jenkins 进行交互,例如程序代码仓库,云存储系统和服务等。

      此类应用程序的系统管理员可以在应用程序中配置凭证以专供 Jenkins 使用。通常通过将访问控制应用于这些凭证来完成这项工作,以“锁定”Jenkins可用的应用程序功能区域。一旦 Jenkins 管理员(即管理 Jenkins 站点的 Jenkins 用户)在 Jenkins 中添加/配置这些凭证,Pipeline 项目就可以使用凭证与这些第三方应用程序进行交互。

    Jenkins 中保存的凭证可以用于:

    • 任何适用于 Jenkins 的任何地方(即全局证书)
    • 特定的 Pipeline 项目
    • 特定的 Jenkins 用户

     

    简单来说,Jenkins用来保存用户和密码。

    3.1 Jenkins凭证的创建

      凭证添加,此时可以创建一个Gitlab来使用此凭证(Gitlab用户密码为root、12345678)

           创建新任务

      任务名为gitlabtest,创建为自由的项目,点击确定创建

      主题描述,

           使用刚添加的凭证,在使用时就不必再输入用户密码了。

    4. Jenkins项目操作详解

    1> 新建项目

    2> 输入主题,选择自由分格,进行创建

    3> 填写主题介绍(可省略)

    4> 向下滑,可以选择位构建shell,直接使用shell命令

    5> 选择了workspace目录,因此命令的执行结果均在workspace下,点击保存

    6> 构建gitlabtest项目,执行命令,蓝色表示执行成功

    7> 点击前面的小球进入控制台显示详细的执行结果

    8> 主机端查看结果

    [root@localhost ~]# cd /var/lib/jenkins/workspace/gitlabtest
    [root@localhost gitlabtest]# ls
    test
    [root@localhost gitlabtest]# cat test
    123
  • 相关阅读:
    G. Reducing Delivery Cost 思维+最短路
    Bounding Wall 线段树 + 思维 ccpc 2020 秦皇岛 B
    Java代理模式
    Java开发 使用反射判断一个类的是否继承指定接口类
    Java开发 AES加解密工具类——兼容Android9.0
    Java byte转换工具类
    注册LiveData或者MutableLiveData的观察者导致的内存泄露问题
    Android开发 NavOptions记录
    关于MySQL的命名规范
    Locust学习笔记(5)
  • 原文地址:https://www.cnblogs.com/ajunyu/p/11149153.html
Copyright © 2020-2023  润新知