尚品汇-自动化部署-Jenkins的安装与环境配置(五十六)

目录:

自动化持续集成

(1)环境准备

(2)初始化 Jenkins 插件和管理员用户

(3)工作流程

(4)配置 Jenkins 构建工具

自动化持续集成

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成

持续集成(采蜜) 

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。

它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

持续交付

持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评 审。如果评审通过,代码就进入生产阶段。

持续部署

持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。

持续部署的前提是能自动化完成测试、构建、部署等步骤。

jekins是基于java开发的一个自动化持续集成交付的一个工具,里面包含很多插件可以实现强大功能

(1)环境准备

安装JAVA 运行环境

第一步:上传或下载安装包

cd  /usr/local

jdk-8u152-linux-x64.tar.gz

并删除原有的JDK!

[root@localhost local]# rpm -qa | grep jdk

copy-jdk-configs-2.2-3.el7.noarch

java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64

java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64

[root@localhost local]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64

[root@localhost local]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64

第二步:解压安装包

tar -zxvf jdk-8u152-linux-x64.tar.gz

第三步:建立软连接

ln -s /usr/local/jdk1.8.0_152/  /usr/local/jdk

第四步:修改环境变量

vim /etc/profile

      export JAVA_HOME=/usr/local/jdk

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

通过命令source /etc/profile让profile文件立即生效

source /etc/profile

第五步、测试是否安装成功

  • 、使用javac命令,不会出现command not found错误

②、使用java -version,出现版本为java version "1.8.0_152"

③、echo $PATH,看看自己刚刚设置的的环境变量配置是否都正确

安装maven

第一步:上传或下载安装包

cd  /usr/local

apache-maven-3.6.1-bin.tar.gz

第二步:解压安装包

tar  -zxvf  apache-maven-3.6.1-bin.tar.gz

第三步:建立软连接

ln  -s  /usr/local/apache-maven-3.6.1/  /usr/local/maven

第四步:修改环境变量

vim /etc/profile

      export MAVEN_HOME=/usr/local/maven

export PATH=$PATH:$MAVEN_HOME/bin

通过命令source /etc/profile让profile文件立即生效

source /etc/profile

第五步、测试是否安装成功

mvn -v

Maven配置国内镜像 

 

 

安装git

 yum -y install git

 svn

安装docker

第一步:安装必要的一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

第二步:添加软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第三步:更新并安装Docker-CE

yum makecache fast

yum -y install docker-ce

第四步:开启Docker服务

service docker start

第五步、测试是否安装成功

docker -v

安装Jenkins

第一步:上传或下载安装包

在/usr/local 目录下创建一个文件夹

mkdir jenkins

cd  /usr/local/jenkins

jenkins.war 传入到/usr/local/jenkins

第二步:启动

nohup java -jar  /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &

第二步:访问

防火墙必须关闭:systemctl stop/disable firewalld

http://ip:8080

如果访问不到,则杀死进程,重启!

# ps -ef | grep jenkins

# kill -9 -pid

# nohup java -jar  /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &

(2)初始化 Jenkins 插件和管理员用户

配置国内的镜像

官方下载插件慢 更新下载地址

cd {你的Jenkins工作目录}/updates  #进入更新配置位置

cd /root/.jenkins updates 文件夹

进入updates 文件夹 然后执行下面这个命令!

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

这是直接修改的配置文件,如果前边Jenkins用sudo启动的话,那么这里的两个sed前均需要加上sudo{给权限}

重启Jenkins,安装插件试试,简直超速!!

ps -ef | grep jenkins

使用命令杀死进程

Kill -9 pid

nohup java -jar  /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &

更改地址,写入配置default.json

 启动: 

访问jenkins

http://ip:8080

解锁jenkins

cat /var/jenkins_home/secrets/initialAdminPassword

获取管理员密码 主要看箭头指向那个路径就cat 那个路径就可以找到管理员密码了!

选择“继续”

选择“安装推荐插件”

如果你不配置国内的镜像,则这些下载速度非常慢!

如果出现错误:最好重试。

插件安装完成,创建管理员用户

保存并完成

进入完成页面

说明:登录忘记密码参考Linux下Jenkins忘记管理员密码解决措施 - 程序员大本营

如果等待时间太长:那么我们可以将jenkins 杀掉,重新启动!

(3)工作流程

(4)配置 Jenkins 构建工具

全局配置

 

配置jdk

JAVA_HOME:/usr/local/jdk

 配置git

查看git安装路径:which git

/usr/bin/git

配置maven

MAVEN_HOME:/usr/local/maven

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/55084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多线程事务管理:Spring Boot 实现全局事务回滚

多线程事务管理:Spring Boot 实现全局事务回滚 在日常开发中,我们常常会遇到需要在多线程环境下进行数据库操作的场景。这类操作的挑战在于如何保证多个线程中的数据库操作要么一起成功,要么一起失败,即 事务的原子性。尤其是在多个线程并发执行的情况下,确保事务的一致性…

门面(外观)模式

简介 门面模式(Facade Pattern)又叫作外观模式,提供了一个统一的接口,用来访问子系统中的一群接口。其主要特征是定义了一个高层接口,让子系统更容易使用,属于结构型设计模式。 通用模板 创建子系统角色类…

多米诺骨牌(模拟)

初始化数据结构: 使用一个布尔数组 arr 来表示每个位置是否被占用。初始时所有位置均为 false(未占用)。使用一个 LinkedHashMap(命名为 queue)来记录最近的 R 操作的位置。这个结构可以保持插入顺序,方便后…

【AI基础】pytorch lightning 基础学习

