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

目录
相关文章
|
11月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
315 2
|
8月前
|
监控 jenkins Shell
jenkins结合gitlab实现CI(持续集成)
通过本文的介绍,我们详细了解了如何结合Jenkins和GitLab实现持续集成。从环境准备、插件配置到Pipeline任务创建和CI流程监控,每一步都提供了详细的操作步骤和示例代码。希望本文能帮助开发者快速搭建起高效的CI系统,提高项目开发效率和代码质量。
709 9
|
9月前
|
Java jenkins 持续交付
Jenkins集成Maven
通过以上步骤,可以在Jenkins中成功集成Maven,实现自动化构建和部署。通过定时构建、SCM轮询等方式,可以确保代码库中的最新变更能够及时构建和测试,提高开发效率和代码质量。这种集成方式在实际项目中具有广泛的应用前景,能够显著提升团队的协作效率。
243 8
|
10月前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
191 12
|
11月前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
11月前
|
jenkins Java 持续交付
Gitee+Jenkins+SonarQube代码上线的实战操作
通过以上步骤,就可以实现基于Gitee、Jenkins和SonarQube的代码上线流程,确保代码的质量和上线过程的自动化和可控性。在实际操作中,可以根据项目的具体需求和环境进行适当的调整和优化。
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
11月前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
400 4
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
290 0
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
【8月更文挑战第30天】在Jenkins服务器中,git和Gitee是常用的代码拉取终端。Git作为分布式版本控制系统,具备出色的灵活性和可扩展性;而Gitee则在国内网络环境下表现更佳,适合团队协作。Git配置包括安装、设置用户信息及生成SSH密钥等步骤;Gitee配置也类似,需注册账号、创建仓库、配置基本信息并设置远程仓库地址。开发人员提交代码后,可通过Webhook、定时轮询或事件监听等方式触发Jenkins动作,确保持续集成和部署高效运行。正确配置这些触发机制并通过测试验证其有效性至关重要。
170 2

推荐镜像

更多