当前位置: 首页 > news >正文

LInux操作系统安装Jenkins

1、什么是Jenkins

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

2、Jenkins的作用

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

  • 监控外部调用执行的工作。(Jenkins有很多的插件,可以用于监控)

3、什么是CI/CD

CI/CD 是持续集成(Continuous Integration,CI)、持续交付(Continuous Delivery,CD)与持续部署(Continuous Deployment,CD)的简称,注意CD对应了两个名词。

CI/CD是实现敏捷开发和Devops理念的一种方法,具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试,到交付和部署)。这些关联的事务通常被统称为CI/CD 管道(Pipeline),由开发(RD)、测试(QA)、运维(OP)团队以敏捷方式协同支持。

持续集成:重点是将开发者的工作集中到代码仓库,一般情况每天都会有更新,持续集成可以更快的进行集成,更快的得到响应。

持续部署:是一种更高程度的自动化,可以根据需求进行持续的自动的部署项目。

4、Jenkins的应用场景

适用于大型项目,且更新比较频繁的。微服务架构的项目多数都会用Jenkins,单体项目相对少很多。

5、Jenkins特性

  • 易于安装。有多种安装方式,可以在线安装,也可以下载安装包安装,也可以运行war包。

  • 配置简单。Jenkins提供web端的配置方式,安装成功后,所有的配置都可以在web端完成。

  • 集成了Email等工具,可以在集成或部署时通知工作人员。

  • 有丰富的插件库。处理已有的插件,也可以自己开发插件。

  • Jenkins支持分布式。

6、安装Jenkins

1、上传文件

我们采用安装包的方式安装。

2、安装Jenkins

rpm -ivh  jenkins-2.263-1.1.noarch.rpm

3、配置文件中修改启动用户为root

vim /etc/sysconfig/jenkins

4、启动jenkins

systemctl start jenkins 启动jenkins
systemctl status jenkins 查看jenkins状态

启动会报错

5、报错,检查配置文件java的配置

根据报错信息提示:执行命令 systemctl status jenkins

由此推断没找到java环境,根据提示修改Jenkins的配置文件

vim /etc/rc.d/init.d/jenkins

再次启动jenkins
systemctl start jenkins 
查看jenkins的状态
systemctl status jenkins 

6、启动前查看该目录是空的,启动后会生成相应的文件【用来检测前面的操作是否正确】

ll /var/lib/jenkins

【解决问题:】如果输入上面命令后,发现仍然没有这些文件,关闭虚拟机,重新在登录进来就可以了。

7、登录

访问首页http://虚拟机ip:8080/

#根据上面红色地址连接,查找对应的登录密码
cat /var/lib/jenkins/secrets/initialAdminPassword

8、跳过插件安装

9、修改密码

默认用户名是:admin

密码修改成123456

10、安装插件

1、查看已安装插件

【目前一个插件都没有!】

2、解压文件

#执行第一个命令:
tar -zxvf jenkins-plugins.tar.gz

#查看解压后一共有多少个文件:
ll plugins/ |wc -l

压缩包中一共有191个插件

3、拷贝插件

验证拷贝后共有191个插件。

#拷贝文件到/var/lib/jenkins/plugins/
cp -a plugins/* /var/lib/jenkins/plugins/

#查看该目录下一共有多少个文件:
ll /var/lib/jenkins/plugins/ |wc -l

4、重启Jenkins

/etc/init.d/jenkins restart

【刷新页面:再次进行登录!admin 123456】

相关文章:

  • Kafka技术详解[5]: 集群启动
  • 修改 idea 的 Terminal 命令窗口使用 git-bash
  • 计算机网络33——文件系统
  • 动态规划算法:13.简单多状态 dp 问题_打家劫舍II_C++
  • Meta广告资料库使用教程:Facebook、Instagram海外社媒营销统统拿下!
  • BEV学习---LSS4-模型训练
  • C++语法—引用
  • 以题为例浅谈反序列化漏洞
  • 高效的知识付费SaaS平台构建:探索Spring Cloud结合Spring Boot的最佳实践
  • C++——输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。用指针方法处理。
  • 手搓一个Agent#Datawhale 组队学习Task3
  • 当Navicat报错 Can not connect to MySQL server的解决方法!
  • 代码随想录算法训练营Day13
  • 标准 I/O
  • pg入门11-pg中的publications是什么
  • 【mysql】环境安装、服务启动、密码设置
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 230. Kth Smallest Element in a BST
  • ECS应用管理最佳实践
  • Hexo+码云+git快速搭建免费的静态Blog
  • IDEA 插件开发入门教程
  • isset在php5.6-和php7.0+的一些差异
  • JS变量作用域
  • Next.js之基础概念(二)
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • PV统计优化设计
  • 服务器之间,相同帐号,实现免密钥登录
  • 回顾 Swift 多平台移植进度 #2
  • 前端攻城师
  • 前嗅ForeSpider采集配置界面介绍
  • 手机端车牌号码键盘的vue组件
  • 算法之不定期更新(一)(2018-04-12)
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • kubernetes资源对象--ingress
  • mysql面试题分组并合并列
  • 仓管云——企业云erp功能有哪些?
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #define、const、typedef的差别
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • $.ajax中的eval及dataType
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (HAL库版)freeRTOS移植STMF103
  • (Note)C++中的继承方式
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (第30天)二叉树阶段总结
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (四)stm32之通信协议
  • (一)UDP基本编程步骤