jenkins持续集成从0入门到实战【一】Jenkins安装

本文涉及的产品
云防火墙,500元 1000GB
简介: Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。它是一个用java编写的开源持续集成工具。

持续集成简介

  1. 什么是持续集成
    持续集成指的是频繁地将代码jicheng到主干。将团建个人研发的部分向关键整体部分交付,频繁进行集成以便更快的发现其中的错误。

    • 开发人员定期向享存储库提交代码
    • 监视版本控制系统,当检测到提交时,将自动触发构建
    • 如果构建不是绿色的,将立即通知开发人员
  2. 持续集成的原因
    尽可能早的在开发生命周期中检测问题或bug(由于整个代码库是不断集成、构建和测试的,所以潜在的bug和错误在生命周期的早期被捕获,从而带来更好的软件质量)。
  3. 持续交付
    持续交付指的是频繁的将软件的新版本交付给质量团队或用户,以供评审。评审通过,代码就进入生产阶段。
    持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的【类生产环境】中。持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。
  4. 持续部署
    持续部署是持续交付的下一步,指的是代码通过评审后,自动部署到生产环境。
    持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。
    持续部署的前提是能自动化完成测试、构建、部署等步骤。

持续集成、持续交付、持续部署提供了一个优秀的 DevOps 环境。软件的开发和发布,已经形成了一套标准的流程。

前置条件

学习Jenkins之前,需要先学习以下2篇文章
玩转Linux系统【一】CentOS系统安装
玩转Linux系统【二】JDK8安装配置

Jenkins安装

  1. 主要配置

    # 配置ci用户组,创建jenkins用户,并且指定ci组
    $ groupadd ci
    $ useradd jenkins -g ci
    
    # 创建存放jenkins工具的目录,并指定权限,因jenkins后期构建比较占用磁盘,此处建议先挂载磁盘
    $ mkdir -p /data/software
    $ chown -R jenkins:ci /data/software
    
    # 切换jenkins用户,进入到software目录,并下载jenkins.war
    $ su jenkins
    $ cd /data/software/
    # 如果下载较慢,建议采用迅雷下载,然后上传
    $ wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

    用户命令拓展

    # 给已存在的用户jenkins指定组ci
    usermod -G ci jenkins
    passwd jenkins
    
    # 删除用户和组
    userdel www
    groupdel www 
  2. 安装Java环境

    • 下载jdk,上传至linux并解压
    • 配置/etc/profile的内容
    • 使配置生效
    • 检测java环境信息
  3. 启动jenkins

    # 使用nohup命令启动
    $ nohup java -jar /data/software/jenkins.war  --httpPort=8777 --httpsPort=8778 > /data/software/jenkins.log 2>&1 &

    使用tail命令查看启动日志,日志中会输出jenkins密码

    $ tail -222f jenkins.log
    
    2020-09-10 16:10:55.442+0000 [id=32]    INFO    jenkins.install.SetupWizard#init: 
    
    *************************************************************
    *************************************************************
    *************************************************************
    
    Jenkins initial setup is required. An admin user has been created and a password generated.
    Please use the following password to proceed to installation:
    
    ad1c1a787a21426a9134cc8255071360
    
    This may also be found at: /home/jenkins/.jenkins/secrets/initialAdminPassword
    
    *************************************************************
    *************************************************************
    *************************************************************
    
    2020-09-10 16:18:48.533+0000 [id=32]    INFO    jenkins.InitReactorRunner$1#onAttained: Completed initialization
    2020-09-10 16:18:48.551+0000 [id=20]    INFO    hudson.WebAppMain$3#run: Jenkins is fully up and running
  4. 开放8777端口供外网访问

    如果是云服务器,开放安全组即可,如果是虚拟机在防火墙中加入8777端口并重载配置

    # 开启防火墙8777端口
    $ firewall-cmd --zone=public --add-port=8777/tcp --permanent
    
    # 使配置生效
    $ firewall-cmd --reload
    
    # 防火墙扩展命令如下(云服务直接操作阿里云安全组即可)
    (1)设置开机启用防火墙:systemctl enable firewalld.service
    (2)设置开机禁用防火墙:systemctl disable firewalld.service
    (3)启动防火墙:systemctl start firewalld
    (4)关闭防火墙:systemctl stop firewalld
    (5)检查防火墙状态:systemctl status firewalld 
    
    (1)查看防火墙状态:firewall-cmd --state
    (2)重新加载配置:firewall-cmd --reload
    (3)查看开放的端口:firewall-cmd --list-ports
    (4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
      命令含义:
      –zone #作用域
      –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
      –permanent #永久生效,没有此参数重启后失效
      注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
    (5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent
  5. 外网或宿主机访问浏览器地址http://192.168.1.195:8777/

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

  6. 如果忘记密码

    • 进入到jenkins的工作目录,找到config.xml,我这里是/home/jenkins/.jenkins/config.xml
    • 修改该配置文件useSecurity的节点值为false

      <useSecurity>true</useSecurity>
    • 重启jenkins项目后,再次访问jenkins站点
    • 进入到系统管理

      image.png

    • 找到全局安全配置

      image.png

      image.png

    • 进入到用户列表,找到admin用户

      image.png

      image.png

      image.png

      image.png

    • 使用新密码登录即可

总结

到这里jenkins我们就安装好了,接下来我们就开始集成和丰富jenkins

目录
相关文章
|
16天前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
28 2
zabbix agent集成percona监控MySQL的插件实战案例
|
8天前
|
监控 Devops 测试技术
DevOps实践: 持续集成和持续部署(CI/CD)的入门指南
【9月更文挑战第10天】在快速迭代的软件开发世界中,DevOps已经成为加速产品交付、提升软件质量和团队协作的关键策略。本文将深入浅出地介绍DevOps的核心组成部分——持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD)的基本概念、实施步骤以及它们如何革新传统的软件开发流程。你将学习到如何通过自动化工具简化开发流程,并理解为什么CI/CD是现代软件开发不可或缺的一环。
|
18天前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
37 1
|
16天前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
40 0
|
18天前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
36 0
|
18天前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
60 0
|
18天前
|
JavaScript jenkins 持续交付
自动化部署与持续集成:使用Jenkins和Docker优化开发流程
【8月更文挑战第31天】在软件开发的世界里,时间就是一切。本文将引导你通过Jenkins和Docker的强大组合,实现自动化部署和持续集成,让你的开发流程如丝般顺滑。我们将从基础设置开始,逐步深入到构建管道,最终实现一键部署的梦想。准备好让你的开发效率飞跃,一起探索这个令人兴奋的旅程吧!
|
2月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
167 6
|
2月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
190 4
|
2月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
140 1