git jenkins 基本部署 jenkins持续集成

1.什么是持续集成?
持续集成来简化我们的工作 还能让产品可以快速迭代,同时还能保持代码高质量产出。
2.Jenkins的安装配置:
[root@jenkins ~]# yum install java -y
[root@jenkins ~]# yum localinstall jenkins-2.176.1-1.1.noarch.rpm -y
[root@jenkins ~]# systemctl start jenkins
[root@jenkins ~]# netstat -lntp
配置Host解析
10.0.0.120 jenkins.oldxu.com
解锁Jenkins
[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
访问Jenkins
http://jenkins.oldxu.com:8080/
自定义Jenkins插件!!!!!!
1.如果网络较好,同时你不清楚要安装哪些插件,通常选择 推荐的插件
2.网络较差,而且对jenkins比较熟悉,建议自定义选择插件
3.啥都不选, 简单的说就是一个插件都不安装. 直接关闭这一步 跳过它
跳过插件后,直接就进入了jenkins系统
1.修改admin的密码
点击右上角admin--->configure-->Password
jenkins的插件管理:
1)在安装插件过程中如何进行加速? 阿里云
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2)通过Web页面上传.hpi文件进行插件安装。
https://mirror.tuna.tsinghua.edu.cn/jenkins/plugins/
https://plugins.jenkins.io
3)导入之前服务器已安装的插件 (离线安装)。 ----->
[root@jenkins ~]# tar xf jenkins_2.176_plugins.tar.gz
[root@jenkins ~]# cp -rp plugins/* /var/lib/jenkins/plugins/
[root@jenkins ~]# chown -R jenkins.jenkins /var/lib/jenkins/plugins/
[root@jenkins ~]# systemctl restart jenkins
Jenkins与Gitlab集成思路:
1.开发提交代码至Gitlab
需要准备一个仓库-->仓库里面还需要有真实的代码
2.jenkins安装gitlab所需插件
3.jenkins创建freestyle项目,然后配置gitlab仓库项目对应地址。
3.1) 基于SSH方式
1.需要将Jenkins Root用户的公钥 推送到Gitlab服务器,测试免密
2.添加一个jenkins的凭证
添加一个ssh private key
描述: 一定要写清楚
Username: root
Private Key: 复制/root/.ssh/id_rsa
2.Jenkins实现项目自动化发布
1.搭建好集群环境 ( 手动搭建 | ansible )
10.0.0.5 nginx
10.0.0.7 nginx
10.0.0.9 nginx
2.手动去下载gitlab的代码,推送至web集群
3.测试访问
3.使用jenkins来实现自动化的上线
1.jenkins需要拉取gitlab上的仓库代码
2.jenkins需要将拉取下来的代码推送至web集群 ( 手动 | shell )
3.编写Shell脚本
1.拉取代码 (jenkins) /var/lib/jenkins/workspace/freestyle-monitor
2.打包到jenkins本地的/opt/
3.推送公钥至web集群组
4.推送代码压缩包到web集群组
5.登录到web集群组
1.创建站点目录
2.解压代码至站点目录
3.删除以前的web站点目录
4.重新创建软连接
5.重载服务
5.Jenkins实现项目tag方式发布
1.需要每次的变更都tag的方式
2.需要脚本支持进行传递参数 jenkins的参数化构建
6.Jenkins实现项目tag发布与回退
7.Jenkins解决项目能重复发布问题 {扩展}
---------------------------------------------------------------------
jenkins安装
jenkins插件
1.加速插件 使用清华大学源
2.如何手动上传一个插件.hpi
3.导入插件
..........
jenkins目录结构
jenkins基本的使用
freestyle --> 自由软件风格
1.jenkins调用Shell命令
2.Jenkins集成Gitlab
1.准备一份代码
2.将代码提交到gitlab的仓库
3.jenkins抓取gitlab仓库代码至本地
前置条件
1.需要有对应的插件
2.填写对应的仓库地址
3.配置免秘认证
1.先推送系统的root的公钥给gitlab (系统<==>gitlab)
2.jenkins添加一个凭据
root的私钥 (jenkins<==>gitlab)
3.手动搭建Nginx集群
三台
负载均衡 10.0.0.5
web集群 10.0.0.7 10.0.0.9
3.1 安装集群环境
3.2 克隆代码,推送给web集群组
3.3 测试访问
3.4 更新代码
3.5 运维下载代码
3.6运维推送代码至web集群
3.完整的gitlab+jenkins+shell实现自动化部署代码
1.下载代码--->jenkins
2.推送代码--->Shell
1.打包本地的最新代码
2.推送至远程web集群组
3.准备对应的站点目录-->将代码解压至站点目录
4.删除软连接 重新创建软连接
4.完整的 gitlab+jenkins+shell+tag 实现自动化部署代码
脚本必须能接收参数的传递 ===> 传递 git的版本号
1.git parameter 插件
2.添加了一个 git parameter 的参数化构建--->设定一个变量 git_version
3.修改jenkins拉取gitlab代码不再只拉取最新的master 而是拉取 git_version传入的版本
4.Shell --->所有的操作都需要带上git_version的信息
5.回退:
1.添加一个选项参数构建 deploy_env ( deploy | rollback )
2.修改Shell
1.添加一个判断条件,判断deploy_env这个变量
如果传递的字符串是deploy就调用deploy的函数
如果传递的是rollback则调用back函数执行回退
2.back函数怎么写?
1.获取要回退的版本的路径
1.删除软连接
2.重建软连接
git jenkins 基本部署 jenkins持续集成的更多相关文章
- Git Hooks、GitLab CI持续集成以及使用Jenkins实现自动化任务
Git Hooks.GitLab CI持续集成以及使用Jenkins实现自动化任务 前言 在一个共享项目(或者说多人协同开发的项目)的开发过程中,为有效确保团队成员编码风格的统一,确保部署方式的统一, ...
- Docker+Jenkins+Maven+SVN搭建持续集成环境
Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...
- jenkins+ant+jmeter搭建持续集成的接口测试平台
一.jemter接口脚本的编写步骤如下: 1. 编写接口请求 通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过,对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息 ...
- Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】
背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...
- Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)
一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...
- 【转】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台
一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...
- Jenkins 搭建 .NET Core 持续集成环境
关于c#的.Net FrameWork 的集成环境以及MsBuild的配置可以看 jenkins搭建.NET FrameWork持续集成环境 这篇文章 关于.NET Core 这个项目 ...
- Jenkins构建Android项目持续集成之findbugs的使用
Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题 ...
- 漫谈:从APP崩溃率标准,到Monkey介绍拓展Maxim,及Jenkins自动化配置,持续集成获取崩溃monkey日志
漫谈:从APP崩溃率标准,到Monkey介绍拓展Maxim,及Jenkins自动化配置,持续集成获取崩溃日志 1.APP崩溃率标准 开发或测试app的同学,对于app崩溃肯定非常熟悉,频繁的线上崩溃属 ...
随机推荐
- eclipse中xml文件格式化
eclipse中xml文件格式化(ctrl+shift+f),可能会发现格式化xml文件后很乱,如图: 这不是我想要的样子,我想要的是这样的: 解决办法:windows -> Perferenc ...
- 写论文与PPT汇报时matlab图片的背景透明处理
不少同学在使用Word写论文时,将matlab生成的图保存为jpg格式,然后粘贴到文档中.word背景为纯白色,jpg图的缺点没有显示,实际上会存在很大白边,以及放大后不清晰的问题,很影响PPT展示和 ...
- 【linux】【mysql】mysql8.0开启远程访问及常见问题
1.连接数据库 [root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands e ...
- Mybatis源码解析,一步一步从浅入深(二):按步骤解析源码
在文章:Mybatis源码解析,一步一步从浅入深(一):创建准备工程,中我们为了解析mybatis源码创建了一个mybatis的简单工程(源码已上传github,链接在文章末尾),并实现了一个查询功能 ...
- ELK搭建实时日志分析平台
ELK搭建实时日志分析平台 导言 ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成,ELK平台可以同时实现日志收集.日志搜索和日志分析的功能.对于生产环境中海量日志 ...
- 2019 SD卡、U盘无法格式化怎么办的解决方法
有天 闲的没事, 格式化一下U盘 ,结果突然断电了,我的天.我还在格式化的U盘 ,果然 ,我在此启动电脑后,的U盘直接 就不能用了.于是 我格式化. 然后,我的U盘就怎么也格式化不好了 ,找到了几种解 ...
- json与java对象的转换,以及struts2对json的支持,实现ajax技术
这两天学的东西有点多,今天抽个时间写下来,以此作为激励,这两天学了json,ajax,jQuery 一.使用第三方的工具java转换为json类型 首先就是java类型转换为json对象,首先要导入第 ...
- Actor 模型中的通信模式
在 Actor 模型中所有的 Actor 之间有且只有一种通信模式,那就是 tell 的方式,也就是 fire and forget 的方式.但是在实际的开发过程中工程师们逐渐总结出了一些常用的通信模 ...
- java架构之路-(SpringMVC篇)SpringMVC主要流程源码解析(下)注解配置,统一错误处理和拦截器
我们上次大致说完了执行流程,也只是说了大致的过程,还有中间会出错的情况我们来处理一下. 统一异常处理 比如我们的运行时异常的500错误.我们来自定义一个类 package com.springmvcb ...
- 【每天一题】LeetCode 0020. 有效的括号
开源地址:https://github.com/jiauzhang/algorithms 题目 /* * https://leetcode-cn.com/problems/valid-parenthe ...