工作中部署的项目和服务器较多时就用上了Jenkins进行自动部署

优点

  • 不用在连接单独的服务器进行更新项目,再启动项目服务的操作了
  • 更新部署都是自动的,比较方便。适合大批量的部署

一、git流程部分

项目或代码更新后。首先还是先走提交仓库流程,然后再创建git tag打包版本并推送到远程服务器,便于下一步Jenkins部署

1.查看项目代码变化
  git status
2.将变化后的代码提交到暂存区
  git add .

ps:

git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

git add -A 提交所有变化

git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

一般来说,常用的提交命令就是 git add .

3.提交注释
  git commit -m 'xxxxxx'

ps:

这一步要确保你已经设置了此次git提交的用户及邮箱,没有设置会提示你进行设置后才能提交注释,注释一定要写的言简意赅

提交用户及邮箱的设置方法有两种。在我之前的随笔里有写,这里不再过多赘述,这里直接使用修改全局git提交用户及邮箱的命令,分别执行:

git config --global user.name 你的目标用户名

git config --global user.email 你的目标邮箱名

4.推送前先下拉项目最新代码。避免直接提交会覆盖其他同事新push的代码,推送代码前先下拉这是一个好习惯
  git pull
5.推送更新的代码到远程仓库
  git push
6.添加git tag版本前先查看项目以有版本
  git tag -l
7.添加tag版本
  git tag -a vx.x.x -m 'vx.x.x'

ps:

git tag打标签分为两种类型:轻量标签和附注标签,轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。

创建轻量标签不需要传递参数,直接指定标签名称即可

git tag vx.x.x-light

创建附注标签时,参数a即annotated的缩写,指定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中,建议使用附注标签

例子:git tad -a v1.3.5 -m 'v1.3.5版本' 即表示此次添加的git tag新版本为1.3.5,提交的注释为v1.3.5版本

切换到标签,与切换分支命令相同:

git checkout [tagname]

查看标签信息

git show v0.1.2

删除标签(误打或需要修改标签时,需要先将标签删除,再打新标签)

git tag -d vx.x.x

参数d即delete的缩写,意为删除

8.推送git tag版本到远程仓库服务器
  git push origin --tags

ps:

推送git tag版本有两种方式,建议直接使用推送全部未推送过的本地标签的方式推送

推送一个本地标签到远程仓库

git push origin

推送全部未推送过的本地标签

git push origin --tags

到这里,Jenkins自动化部署更新,Git部分就完成了所有工作

二、Jenkins自动化部署流程部分

目前我接触的部署都是采用ansible-playbook部署组件,将打包好的项目代码拷贝到服务器上,安装依赖环境,启动项目,对应的每个项目有一个jenkins标签组,标签组下面就是该项目的相关部署维护流水线任务

1.build打包新版本代码工程
  • 任务名称:xx_build
  • 任务内容:xx代码工程编译任务,按之前设置的git代码仓库中的tag标签编译来打包admin工程

    1.点击build这一栏,跳转进入build提交前界面



    2.点击Build with Parameters进入build提交界面



    3.在选择栏中选择git tag里之前自己推送的git tag版本进行Build提交

2.update更新版本代码工程到指定服务器
  • 任务名称:xx_update
  • 任务内容:xx代码工程更新任务,按前面build任务编译的版本,以及填入的目标服务器,更新目标服务器的代码工程版本

    1.点击update这一栏,跳转进入update提交前界面



    2.点击Build with Parameters进入update提交界面



    3.手动填写刚刚build的git tag版本,并填入指定服务器IP进行update Build提交



    这样就完成了一整套的Jenkins自动化部署服务器及git 提交及git tag标签版本更新流程

    写这个最主要还是为了自己熟悉和积累,当然希望能帮助到其他人,有问题也可以在评论区交流

