目录 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…
背景介绍: 本项目代码存储在gitlab,再通过jenkins发布到对应的节点上. 使用tag控制版本:每一次成功的构建,jenkins会自动为gitlab的分支打上tag,版本更新可直接选择production分支,当需要回滚时选择对应的tag进行构建. jenkins主要配置 tag的参数化构建 Name: 此参数的变量名,可在之后配置以 $tags 形式引用: Description: 描述信息,对此变量进行说明: Parameter Type:抓取数据的类型,此处选择分支或tag,因为需…
#!/bin/bash DATE=`date +%Y-%m-%d_%H-%M-%S` METHOD=$1 BRANCH=$2 GROUP_LIST=$3 function IP_list(){ if [[ ${GROUP_LIST} == "online-group1" ]];then Server_IP="192.168.7.105" echo ${Server_IP} elif [[ ${GROUP_LIST} == "online-group2&qu…
最近在学习jenkins过程中整理了大量资料,都收录在<jenkins自动化工具使用教程>,但依然缺少一些具体实现细节. 这篇文章,介绍jenkins做集群回滚时的两个设计方案,让一键回滚到指定时间的历史版本操作更加容易. 1. 集群回滚效果图 如上图就是01和02服务器上的market站点的集群回滚 2. 两个实现方案 关键点是jenkins生成的包含时间信息的备份目录名要一致.比如: D:\BackUp\Demo\2019_01\Web.Demo_13_1350 即:**\年_月\项目名_…
小白对jenkins运维的使用有点简单的想法,这里开个记录贴记录下. 由于未找到jenkins构建失败后执行其他脚本的插件,也暂时没有使用其他运维工具.所以想自己写一个shell脚本,一是方便其他人使用,二是可以失败后回滚. 本文使用gitlab webhook触发jenkins构建,jenkins执行shell命令--->mvn或者npm打包--->打包成docker镜像--->发布--->发布成功后用jenkins的git publisher插件push一个gitlab tag…
数据库的读写操作中,事务在保证数据的安全性和一致性方面起着关键的作用,而回滚正是这里面的核心操作.Django的ORM在事务方面也提供了不少的API.有事务出错的整体回滚操作,也有基于保存点的部分回滚.本文将讨论Django中的这两种机制的运行原理. Django利用django.db.transaction模块中的API对数据库进行事务的管理 Django provides a straightforward API in the django.db.transaction module to…
PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版) 先看流程图: 大概介绍一下: 版本选择使用jenkins 中的 git parameter 插件实现 回滚方式比较low,直接使用代码库目录方式实现 其中gitlab.ansible.jenkins安装不在本文讨论范围之内. 效果 先看下效果图: jenkins 发布配置 PHP 代码不需要 Ant 或者 meaven 编译,所以可以直接使用. 新建一个项目,比较重要的是:选择参数化构建 选择git par…
前提条件: 1.必须有两台服务器,一个是生产环境,另一个是测试环境. 2.两台服务器上都必须安装了Jenkins. 3.其中,生产环境上的Jenkins已经开通的CLI的权限(Windows参考:http://www.cnblogs.com/EasonJim/p/6086018.html). 实现思路: 1.生产环境的Jenkins有两个工程解压和还原 2.测试环境的Jenkins有两个工程部署和回滚 3.测试环境部署工程时先压缩现有测试站点的包,通过FTP上传,完成后通过CLI调用生产环境的J…
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-…