传统pytorch工作流是首先定义模型框架,然后写训练和验证,测试循环代码。训练,验证,测试代码写起来比较繁琐。这里介绍使用pytorch lightning 部署模型,加速模型训练和验证,记录。 准备工作 1 安装pytorch…

【分布式微服务云原生】使用Docker体验不同Linux发行版

Docker 允许用户在同一个宿主机上运行多种不同的Linux发行版,而共享同一个宿主机内核。这种方式不仅节省资源,还非常方便进行环境测试和开发。 1. Docker与Linux发行版 Linux内核 发行版 Linux内核与各种发行版软件包组合,构成了一个完整的…

JAVA红娘婚恋相亲交友系统源码全面解析

在数字化时代,红娘婚恋相亲交友系统成为了连接单身男女的重要桥梁。JAVA作为一种流行的编程语言,为开发这样的系统提供了强大的支持。编辑h17711347205以下是对JAVA红娘婚恋相亲交友系统源码的全面解析,以及三段示例代码的展示。 系统概述 …

[产品管理-33]:实验室技术与商业化产品的距离,实验室技术在商业化过程中要越过多少道“坎”?

目录 一、实验室技术 1.1 实验室研究性技术 1.2 技术发展的S曲线 技术发展S曲线的主要阶段和特点 技术发展S曲线的意义和应用 二、实验室技术商业化的路径 2.1 实验室技术与商业化产品的距离 1、技术成熟度与稳定性 - 技术自身 2、市场需求与适应性 - 技术是满足需求 …

Visual Studio 2022

VS(Visual Studio)是一款由微软开发的集成开发环境(IDE),用于开发应用程序、网站以及移动应用等。VS的历史可以追溯到1997年,当时发布了第一个版本的VS。以下是VS的一些重要历史里程碑: Visual …

ArcEngine C#二次开发图层处理:根据属性分割图层(Split)

需求:仅根据某一属性,分割图层,并以属性值命名图层名保存。 众所周知,ArcGIS ArcToolbox中通过Split可以实现图形分割一个图层,以属性值命名图层,如下图所示。 本功能仅依据属性值,将一个shp图…

MATLAB中的模型预测控制(MPC)实现详解

模型预测控制(MPC)是一种基于模型的优化控制策略,广泛应用于工业过程控制、无人驾驶、机器人等领域。MPC通过预测未来的系统行为,优化控制输入以达到预期的控制目标。本文将详细介绍如何在MATLAB中实现MPC,包括基本原理…

Socket【C#】Demo

字段: Socket RJ45;//以太网 属性: public Socket socket { get > RJ45; set > RJ45 value; } 构造: //实例化Socket RJ45 new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 连接: //封装…

后台监控中的云边下控耗时、边缘采集耗时 、云边下控量

云边下控耗时:指云端控制边缘设备的时间,从云端下发指令到边缘设备响应完成的时间。该指标反映了云端控制边缘设备的效率和响应速度。 边缘采集耗时:指边缘设备采集数据到云端处理完成的时间,包括数据采集、传输、处理等环节。该…

NETTY 是什么

Netty netty 很多都已经封装好了,比如客户端和服务端的连接后只要实现channelActive 方法 客户端给服务端发送send数据的时候,只要实现channgelRead方法 netty 就是一个nio程序,对nio做了很多封装,优化,用netty的时…

转行大模型的必要性与未来前景:迎接智能时代的浪潮

随着人工智能(AI)技术的迅猛发展,特别是大型语言模型(LLM, Large Language Models)的崛起,各行各业正迎来一场前所未有的技术革命。对于普通程序员而言,转行进入大模型领域不仅是对个人职业发展…

【Web】Electron:第一个桌面程序

Electron 是一个开源框架,使开发者能够使用 HTML、CSS 和 JavaScript 构建跨平台的桌面应用程序。通过 Electron,开发者可以将网页技术应用于桌面软件开发,从而利用现有的网页技术栈构建功能强大的桌面应用。 下载 Electron 虽然 Electron …

【第十五章:Sentosa_DSML社区版-机器学习之关联规则】

目录 15.1 频繁模式增长 15.2 PrefixSpan 【第十五章:Sentosa_DSML社区版-机器学习之关联规则】 机器学习关联规则是一种用于发现数据集中项之间有趣关系的方法。它基于统计和概率理论,通过分析大量数据来识别项之间的频繁共现模式。 15.1 频繁模式增…

Python 爬虫 根据ID获得UP视频信息

思路: 用selenium库对网页进行获取,然后用bs4进行分析,拿到bv号,标题,封面,时长,播放量,发布时间 先启动webdriver.,进入网页之后,先等几秒,等加…

CMake 中 add_definitions() 使用的注意事项及替代方案

CMake 中 add_definitions() 使用的注意事项及替代方案 在 CMake 中使用 add_definitions() 函数时,虽然其作用范围是全局的,但在实际应用中可能会遇到一些问题,导致其对子目录的影响不如预期。理解和避免这些问题可以帮助更高效地使用 CMak…

python中序列化和反序列化

在 Python 编程中,序列化 是指将一个 Python 对象转换为一种可以存储或传输的格式的过程。通过序列化,可以将对象的数据结构转化为诸如 JSON、XML、YAML 等格式,以便将其存储到文件、数据库,或者通过网络进行传输。与之对应的过程…

lvm管理磁盘过程记录

lvm管理磁盘过程记录.md 0.参考文章一、使用lvm在Linux系统上进行磁盘管理1.安装 LVM 工具2.创建物理卷(PV)3.创建卷组(VG)4.创建逻辑卷(LV)5.格式化逻辑卷6.挂载使用7.开机自动挂载(可选&#…