jenkins 回滚发布】的更多相关文章

#jenkins拉取文件路径 workspace=/data/wos/testtemp #备份路径 backspace=/data/wos/back #不能提Git的文件 config=/data/wos/config #构建ID buildID=${BUILD_NUMBER} case $deploy_env in deploy) sudo chown -R apache:users ${workspace} mkdir ${backspace}/${buildID} sudo rsync -…
主要思路: 1.做三个文件夹,用于放置不可随意修改的配置文件(测试发布.预发布.真实发布) 2.每次都先修改配置文件再进行构建(构建时会先把配置文件复制到构建的目录,再同步到发布的目录) 3.发布完代码后,创建备份目录并复制代码到备份目录进行备份 4.使用脚本需要传执行类型和构建ID shell脚本如下: #!/bin/sh echo "$1" model=$ echo "${model}" version=$ project_MainDir="/data…
grovvy调试: 部署路径确定下来, 每个服务写死,传参 服务名 + 环境 给版本服务返回版本信息: groovy取分支: def gettags = ("git ls-remote -h git@gitlab.zi.com:crm/zi-crm-app.git").execute() gettags.text.readLines().collect { it.].replaceAll('refs/heads/', '') }.unique() def gettags = (&quo…
Jenkins回滚可以通过每次发布从主干打tag,然后发布的时候发tag,比如tag, v1, v2,v3 如果我发布了v3,想要回滚回v2,直接在Jenkins中选择v2的tag地址重新构建就可以回滚到v2发布时的代码构建.   但是如果发布时没有打tag的习惯或者觉得重构代码比较费时如何操作? 下面看下如何配置…
系列目录 kubernetes 滚动升级 Kubernetes 中采用ReplicaSet(简称RS)来管理Pod.如果当前集群中的Pod实例数少于目标值,RS 会拉起新的Pod,反之,则根据策略删除多余的Pod.Deployment正是利用了这样的特性,通过控制两个RS里面的Pod,从而实现升级. 滚动升级是一种平滑过渡式的升级,在升级过程中,服务仍然可用. 创建deployment kubectl create deploy nginx-test --image=nginx:1.14 sca…
Kubectl Rollout 回滚及Autoscale自动扩容 Kubernetes 中采用ReplicaSet(简称RS)来管理Pod.如果当前集群中的Pod实例数少于目标值,RS 会拉起新的Pod,反之,则根据策略删除多余的Pod.Deployment正是利用了这样的特性,通过控制两个RS里面的Pod,从而实现升级. 滚动升级是一种平滑过渡式的升级,在升级过程中,服务仍然可用. 1. 创建deploymentkubectl create deploy nginx-test --image=…
Jenkins配置回滚思路: 目前只能实现使用salt来管控配置文件的管控,配置文件的版本回滚需要后续定制化开发,或者进行格外其他的管理操作.后续实现 以下配置可以为每个项目备份构建文件到本地指定路径 测试路径说明: [root@jenkins-lopc-test-11 target]# pwd /opt/jenkins/jobs/pro/jobs/activiti/builds/30/archive/target   pro是jenkins上自己配置的文件目录名称 activiti是jenki…
写在前面 我们以前windows跑.net Framework程序的时候,发布,自己乖乖的替换程序:备份,也是自己一个一个的重命名备份:回滚,发布遇到问题的回滚更是不用说了:运维很是怕我们 这些用windows的啊: 那全面拥抱linux的一一.net core 时代 ,是如何处理这些个问题的呢? 噔噔蹬蹬~请往下看. 运行环境 centos:7.2 cpu:1核 2G内存 1M带宽 Jenkins ver. 2.150.1 一台安装jenkins的机器. (本文例子不一定要安装jenkins,…
目录 1.概述 2.项目实践 2.1.环境说明 2.2.Jenkins配置 2.2.1.修改Jenkins的运行用户 2.2.2.配置Jenkins用户和Gitlab的ssh-key 2.2.3.Jenkins的凭据配置 2.2.4.目标主机的一些设置 2.2.5.新建一个自由风格的任务进行如下配置 3.项目演示 3.1.发布操作 3.2.回滚操作 1.概述 关于jenkins和gitlab的部署,不多加赘述,网上的部署文档多了去了,不踩坑,不成长!这里只聊聊生产的一些实践实用.在关于php项目…
让我们的代码部署变得easy,不再难,Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins非常易于安装和配置,简单易用.本次环境模拟一整套企业生产流程 转载互联网 Jenkins 2019年04月24日 相关文章 Jenkins 前端自动发布 [git 钩子] 持续集成之Jenkins+Gitlab简介 [一] Jenkins 搭建企业实战案例 (发布与回滚)一.Jenkins介绍及安装 二.Jenkins 安装配…
一.实现方法流程图 流程图如下:代码托管在本地GitLab上(为了复现整套流水线,我直接使用了GitHub,懒得再搭建GitLab),开发完成后提交代码到代码仓库,[自动]触发Jenkins进行持续集成和部署,如果代码出现问题,根据版本进行回滚.(1).自动触发Jenkins可以使用hooks来实现,具体是否使用取决于自己:(2).Jenkins从GitLab上拉取代码进行编译打包,并将项目target目录备份到备份目录下,以便回滚使用:(3).Jenkins将打好得包通过ansible部署到对…
由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一键从测试环境发布到正式环境的工具,部署的大致思路如下(详细的操作点这里,有详细节点配置和部署配置): 前提:安装jenkins的环境为master,每一个生产环境为slave,slave是实时连接到master的. 1.测试环境上使用了CCNET进行每次的代码变更编译部署,在测试环境上进行编译的版本…
最近在学习jenkins过程中整理了大量资料,都收录在<jenkins自动化工具使用教程>,但依然缺少一些具体实现细节. 这篇文章,介绍jenkins做集群回滚时的两个设计方案,让一键回滚到指定时间的历史版本操作更加容易. 1. 集群回滚效果图 如上图就是01和02服务器上的market站点的集群回滚 2. 两个实现方案 关键点是jenkins生成的包含时间信息的备份目录名要一致.比如: D:\BackUp\Demo\2019_01\Web.Demo_13_1350 即:**\年_月\项目名_…
 转载:http://www.cnblogs.com/EasonJim/p/6295372.html Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践) 前提: 这一篇是继上一篇http://www.cnblogs.com/EasonJim/p/6092938.html的真实项目实践. 思路和大致实现步骤请参照上一篇文章. 注意:这篇文章涉及到两台服务器:1为测试服务器.2为正式服务器.且,两台服务器都必须安装了jenkins. 注意2:这里所说的一键部署是指从测试服务器…
使用docker swarm滚动更新java项目,部署集群,这一切的前提是使用Jenkins+maven进行项目打包,分发等功能 具体可以参考我的另外三篇文章 https://www.cnblogs.com/mumengyun/p/10037246.html https://www.cnblogs.com/mumengyun/p/10000739.html https://www.cnblogs.com/mumengyun/p/10143203.html 以下写的就是如何使用docker swa…
小白对jenkins运维的使用有点简单的想法,这里开个记录贴记录下. 由于未找到jenkins构建失败后执行其他脚本的插件,也暂时没有使用其他运维工具.所以想自己写一个shell脚本,一是方便其他人使用,二是可以失败后回滚. 本文使用gitlab webhook触发jenkins构建,jenkins执行shell命令--->mvn或者npm打包--->打包成docker镜像--->发布--->发布成功后用jenkins的git publisher插件push一个gitlab tag…
利用jenkins,从gitlab上拉取代码,然后发布,如果想进行代码回退,其实还是代码发布,拉取的时候,选择合适的标签. 一.利用Git parameter插件选择branch或tag.下面的文本参数不是必选,但是可以提供每次发版的详情. 二.Git仓库中填上仓库地址,注意Name中填入origin要与最下面的对应上.下方的Branches to build 填入的变量可以获取tag分支. 三.此处不是必须的,但是可以根据自己的脚本加入tag参数,来根据分支构建.列如git clone  -b…
1.备份 备份可以使用批处理命令解决,实际就是复制当前发布文件 ::备份文件夹名,使用当前时间 set foldername=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% ::发布目录 set publishfolder=D:\LastOne\PcApi ::文件夹不存在 创建 if not exist "%publishfolder%\Backup\" ( md "%publishfol…
一.摘要 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 镜像打的是latest版,如果需要回滚的话,就比较麻烦了. 因此,需要修改为参数化构建.镜像的版本,使用时间戳. 本文采用的环境,依然是上一篇的环境,就不多介绍了. 二.参数化构建 发布 修改 ph任务,勾选 此项目参数化构建,点击添加参数,选择Choice Parameter 输入参数,这里有2个固定选项,分别是发布和回滚,再点击底部的添加参数,选择S…
PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版) 先看流程图: 大概介绍一下: 版本选择使用jenkins 中的 git parameter 插件实现 回滚方式比较low,直接使用代码库目录方式实现 其中gitlab.ansible.jenkins安装不在本文讨论范围之内. 效果 先看下效果图: jenkins 发布配置 PHP 代码不需要 Ant 或者 meaven 编译,所以可以直接使用. 新建一个项目,比较重要的是:选择参数化构建 选择git par…
背景介绍: 本项目代码存储在gitlab,再通过jenkins发布到对应的节点上. 使用tag控制版本:每一次成功的构建,jenkins会自动为gitlab的分支打上tag,版本更新可直接选择production分支,当需要回滚时选择对应的tag进行构建. jenkins主要配置 tag的参数化构建 Name: 此参数的变量名,可在之后配置以 $tags 形式引用: Description: 描述信息,对此变量进行说明: Parameter Type:抓取数据的类型,此处选择分支或tag,因为需…
1.部署Jenkins 1.1 安装jdk # apt 安装jdk11 apt install openjdk-11-jdk # 查看 root@jenkins:~# java -version openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-…
前提条件: 1.必须有两台服务器,一个是生产环境,另一个是测试环境. 2.两台服务器上都必须安装了Jenkins. 3.其中,生产环境上的Jenkins已经开通的CLI的权限(Windows参考:http://www.cnblogs.com/EasonJim/p/6086018.html). 实现思路: 1.生产环境的Jenkins有两个工程解压和还原 2.测试环境的Jenkins有两个工程部署和回滚 3.测试环境部署工程时先压缩现有测试站点的包,通过FTP上传,完成后通过CLI调用生产环境的J…
最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: centos 7.0 64位 gitlab:v2.9.0 git:2.9 jenkins .git plugin.GitLab Plugin.Dynamic Parameter Plug-in等 ansible:2.1.0.0 各工具职能: 1.gitlab做版本管理 2.jenkins根据指定参数,分别执…
上面虽然实现了项目的自动部署,但是有时部署失败的时候我们需要回滚到指定版本的构建,这样才能更灵活的进行项目的构建部署.我们可以选择“参数化的构建过程”进行传递不同的参数来选择是进行新的构建还是回滚 如果要在实现回滚,一定要在构建后将,构建完成的文件进行存档,方便以后回滚的时候使用. 如果要在实现回滚,一定要在构建后将,构建完成的文件进行存档,方便以后回滚的时候使用 构建后存档 使用参数化构建过程,让后面的脚步可以根据不同的变量执行不同的操作.添加“Choice”参数配置不同的选项,让选择发布还是…
ansible的两篇博客,本来是打算合二为一的,发现只用一篇写,嗯,好鬼长.... 一向秉承简单为美的我于是忍痛割爱,一分为二了 ansible实现升级发布.回滚功能 1.应用场景 在实际生产环境中,每天都会更改很多次配置文件,要批量地重启服务 , how ??? 机器少可以手动改,再reload一下 机器多达数百台  ——> 使用自动化工具,效率高呗   2.思路 配置文件放到一个固定的地方,每次更改时(直接在当前机器上更改),改完后批量发布到其他机器上,再reload     一.做一个配置…
jenkins 服务器需先保留着原先构建的不同版本的应用镜像 [root@jenkins sh]# docker images|grep "maintain" registry-vpc.cn-hangzhou.aliyuncs.com/******-ui-maintain 20190719 849ed46fa462 31 minutes ago 293 MB registry-vpc.cn-hangzhou.aliyuncs.com/*******-ui-maintain latest…
0 环境说明 主tomcat:192.168.0.112 备tomcat:192.168.0.183 haproxy+keepalived-1:192.168.0.156 haproxy+keepalived-2:192.168.0.157 git: 尚未部署 sonar-scanner:尚未部署 软件: jdk-8u144-linux-x64.tar.gz apache-tomcat-8.5.43.tar.gz haproxy-1.5.18-8.el7.x86_64.rpm keepalive…
假设现在有业务需求,计划将所有的nginx 从镜像版本1.14更新到1.15,这一次发布不紧需要平滑发布,还需要 金丝雀发布,及确认其中一个Pod没有问题后在进行剩余的更新. 暂停与恢复也可以使用yml文件来实现,但是相对比较复杂,这里用比较简单的命令进行说明 暂停与恢复的命令如下所示: kubectl rollout pause deploy {Deployment 名称} kubectl rollout resume deploy {Deployment 名称} 第一步, 新建一个deplo…
@ 目录 多分支 安装Git Parameter Plug-In 配置参数 选择构建分支 分模块 前提 分模块build 参数配置 分模块shell脚本 mvn 的基本用法 分模块运行 Jenkins笔记 Jenkins笔记之新建任务:https://blog.csdn.net/weixin_42526326/article/details/119865834 Jenkins笔记之配置远程服务器:https://blog.csdn.net/weixin_42526326/article/deta…