• Devops 初探,JenKins安装,配置关联gitee


    Devops 是什么

    DevOps即Development和Operations的组合词,是一组过程、方法与系统的统称,用于促进开发应用程序或软件工程、技术运营和质量保障QA部门之间的沟通、协作与整合。

    DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化,它促进开发和运营团队之间的协作,以自动化和可重复的方式更快地将代码部署到生产中。

    DevOps有助于提高组织提供应用程序和服务的速度。它使组织能够更好地为客户服务,并在市场中更有竞争力。

    简而言之,DevOps可以定义为开发和IT运营的一致性,以及更好的沟通和协作。

    如图

    image-20220602175601380

    为什么需要DevOps

    在DevOps之前:

    ● 开发和运营团队完全孤立。

    ● 测试和部署是在设计构建之后完成的独立活动。因此,他们比实际构建周期消耗更多时间。

    ● 在不使用DevOps的情况下,团队成员将大量时间花在测试,部署和设计上,而不是构建项目。

    ● 手动代码部署会导致生产中出现人为错误

    ● 开发和运营团队有各自的时间表,不同步导致进一步的延误。

    在DevOps 模式下,开发团队和运营团队都不再是“孤立”的团队。有时,这两个团队会合为一个团队,他们的工程师会在应用程序的整个生命周期(从开发测试到部署再到运营)内相互协作,开发出一系列不限于单一职能的技能。

    devops的目的

    • DevOps 突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。

    • DevOps 希望做到的是软件产品交付过程中 IT 工具链的打通,使得各个团队减少时间损耗,更加高效的协同工作。

    CI 、CD 是什么?

    • 持续集成(Continuous Integration):持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快、更早的发现其中的错误。持续集成源自于极限编程(XP),是 XP 最初的 12 种实践之一。持续集成需要具备

      • 全面的自动化测试:这是实践持续集成 && 持续部署的基础,与此同时,选择合适的自动化测试工具也极为重要。
      • 灵活的基础设施容器、虚拟机 的存在让开发人员和 QA 人员不必再大费周折。
      • 版本工具工具:如 Git、SVN 等。
      • 自动化的构建和软件发布流程工具:如 Jenkins 等。
      • 反馈机制:构建、测试失败的时候,可以快速的反馈到相关负责人,以便尽快的解决问题,使得产品能更早的达到稳定的版本。
    • 持续交付(Continuous Delivery):持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的『类生成环境』中。持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。持续交付的优点和持续集成非常类似:

      • 快速发布:能够应对业务需求,更快的实现软件价值。
      • 编码、测试、上线、交付的频繁迭代周期缩短,同时获得迅速反馈。
      • 高质量的软件发布标准:整个交付过程标准化、可重复、可靠。
      • 整个交付过程进度可视化:方便团队人员了解项目成熟度。
      • 更先进的团队协作方式:从需求分析、产品的用户体验到交互设计、开发、测试、运维等角色的密切协作,相比于传统的瀑布式软件团队,更少浪费。
    • 持续部署(Continuous Deployment):持续部署是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。这意味着,所有通过了一系列的自动化测试的改动都将自动部署到生产环境。

    开发人员提交代码,持续集成服务器获取代码,执行单元测试,根据测试结果决定是否部署到预演环境,如果成功部署到预演环境,进行整体验收测试,如果测试通过,自动部署到生产环境。整个过程自动化高效运转。

    推荐常用的CI/CD工具

    Jenkins

    专业的CI/CD工具,可扩展自动化服务器、安装配置简单、丰富的插件库、分布式架构设计、支持所有的平台、可视化的管理页面。

    images

    GitLab

    端到端DevOps工具,常用功能:代码审查、问题跟踪、动态订阅、易于扩展、项目wiki、多角色项目管理、项目代码在线编译预览、CI/CD工具集成。

    images

    提交合并代码集成 :通过git push 进行操作或者在GitLab Web页面操作。

    发布应用到服务器 : 获取制品库中的应用,然后用salt、ansible发布部署到服务器。

    完全自动化: 提交代码-> 构建部署 -> 发布

    gitlab虽然强大但是过于庞大,并且gitlab一般是用于git私有存储库来使用,所以这里还是使用Jenkins

    Jenkins

    Docker 安装 Jenkins

    # 端口是 8080
    docker run      \
           -u root  \
           --name=jenkins  \
           -d \
           -p 8080:8080 \
           -p 50000:50000 \
           -v jenkins-data:/var/jenkins_home \
           -v /etc/localtime:/etc/localtime:ro \
           -v /var/run/docker.sock:/var/run/docker.sock \
           --restart=always \
           jenkinsci/blueocean
    

    image-20220602182123077

    初始化Jenkins

    等待安装完成即可,安装完毕之后通过 浏览器访问如我的

    http://192.168.176.100:8080
    

    image-20220602182325544

    这个密码,在日志可以找到

    docker logs jenkins
    

    image-20220602182511696

    已经找到了密码,输入密码即可进去

    image-20220602182609473

    安装插件

    image-20220606094003930

    image-20220606094453865

    创建管理员用户

    image-20220606094654919

    配置实例,一般会自己获取,没有获取就自己填写

    image-20220606094801974

    完成重启

    image-20220606094844971

    刷新页面,用刚刚创建的管理员用户登录

    image-20220606095327907

    这下就进去了

    image-20220606095430624

    安装插件

    • Docker、Docker Pipeline:安装 Docker Pipeline 会自动安装 Docker 插件,Docker Pipeline 插件允许我们自定义 agent 使用 Docker 环境。

    • Git Parameter:解析 git 参数,允许我们选择分支进行构建。

    • Active Choices:可以做到参数的级联选择。

    • Generic Webhook Trigger:通用的 webhook 触发器,构建更强大的 webhook 功能。

    • Role-based Authorization Strategy:RBAC 权限控制。

    • List Git Branches Parameter:列出分支参数。

    • Build With Parameters:基于自定义参数构建。

    • Jersey 2 APIGitee:Gitee 插件。

    image-20220606095705070

    image-20220606095814384

    docker系列

    image-20220606095959828

    git系列

    image-20220606101929099

    后面就不一一演示了,上面几个插件都要安装

    安装完成后勾选重启,重启完成即可

    准备git 项目并配置Jenkis 关联 Gitee

    以 gitee 为例,因为 github 实现是太慢了,自己随便建一个项目

    这里我也是随便建了一个

    https://gitee.com/makalochen/devop-test

    Jenkis 关联 Gitee

    申请gitee私人令牌

    image-20220606100622788

    image-20220606100751128

    image-20220606100847830

    Jenkins 配置 Gitee API 令牌

    image-20220606101307607

    image-20220606101339157

    image-20220606101409630

    image-20220606101432554

    image-20220606101455053

    image-20220606104553385

    image-20220606104610341

    Jenkins 配置关联 Gitee

    image-20220606104758045

    下划找到gitee配置

    image-20220606105052965

    最后别忘了保存

  • 相关阅读:
    python的基础爬虫(利用requests和bs4)
    R语言时间序列中的时间设置
    PHP扩展开发(6)
    PHP扩展开发(5)
    kafka安装及Kafka-PHP扩展的使用
    brew 更换国内源(镜像)
    PHP扩展开发(4)
    PHP扩展开发(3)-config.m4
    PHP扩展开发(2)
    PHP扩展开发(1)-创建基础框架
  • 原文地址:https://www.cnblogs.com/makalochen/p/16348261.html
Copyright © 2020-2023  润新知