Jenkins自动化部署服务器及git 提交及git tag标签版本更新流程,超详细!的更多相关文章

  1. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  2. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  3. AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署

    一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...

  4. Jenkins自动化部署入门详细教程

    大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试: 或者前后端分离后,经常会修改接口,然后重新部署 ...

  5. Windows环境下实现Jenkins自动化部署

    详见:https://blog.csdn.net/Try_harder_every_day/article/details/79170065 Jenkins自动化部署: 几条具体的思路:1.开发人员将 ...

  6. Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  7. Jenkins 自动化部署上线

    转载于互联网 jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins Jenkins 自动化部署上线一.Je ...

  8. springboot docker jenkins 自动化部署并上传镜像

    springboot + docker + jenkins自动化部署项目,jenkins.mysql.redis都是docker运行的,并且没有使用虚拟机,就在阿里云服务器(centos7)运行 1. ...

  9. Jenkins自动化部署代码

    通过jenkins自动化部署项目代码可以大幅度节省打包上传部署的时间,提高开发测试的工作效率 ========== 完美的分割线 =========== 1.Jenkins是什么 1)Jenkins是 ...

随机推荐

  1. C语言讲义——C语言的布尔类型

    C89标准中没有定义布尔类型: C99中增加了_Bool类型.实际上是只能等于0或1的整数类型,凡是不为0的整数都被转变为1, C99还提供了一个头文件<stdbool.h>,该头文件提供 ...

  2. Java基础教程——使用Eclipse快速编写Java输入输出代码

    Eclipse安装 IDE:Integrated Development Environment,集成开发环境.好比是全自动洗衣机. 此处使用[eclipse-jee-4.6-neon-3-win32 ...

  3. 【证书】curl 和 java 请求报证书错误

    1. 说明: 以下:例子的域名因为工作环境的问题,被我拿自己的博客域名替代了,所以无法进行模拟测试,请珍重,哈哈! 2. 环境: centos:7.5 java jdk:1.8.0_74 3. cur ...

  4. 利用Postman和Chrome的开发者功能探究项目

    利用Postman和Chrome的开发者功能探究项目 controller层研究 前两天忙着写开题报告,没有来得及做项目,今天继续研究一下这个项目. 上次研究到后端的DAO层,研究了一下后端和数据库交 ...

  5. Java数据结构(十二)—— 霍夫曼树及霍夫曼编码

    霍夫曼树 基本介绍和创建 基本介绍 又称哈夫曼树,赫夫曼树 给定n个权值作为n个叶子节点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称为最优二叉树 霍夫曼树是带权路径长度最短的树,权值较 ...

  6. java中的强引用(Strong reference),软引用(SoftReference),弱引用(WeakReference),虚引用(PhantomReference)

    之前在看深入理解Java虚拟机一书中第一次接触相关名词,但是并不理解,只知道Object obj = new Object()类似这种操作的时候,obj就是强引用.强引用不会被gc回收直到gc roo ...

  7. charles功能(四) 模拟 接口404/403返回值(blacklist方法)

    1.tools-->blacklist 2.允许启用黑名单选择接口返回错误的形式 (404或者403),添加接口地址并保存 3.再次请求效果如下

  8. PyQt(Python+Qt)学习随笔:QTreeWidgetItem项子项展开相关方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项如果一个项有子项,可以调用setE ...

  9. 问题:PyCharm调试方法smart step into的用途

    smart step into为智能单步跟踪,当一行代码中有多个函数,想进入其中一个函数调测其他函数不进入调测时,使用该功能可以让调试人员选择进入的函数.如: 就可以选择需要调试进入的函数而其他两个函 ...

  10. PyQt(Python+Qt)学习随笔:Qt Designer组件属性编辑界面中对话窗QDialog的modal属性

    modal属性表示窗口执行show()操作时是以模态窗口还是非模态窗口形式展示,缺省为False,设置该值与QWidget.windowModality的值设置为 Qt.ApplicationModa ...