自动化部署之jenkins及简介(代码片段)

cnwuhao cnwuhao     2022-12-04     388

关键词:

一、什么是持续集成?

(1)Continuous integration(CI)

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

技术图片

(2)没有持续集成

项目做模块集成的时候,发现很多借口都不通==>浪费大量时间

需要手动去编译打包最新的代码==>构建过程不透明

发布代码,上线,基本靠手工==>脚本乱飞

 

(3)持续集成最佳实践:

维护一个单一的代码库

使构建自动化

执行测试是构建的一部分

集成日志及历史记录

使用统一的依赖包管理库

每天至少集成一次

 

(4)jenkins介绍

Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有 
Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。后来创始人又写了一个jenkins,jenkins在功能上远远超过hudson

Jenkins官网:https://jenkins.io/

Jenkins下载:http://updates.jenkins-ci.org/

 jenkins的全部镜像:http://mirrors.jenkins-ci.org/status.html

 

(5)部署代码上线流程:

1.代码获取(直接了拉取)

2.编译      (可选)

3.配置文件放进去

4.打包

5.scp到目标服务器

6.将目标服务器移除集群

7.解压并放置到Webroot

8.Scp 差异文件

9.重启      (可选)

10.测试

11.加入集群

 

二、jenkins部署

 1.安装JDK 

