jenkins回滚之groovy动态获取版本号】的更多相关文章

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 pipeline job 的简单使用经验 场景 我们日常的测试函数, 一般是不能仅仅在本地跑的,还需要一个公共的跑测试的环境,作为合并新的PR的依据. 如果用Jenkins 作为自动跑新分支test任务的环境的话,就会面临一个问题:如何切换到PR请求对应的分支去跑test. Jenkins 不能直接获取触发事件的git分支 自己在网上查了一下,发现网上现有的 Jenkins自动切换分支的帖子 ,要么创建了多个Jenkins job,用过滤规则去实现不同的分支触发不同的J…
#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 -…
Jenkins回滚可以通过每次发布从主干打tag,然后发布的时候发tag,比如tag, v1, v2,v3 如果我发布了v3,想要回滚回v2,直接在Jenkins中选择v2的tag地址重新构建就可以回滚到v2发布时的代码构建.   但是如果发布时没有打tag的习惯或者觉得重构代码比较费时如何操作? 下面看下如何配置…
PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版) 先看流程图: 大概介绍一下: 版本选择使用jenkins 中的 git parameter 插件实现 回滚方式比较low,直接使用代码库目录方式实现 其中gitlab.ansible.jenkins安装不在本文讨论范围之内. 效果 先看下效果图: jenkins 发布配置 PHP 代码不需要 Ant 或者 meaven 编译,所以可以直接使用. 新建一个项目,比较重要的是:选择参数化构建 选择git par…
一.实现方法流程图 流程图如下:代码托管在本地GitLab上(为了复现整套流水线,我直接使用了GitHub,懒得再搭建GitLab),开发完成后提交代码到代码仓库,[自动]触发Jenkins进行持续集成和部署,如果代码出现问题,根据版本进行回滚.(1).自动触发Jenkins可以使用hooks来实现,具体是否使用取决于自己:(2).Jenkins从GitLab上拉取代码进行编译打包,并将项目target目录备份到备份目录下,以便回滚使用:(3).Jenkins将打好得包通过ansible部署到对…
最近用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根据指定参数,分别执…
Jenkins配置回滚思路: 目前只能实现使用salt来管控配置文件的管控,配置文件的版本回滚需要后续定制化开发,或者进行格外其他的管理操作.后续实现 以下配置可以为每个项目备份构建文件到本地指定路径 测试路径说明: [root@jenkins-lopc-test-11 target]# pwd /opt/jenkins/jobs/pro/jobs/activiti/builds/30/archive/target   pro是jenkins上自己配置的文件目录名称 activiti是jenki…
利用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…
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…
jenkins 构建配置参数化构建过程 构建  执行 shell  , 将版本号参数传入 脚本 脚本push  带版本号的镜像到阿里云镜像仓库 #!/bin/bash #获取参数 while getopts "n:" opt; do case $opt in n) version=$OPTARG ;; \?) ;; esac done ****** ****** sudo docker tag fashion*****prod registry-vpc.cn-hangzhou.aliy…
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过程中整理了大量资料,都收录在<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:这里所说的一键部署是指从测试服务器…
目录 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项目…
一.摘要 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 镜像打的是latest版,如果需要回滚的话,就比较麻烦了. 因此,需要修改为参数化构建.镜像的版本,使用时间戳. 本文采用的环境,依然是上一篇的环境,就不多介绍了. 二.参数化构建 发布 修改 ph任务,勾选 此项目参数化构建,点击添加参数,选择Choice Parameter 输入参数,这里有2个固定选项,分别是发布和回滚,再点击底部的添加参数,选择S…
让我们的代码部署变得easy,不再难,Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins非常易于安装和配置,简单易用.本次环境模拟一整套企业生产流程 转载互联网 Jenkins 2019年04月24日 相关文章 Jenkins 前端自动发布 [git 钩子] 持续集成之Jenkins+Gitlab简介 [一] Jenkins 搭建企业实战案例 (发布与回滚)一.Jenkins介绍及安装 二.Jenkins 安装配…
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…
@ 目录 多分支 安装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…
由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一键从测试环境发布到正式环境的工具,部署的大致思路如下(详细的操作点这里,有详细节点配置和部署配置): 前提:安装jenkins的环境为master,每一个生产环境为slave,slave是实时连接到master的. 1.测试环境上使用了CCNET进行每次的代码变更编译部署,在测试环境上进行编译的版本…
先说今天遇到的问题,看到一个config.php的配置文件一直在改动的状态下,可是和远程的config.php是不一致的,我不须要提交它,可是看它在 modified的状态下,非常不爽.想删除它.git   rm  config.php,然后git push了下,结果不仅把本地的config.php干掉了,把远程的config.php也给干掉了,,原来这个git rm有这种功效,并且我 删除的不仅仅是这一个文件,还有n个文件. 想到要回滚到近期的一次提交.做这个工作前.提醒下,在本地直接把代码备…
写在前面 我们以前windows跑.net Framework程序的时候,发布,自己乖乖的替换程序:备份,也是自己一个一个的重命名备份:回滚,发布遇到问题的回滚更是不用说了:运维很是怕我们 这些用windows的啊: 那全面拥抱linux的一一.net core 时代 ,是如何处理这些个问题的呢? 噔噔蹬蹬~请往下看. 运行环境 centos:7.2 cpu:1核 2G内存 1M带宽 Jenkins ver. 2.150.1 一台安装jenkins的机器. (本文例子不一定要安装jenkins,…
上面虽然实现了项目的自动部署,但是有时部署失败的时候我们需要回滚到指定版本的构建,这样才能更灵活的进行项目的构建部署.我们可以选择“参数化的构建过程”进行传递不同的参数来选择是进行新的构建还是回滚 如果要在实现回滚,一定要在构建后将,构建完成的文件进行存档,方便以后回滚的时候使用. 如果要在实现回滚,一定要在构建后将,构建完成的文件进行存档,方便以后回滚的时候使用 构建后存档 使用参数化构建过程,让后面的脚步可以根据不同的变量执行不同的操作.添加“Choice”参数配置不同的选项,让选择发布还是…
import java.util.Date; import java.util.LinkedList; import com.qianfeng.gp08_day23_fragment5.fragment.TestFragment; import android.os.Bundle; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import and…
小白对jenkins运维的使用有点简单的想法,这里开个记录贴记录下. 由于未找到jenkins构建失败后执行其他脚本的插件,也暂时没有使用其他运维工具.所以想自己写一个shell脚本,一是方便其他人使用,二是可以失败后回滚. 本文使用gitlab webhook触发jenkins构建,jenkins执行shell命令--->mvn或者npm打包--->打包成docker镜像--->发布--->发布成功后用jenkins的git publisher插件push一个gitlab tag…
背景介绍: 本项目代码存储在gitlab,再通过jenkins发布到对应的节点上. 使用tag控制版本:每一次成功的构建,jenkins会自动为gitlab的分支打上tag,版本更新可直接选择production分支,当需要回滚时选择对应的tag进行构建. jenkins主要配置 tag的参数化构建 Name: 此参数的变量名,可在之后配置以 $tags 形式引用: Description: 描述信息,对此变量进行说明: Parameter Type:抓取数据的类型,此处选择分支或tag,因为需…
一.改动还没被提交的情况(未commit) 这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端. 其实一个命令就可以搞定: 1 <kk@ubuntu:># svn revert [-R] PATH PATH可以是准备回滚的文件.目录,如果想把某个目录下的所有文件包括子目录都回滚,加上-R选项. 二.改动已经提交(已commit) 1.首先取得当前最新版本,不是最新的有可能带来麻烦: 1 <kk@ub…
主要思路: 1.做三个文件夹,用于放置不可随意修改的配置文件(测试发布.预发布.真实发布) 2.每次都先修改配置文件再进行构建(构建时会先把配置文件复制到构建的目录,再同步到发布的目录) 3.发布完代码后,创建备份目录并复制代码到备份目录进行备份 4.使用脚本需要传执行类型和构建ID shell脚本如下: #!/bin/sh echo "$1" model=$ echo "${model}" version=$ project_MainDir="/data…