一.实现方法流程图 流程图如下:代码托管在本地GitLab上(为了复现整套流水线,我直接使用了GitHub,懒得再搭建GitLab),开发完成后提交代码到代码仓库,[自动]触发Jenkins进行持续集成和部署,如果代码出现问题,根据版本进行回滚.(1).自动触发Jenkins可以使用hooks来实现,具体是否使用取决于自己:(2).Jenkins从GitLab上拉取代码进行编译打包,并将项目target目录备份到备份目录下,以便回滚使用:(3).Jenkins将打好得包通过ansible部署到对…
1 #!/usr/bin/env groovy Jenkinsfile node { //服务名称 def service_name = "**" //包名 def service_bag_name = "**.jar" //制品库目录 service_product = "/data/server/**/project-demo" //工作目录 workspaces="/data/**/**-${service_name}"…
Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https://zhuanlan.zhihu.com/p/40156890 https://coding.imooc.com/class/253.html Ansible https://github.com/ansible/ansible Jenkins GitLab refs xgqfrms 2012-20…
目录 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项目…
Jenkins回滚可以通过每次发布从主干打tag,然后发布的时候发tag,比如tag, v1, v2,v3 如果我发布了v3,想要回滚回v2,直接在Jenkins中选择v2的tag地址重新构建就可以回滚到v2发布时的代码构建.   但是如果发布时没有打tag的习惯或者觉得重构代码比较费时如何操作? 下面看下如何配置…
写在前面的话 在某些时候,我们希望能够实现这样一个功能,当用户提交东西到 gitlab 上的时候,希望它能够自动触发构建,发布到我们需要的环境. 目前我们内部有做类似的需求:产品提交原型到 gitlab,然后 gitlab 分支变动触发 Jenkins 构建,将最新的产品原型发布到 nginx 配置的网页访问目录.更新完成以后通过钉钉机器人提供的 webhook 在公司群里通知大家,并打印出本次提交者是谁,提交的内容是啥. 配置 Gitlab 触发 Jenkins 自动构建 需要的插件有:Git…
gitlab提交错误需要回滚版本 首先查看log找到需要回滚的head git log 回滚 git reset --hard 297ff2dcf20605297684f296a4b4ccaa1cf4dc48 强制提交 git push -f origin master 强制提交报错 [root@prod-zabbix hope-framework]# git push -f origin master Username for 'http://192.168.1.193': root Pass…
前言 持续交付 版本控制器:Gitlab.GitHub 持续集成工具:jenkins 部署工具:ansible  课程安排 Gitlab搭建与流程使用 Ansible环境配置与Playbook编写规范 Jenkins环境构建与任务编写 Freestyle任务实现静态网站部署交付 Pipeline任务实现WordPress部署交付 适用对象 从事运维相关岗位的同学 想了解持续交付领域的同学 想拓宽自己的同学 奋战在运维交付第一线的同学 GitLab 什么是GitLab? GitLab是一个开源分布…
在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:8080 -p 50000:50000 \ -v jenkins_home:/var/jenkins_home \ -e JAVA_OPTS=-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai \ jenkins/jenkins:lts-…
注意:首先准备jenkins服务器  如何搭建jenkins 由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会用到,文章中启动jar和tomcat都是使用的tomcat用户,注意jenkins和目标服务器的用户要一致,不然ansible推送和调用jar的时候可能会出现意想不到的问题:详细的内容会在下一节搭建job来说明. 安装ansible python 我就使用系统自带版本了 也可自行升级python版本…