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

目录
相关文章
|
9天前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
27 1
|
7天前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
31 0
|
9天前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
28 0
|
9天前
|
JavaScript jenkins 持续交付
自动化部署与持续集成:使用Jenkins和Docker优化开发流程
【8月更文挑战第31天】在软件开发的世界里,时间就是一切。本文将引导你通过Jenkins和Docker的强大组合,实现自动化部署和持续集成,让你的开发流程如丝般顺滑。我们将从基础设置开始,逐步深入到构建管道,最终实现一键部署的梦想。准备好让你的开发效率飞跃,一起探索这个令人兴奋的旅程吧!
|
10天前
|
Kubernetes jenkins 持续交付
Jenkins 与 Kubernetes 的集成:实现高效的资源管理和自动化部署
【8月更文第31天】随着微服务架构的普及,Kubernetes 已经成为了容器编排的事实标准。Kubernetes 提供了一种强大的方式来管理容器化的应用程序,而 Jenkins 则是持续集成与持续部署(CI/CD)领域的一个重要工具。将 Jenkins 与 Kubernetes 集成,不仅可以充分利用 Kubernetes 的资源管理能力,还能通过 Jenkins 实现自动化构建、测试和部署,从而提高开发效率和部署速度。本文将详细介绍如何将 Jenkins 集成到 Kubernetes 环境中,并提供具体的代码示例。
39 0
|
10天前
|
jenkins 持续交付 开发工具
Jenkins 与 Docker 集成的最佳实践
【8月更文第31天】随着容器技术的兴起,越来越多的团队开始采用 Docker 来构建和部署应用。Docker 提供了一种轻量级的虚拟化方法,使得应用可以在任何地方以相同的方式运行,这极大地提高了开发效率和部署的一致性。与此同时,Jenkins 作为一种广泛使用的持续集成/持续交付(CI/CD)工具,可以帮助团队自动化构建、测试和部署流程。本文将探讨如何将 Docker 与 Jenkins 集成,以简化开发环境的搭建和维护。
51 0
|
10天前
|
jenkins Java 测试技术
Jenkins 在持续集成/持续交付(CI/CD)管道中的应用
【8月更文第31天】 在现代软件开发过程中,持续集成(Continuous Integration, CI)和持续交付(Continuous Delivery, CD)已经成为提升开发效率和软件质量的重要实践。Jenkins 是一个广泛使用的开源工具,它能够帮助团队实现自动化构建、测试和部署,是 CI/CD 流水线的核心组件之一。本文将详细介绍 Jenkins 在 CI/CD 管道中的应用,并提供具体的代码示例。
22 0
|
10天前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
11天前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
【8月更文挑战第30天】在Jenkins服务器中,git和Gitee是常用的代码拉取终端。Git作为分布式版本控制系统,具备出色的灵活性和可扩展性;而Gitee则在国内网络环境下表现更佳,适合团队协作。Git配置包括安装、设置用户信息及生成SSH密钥等步骤;Gitee配置也类似,需注册账号、创建仓库、配置基本信息并设置远程仓库地址。开发人员提交代码后,可通过Webhook、定时轮询或事件监听等方式触发Jenkins动作,确保持续集成和部署高效运行。正确配置这些触发机制并通过测试验证其有效性至关重要。
27 2
|
11天前
|
jenkins 测试技术 持续交付
利用 Jenkins 实现持续集成与持续部署(一)
【8月更文挑战第30天】Jenkins在软件开发中至关重要,其持续集成与部署功能极大提升了开发效率、保障了软件质量、增强了团队协作并加速了产品上市。实现这些功能前需搭建基础环境:配置合适的JDK版本、设置Git版本控制并准备好目标服务器。在Jenkins中创建新任务,详细配置源码管理、构建触发器(如定时构建或监听代码变更)、构建及部署步骤(如使用Maven编译打包、通过SSH插件或Docker部署)。这些关键配置确保了自动化流程的顺畅运行。
32 1
下一篇
DDNS