1
[[email protected] ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

2.安装jenkins

1
[[email protected] contos]# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm

3.启动

1
2
3
4
5
[[email protected] contos]# service jenkins start
Starting jenkins (via systemctl): [ OK ]
 
[[email protected] contos]# netstat -tunlp |grep :8080
tcp6 0 0 :::8080 :::* LISTEN 2259/java

4  输入初始化密码

1
2
[[email protected] contos]# cat /var/lib/jenkins/secrets/initialAdminPassword
a93553a4865b45198ae28f77877efe19    #登陆界面有提示输入密码,初始密码文件为/var/lib/jenkins/secrets/initialAdminPassword

 技术图片

技术图片

安装插件完成,设置用户名:jenkins,密码:jenkins

技术图片

三、jenkins的插件以及配置

jenkins系统管理比较重要的就是插件管理了 ,因为jenkins的工作全部是由插件来完成。

在插件管理中,有可更新、可选插件、已安装,日常的插件安装都是在这个界面上完成的。比如为了和gitlab协同,我们需要安装gitlab的插件。

 

当插件安装不上的时候,可以直接去网上瞎子啊,进行安装

1
2
3
4
5
6
7
下载地址
http://updates.jenkins-ci.org/
 
解压备份plugin.tar.gz
mv plugins /var/lib/jenkins/
chown -R jenkins.jenkins plugins/
service jenkins restart

  

技术图片

技术图片

在高级选项中,我们可以在jenkins官网下载插件,然后上传插件 ,如图:

技术图片

因为很多插件需要×××才可以继续下载,jenkins还提供了代理的设置
还是在服务器目录下进行上传插件
目录路径= /var/lib/jenkins/plugins/
这个目录下是我们安装所有的插件

jenkins的目录介绍:

1
2
3
4
5
6
7
8
9
10
[[email protected] contos]# rpm -ql jenkins
/etc/init.d/jenkins                #jenkins的启动文件
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins             #jenkins的配置文件(可以写改默认端口)
/usr/lib/jenkins                  
/usr/lib/jenkins/jenkins.war       #jenkins的程序war包
/usr/sbin/rcjenkins                #jenkins的为二进制文件
/var/cache/jenkins                 #jenkins的程序文件,运行程序解压出来的
/var/lib/jenkins                   #jenkins的主目录
/var/log/jenkins                   #jenkins的日志文件
1
jenkins的升级,只需要将war包解压到/var/lib/jenkins目录下,重启jenkins即可。 <br>友情提示: 卡启动问题 jenkins在第一次安装启动时会向官网回传信息,如果网络离线可以正常安装。<br>当网络在线,但是 还有可能是内存不足 <br>备份: tar zcvf jenkins.tar.gz /var/lib/jenkins,写一个定时任务的脚本,保留15天的备份,通过增量备份。

在测试环境中改成root用户来进行配置

1
2
3
4
5
6
vim /etc/sysconfig/jenkins
将用户修改为root,可以调用root工具
 29 JENKINS_USER="root"
 
修改启动端口85行,$JENKINS_PORT
service jenkins restart

  

系统管理-->系统配置

执行者数量:配置并发数量,一般设置为5,不超过10

用法:如果是主server,可以不选,如果是从级别必须选择“尽可能的使用这个节点”

生成前等待时间:配置该时间10s,避免错误操作,有时间返回

技术图片

 

 

简单实用的jenkins部署及操作(代码片段)

JenkinsJenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要。案例1.官方文档:https://www.jenkins.io/zh/doc/下载jenkiins:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.2 查看详情

大型架构及配置技术之ansible(代码片段)

...、ansible简介1、什么是ansible?Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议。其是基于Python研发,糅合了很多老运维工具的优点实现了批量操作系统配置,批量程序的部署,批量运行命令等功能。2、an... 查看详情

jenkins编译打包及自动化部署(代码片段)

一:简介Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。官网文档:https://www.jenkins.io/zh/doc/二&... 查看详情

jmeter(二十七)jmeterquestion之“集成ant+jenkins自动化”(代码片段)

...nt,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。是的、还是Apache家的产品,去其官网看看其简介。ApacheAntisaJavalibraryandcommand-linetoolwhosemissio... 查看详情

git+jenkins学习之路(十四)之自动化脚本部署实践(代码片段)

一、环境说明和准备1、环境说明主机名IP地址角色系统deploy-server192.168.56.12发布Centos7.4web192.168.56.13web服务器,nfs服务器Centos7.42、服务器准备工作(1)发布机前期准备a.增加普通用户并配置密码[[email protected]~]#useraddwww[[email... 查看详情

ci/cd之jenkins(代码片段)

jenkinsCI/CD简介jenkins简介jenkins安装安装jenkins插件安装中文插件安装流水线插件安装gitlab插件jenkins和gitlab联动jenkins轮询检查gitlab代码变更使用webhook实时检查gitlab代码变更推送dockerfile文件自动构建镜像新增agent节点jenkins用户管理CI... 查看详情

ci/cd之jenkins(代码片段)

jenkinsCI/CD简介jenkins简介jenkins安装安装jenkins插件安装中文插件安装流水线插件安装gitlab插件jenkins和gitlab联动jenkins轮询检查gitlab代码变更使用webhook实时检查gitlab代码变更推送dockerfile文件自动构建镜像新增agent节点jenkins用户管理CI... 查看详情

jenkins-一篇就能上手jenkins自动化部署(代码片段)

...ok钩子(Jenkins-一篇就能上手Gitee(码云)代码自动化构建)通知Jenkins,然后Jenkins通知目标服务器拉取Git项目代码并执行脚本(拉取、构建、启动等),完毕!环境要求LocalEnv&# 查看详情

jenkins持续集成案例之-自动化部署

Jenkins是一个开源软件项目,目的就是提供了一个开放的软件平台,让我们实现软件集成变成可能,我们经常听到企业中讲CI、CD两个名词,这些都可以跟jenkins联系在一起,实现持续集成,持续部署及持续交付;在企业中,Jenkins... 查看详情

01.分布式存储之fastdfs简介及部署(代码片段)

FastDFS介绍FastDFS是一个C语言实现的开源轻量级分布式文件系统,作者余庆(happyfish100),支持Linux、FreeBSD、AID等Unix系统,解决了大数据存储和读写负载均衡等问题,适合存储4KB~500MB之间的小文件,如图片网站、短视频网站、文档、app下载... 查看详情

jenkins与gitlib实现自动化部署与持续构建(代码片段)

Jenkins概念Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许... 查看详情

jenkins初步理解及参数化构建(代码片段)

...构建和插件的初步理解就我目前了解到的,一个jenkins自动化部署,至少包含拉代码、编译和打包及运行单元测试、部署这几个步骤。拉代码指的是从代码托管服务器下载代码,编译和打包及运行单元测试,实际上... 查看详情

jenkins编译打包及自动化部署

一:简介Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。二:下载及安装(Windows为例)... 查看详情

linux基于jenkins自动打包并部署tomcat环境/docker环境/php环境(代码片段)

...速器3、构建tomcat基础镜像4、构建一个Maven项目基于Jenkins自动化部署PHP环境基于rsync部署基于ansible部署jenkins的基本配置1、修改jenkins初始密码1点击Jenkins的管理2进入用户3设置修改密码2、安装Jenkins必要插件在Jenkins首页中,点... 查看详情

持续集成+自动化部署[代码流水线管理及jenkins和gitlab集成]

持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]标签(空格分隔):Jenkins一、代码流水线管理  Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目。如果使用jenkins构建完成后,开发构建项目需要一... 查看详情

jenkins+mvn+publishoverssh实现自动化部署(代码片段)

这里以java项目为例前提:安装mvn软件及publishoverssh插件1)安装mavencd/data/wgethttp://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.zipunzipapache-maven-3.5.3-bin.zipln-sapache-maven-3.5. 查看详情

gitlab+jenkins自动化部署持续集成(代码片段)

环境:1、centos7.62、jdk1.8.0_1413、4G30G4core4、关闭防火墙和selinux一、安装jenkins  1、下载jenkinshttps://pkg.jenkins.io/redhat/ jenkins-2.208-1.1.noarch.rpm  2、安装jdk和jenkinsrpm包  rpm-ivhjdk-8u141-linux-x64.rpm  rpm-ivhjenkins-2.208-1.1.noarch.rpm... 查看详情

jenkins自动部署

 一.说明经过一段时间的研究与讨论(关于自动化部署及自动化运维),初步确定方案,并已经开始实施。根据目前公司的服务器环境及系统架构,以及当前市面流行趋势,对工具的使用进行了确定,为:SVN------>Jenkins------&g... 查看详情