-
自动化构建
2015-07-06 10:02:05GNU autotools:libtool CMake:mysql Scons:mongodbGNU autotools:libtool
CMake:mysql
Scons:mongodb
-
【Jenkins自动化部署】监控服务自动化构建
2020-09-09 10:34:06Jenkins 系列会从 Ubuntu的服务端部署、 Linux节点的Python服务自动化构建、 Windows节点Python服务自动化构建、 Vue服务自动化构建、 监控服务自动化构建、 用户权限控制 几个方面进行介绍系列文章目录
第一章 Ubuntu部署Jenkins服务端
第二章 Linux节点的Python服务自动化构建
第三章 Windows节点Python服务自动化构建
第四章 Vue服务自动化打包构建
第五章 监控服务自动化构建
监控服务自动化构建
- 配置丢弃旧的构建
- 配置限制运行节点
- 设置定时构建触发器
- 选择Http Request构建 (需要 HTTP Request Plugin 插件)
- 配置异常邮件通知列表 (需要
Email Extension Plugin 插件)
定时构建
定时构建语法
* * * * * 第一颗*表示分钟,取值0~59 第二颗*表示小时,取值0~23 第三颗*表示一个月的第几天,取值1~31 第四颗*表示第几月,取值1~12 第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
示例表示每十分钟构建一次
构建
安装完 HTTP Request Plugin 插件后 可以在 增加构建步骤 中看到 HTTP Request 选项,每次构建时会触发一次HTTP请求。
可以指定
- 请求路由
- 请求方式
- 认证信息
- Header
- 请求参数
- 上次文件
- 请求响应
示例是一个简单的请求,正常响应返回 OK 字符串
构建后操作
这个是一个监控任务,每10分钟请求一次目标路由,正常响应OK 不走其他操作,响应异常时给用户发送邮件通知。
收件人是多个时用空格分隔。
邮箱配置
系统管理 -> 邮件通知 点击高级
我使用的是qq邮件,使用SMTP认证需要在发件人邮箱进行配置- 登录发件人邮箱
- 邮箱设置
- 账户
- POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
- 开启POP3/SMTP服务
- 获取授权码
- 将密码填写到 使用SMTP认证 的密码栏中
- 通过发送测试邮件测试配置
- 查看测试邮件
开始构建
如果想手动测试任务的配置,可以点击 立即构建
构建日志
-
【Jenkins自动化部署】Linux节点的Python服务自动化构建
2020-09-08 16:51:10Jenkins 系列会从 Ubuntu的服务端部署、 Linux节点的Python服务自动化构建、 Windows节点Python服务自动化构建、 Vue服务自动化构建、 监控服务自动化构建、 用户权限控制 几个方面进行介绍系列文章目录
第一章 Ubuntu部署Jenkins服务端
第二章 Linux节点的Python服务自动化构建
第三章 Windows节点Python服务自动化构建
第四章 Vue服务自动化打包构建
第五章 监控服务自动化构建
Linux节点的Python服务自动化构建
首先介绍下前提条件:节点服务器有Python运行环境
Linux节点配置
节点列表
可以点击
构建执行状态
进入节点列表
也可以点击系统管理
的节点管理
进入节点列表节点列表
新建节点
填写节点名称 选择固定节点 或者 复制现有节点的 配置
- 执行器数 是服务器可以同时进行构建的个数,单一服务器上的部署的项目比较多时,可以增加执行器数量来加快构建速度
- 远程工作目录 是Jenkins远程的服务,采集器、项目工作目录都会创建在这个工作目录下
- 用法 我选择的指定机器的任务
- 启动方式 Launch agents via SSH 没有这个选项的查看下已安装的插件
- 添加服务器凭据
配置好就可以
保存
并 上线节点了上线后的节点 就可以在点在列表中看到了
此时登录服务器 可以看到远程工作目录下会有 如下的文件
SVN操作
- 有权限的SVN URL 和 用户账户信息
- 在项目服务下创建 master 目录 作为开发目录使用
- 在项目服务下创建 release 目录 作为Tags目录使用 在下面的构建参数 svn_release 中使用
- 创建 Tags 到 release 目录
创建目录
创建Tags
填写要保存的 版本名称 和 版本描述,点击 OK
创建任务
新建任务
新建任务
填写任务名称
选择构建一个自由风格的软件项目
构建参数
构建参数我这里添加了:
- gunicorn_path(启动FastAPI项目)
- port 启动端口 下面的构建 shell 中有用到
- workers 启动线程数端口 下面的构建 shell 中有用到
- main_file 项目构建时 代码会更下在 workspace 目录下的 有任务名称命名的目录下,$JOB_NAME 是获取任务名称,这样可以方便重启时定位进程 下面的构建 shell 中有用到
- app_name 意义不大 下面的构建 shell 中有用到
- deploy_env 执行的操作 分为 restart start stop
- svn_release 加载项目的 tags,展示最新的 50 tags 没有这个参数时 需要安装 Jenkins SVN 插件 下面的源码管理 URL 中有用到
源码管理
源码管理这个的 SVN URL ,每次构建时会在工作目录下 更新 选择的svn_release版本对应的 源码,以实现 版本控制的 效果。
构建
执行shell 分为三个情况,执行情况由构建参数 deploy_env 决定
- start 使用gunicorn启动项目
- restart 根据 main_file 杀死旧的进程并启动新的代码
- stop 根据 main_file 杀死旧的进程
- BUILD_ID=dontKillMe解决 Jenkins shell 无法后台运行的问题
echo $deploy_env case $deploy_env in start) echo "start: $deploy_env" cd .. \ && BUILD_ID=dontKillMe $gunicorn_path/gunicorn $main_file:$app_name -b 0.0.0.0:$prot -w $workers -k uvicorn.workers.UvicornH11Worker --daemon ;; restart) echo "restart: $deploy_env" pid=` ps -ef|grep $main_file|grep -v "grep"|awk '{print $2}'` for id in $pid do kill -9 $id done cd .. \ && BUILD_ID=dontKillMe $gunicorn_path/gunicorn $main_file:$app_name -b 0.0.0.0:$prot -w $workers -k uvicorn.workers.UvicornH11Worker --daemon ;; stop) echo "stop: $deploy_env" pid=` ps -ef|grep $main_file|grep -v "grep"|awk '{print $2}'` for id in $pid do kill -9 $id done ;; *) exit ;; esac
构建任务
- 选择要构建的版本
- 选择要执行的操作
- 点击开始构建
构建时的效果
构建日志
执行顺序:
- 拉取源码
- 执行shell
- 构建后操作(这里没有配)
-
自动化运维之自动化构建
2020-02-27 23:56:00说到自动化运维,我们不得不先讲讲自动化构建。在项目前期,我们每周甚至每天都要把代码包提交到开发和测试环境,然后触发人工或者自动化测试程序,如果发现了问题再等开发修复后滚动发布。在项目中期,我们可能每周...说到自动化运维,我们不得不先讲讲自动化构建。在项目前期,我们每周甚至每天都要把代码包提交到开发和测试环境,然后触发人工或者自动化测试程序,如果发现了问题再等开发修复后滚动发布。在项目中期,我们可能每周或每月需要将经过测试的代码包发布到生产环境,然后进行功能验证,直接交给用户使用。在自动化构建没有流行的时候,我们这些发布新代码包的工作,都需要人工完成,不仅效率低还很容易出错。
然而这几年随着dev ops/ai ops等概念的流行,每个公司都在实践或者准备实践dev ops,自动化构建就属于dev ops的重要部分。笔者认为这几年自动化构建有多种技术实现方式,对于中小型项目,服务器几百台而言,github+maven+jenkins+ansible/ansible tower足够完成自动化构建的任务。简单地说,我们可以实现一键发布,只要收一收邮件或者看看发布日志就结束了,边喝茶边等结果,悠哉游哉。接下来我先分别大概介绍下这些自动化构需要的技术或者工具。
github想必凡是IT行业从业人员听过或者使用过,甚至开发人员在重度使用,他也是大家俗称的全球最大的同性交友网站,哈哈哈!引用下百度百科对github的介绍。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
maven估计只有开发人员听过,他主要完成java项目的项目构建管理、项目依赖管理、软件项目持续集成、版本管理等等。比较正规的开发项目经常会用到该工具,对于运维人员,尤其是准备或者已经在做dev ops的同学来说,最好也熟悉下。
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。jenkins算是持续集成的核心平台了。
ansible是一个开源的项目,目前在github很流行,由于他只要被管理机器是安装了python的Linux系统就可以,目前主流的Linux都自带了python,例如Redhat6-7,CentOS6-7等等,所以无需在被管机器安装任何Agent就可以直接ansible对被管理机器进行操作。常见的发布任务都支持,代码包分发下载,配置修改,服务重启,甚至DB的sql操作都可以完成,凡是发布任务几乎无所不能。ansible 是基于python实现的,虽然效率不如c/c++高,但是使用起来真的很方便。
ansible tower是一个商业项目,目前已经被Redhat收购,是被封装过的ansible平台,以安全、规范著称,有钱的公司都在花钱使用他,如果IT比较穷可以先不用。
今天就先讲到这里,后续再细讲自动化构建的具体内容。谢谢!
-
【Jenkins自动化部署】Windows节点Python服务自动化构建
2020-09-08 17:43:48Jenkins 系列会从 Ubuntu的服务端部署、 Linux节点的Python服务自动化构建、 Windows节点Python服务自动化构建、 Vue服务自动化构建、 监控服务自动化构建、 用户权限控制 几个方面进行介绍 -
自动化构建-概念篇
2020-08-10 16:25:42自动化构建是前端工程化中的一个非常重要的组成部分。那再具体学习之前, 那我们先来解读一下这一个开发行业当中经常提及的常见概念。 自动化 实际上指的就是我们通过机器去代替手工完成一些工作 构建 你可以把它... -
可持续自动化构建微服务(13)jenkins 自动化构建
2018-05-29 08:14:55第十三章 Jenkins 自动化构建13、 jenkins 自动化构建13.1 构建 maven 项目 docker 镜像13.1.1 创建 maven 工程 13.1.2 添加 docker-maven 插件 13.1.3 在 jenkins 中构建一个 maven 项目在 Jenkins 首页选择“新建... -
《实战gradle》 自动化构建一 了解自动化构建
2018-08-30 11:04:21但是描述的自动化构建原理非常的透彻,所以我在阅读的同时把它记录下来,希望能帮到需要这部分内容的朋友们. 项目自动化 自动化的好处 在项目没有自动化的时候,虽然IDE给我们做了很多的事情,但是代码的... -
python自动化构建工具_七大开源自动化构建工具,程序员收好!
2020-12-18 03:34:22【IT168 评论】自动化构建工具是devops,sysadmins等开发人员的重要工具。它只是脚本或自动化将源代码编译成二进制的过程。Sysadmins可以使用构建工具来管理和更新配置文件。以下是与Linux或类Unix系统上自动构建... -
前端自动化构建-为什么使用前端自动化构建以及gulp简介
2017-11-21 21:22:08前端自动化构建-为什么使用前端自动化构建以及gulp简介 一开始接触到这个东西,真的是不知道是什么样的一个概念,所以也在网上看了一一些资料,理解一下。 1. 前端开发存在的问题 开发慢 (1) ... -
前端自动化构建工具介绍
2019-05-15 16:37:07前端自动化构建工具有: Bower,Gulp,Grunt,node,yeoman。。。 自动化构建是作为前端工程化中重要的部分,承担着若干需要解决的环节。包括流程管理、版本管理、资源管理、组件化、脚手架工具等。 流程管理 完整的... -
自动化构建-Apache Ant
2017-04-17 21:46:17自动化构建 -
Jenkins与自动化构建
2019-11-20 08:32:20Jenkins与自动化构建测试自动化构建定时构建(AUTOSMOKETEST)手动构建(SMOKE-TEST) 测试自动化构建 jenkins构建 自动化集成分为两部分:定时构建、手动构建 定时构建(AUTOSMOKETEST) 定时构建仅适用于测试环境... -
前端自动化构建工具合集之gulp
2017-01-31 23:43:32Gulp自动化构建系统,使用node.js串流让构建更的组合,利用外挂(plugins)使应用更灵活,简单的四个命令,组合起gulp强大的构建系统。通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。通过少的 ... -
【Jenkins自动化部署】Windows节点Apache+Django服务自动化构建
2020-09-11 14:16:01第二章 Linux节点的Python服务自动化构建 第三章 Windows节点Python服务自动化构建 第四章 Vue服务自动化打包构建 第五章 监控服务自动化构建 文章目录系列文章目录前言一、Config File Provider Plugin二、使用... -
前端自动化构建工具(Grunt,、Gulp、 Webpack)
2020-01-02 17:44:10本套视频主要讲解当前开发中最流行的三种自动化构建工具: Grunt, Gulp, webpack。从理解什么是构建工具,为什么要用构建工具,到如何去使用构建工具。 学习本套视频之前 建议先学习 JS 模块化。 -
自动化构建工具
2016-11-16 09:29:59Gulp用自动化构建工具增强你的工作流程! -
使用NPM Scripts实现自动化构建
2020-11-17 15:48:24自动化构建一、自动化构建简介二、使用NPM Scripts实现自动化构建2.1、分解流程2.2、整体流程三、总结 一、自动化构建简介 自动化:指的就是通过机器去代替手工去完成一些工作 构建:可以理解成转换,就是把一些东西... -
利用Jenkins实现Unity自动化构建
2019-12-31 12:23:04自动自动化构建已经成为了IT行业的标配,尤其是游戏行业,一些顶级公司的高级岗位甚至知名要求会自动化构建, 足以说明会这个技能是多么重要。 系列文章介绍 1、什么是Jenkins,为什么要用它 维基百科是这样定义的... -
gulp自动化构建工具
2021-01-11 16:50:32gulp自动化构建工具 gulp的使用 1.准备工作 (1)安装node环境 (2)使用全局安装gulp npm i gulp-cli -g (3)创建项目目录 (4)进入工作目录,执行npm init -y初始化项目,会创建一个package.json的文件,这个... -
使用Jenkins实现CocosCreator的自动化构建和发布(2)-自动化脚本
2018-09-05 13:09:26使用Jenkins实现CocosCreator的自动化构建和发布(2)-自动化构建脚本 。。。。 -
前端自动化构建工具
2019-06-12 13:42:30一、什么是自动化 构建工具 就是工程化、自动化思想在 前端开发的 体现,将一些列流程 用代码去实现,让代码自动化地执行这一系列复杂地流程,将源代码转化成可以执行地js css html; 代码转换:将 TypeScript 编译... -
自动化构建genkins
2018-01-25 11:26:12这里我要围绕着genkins讲讲自动化构建。 首先下载jenkins的jar包。 这里就有写关键词,scp(远程复制) ,ssh。 上传文件: scp D:/user/desktop/a.txt root@www.maywidehb.com:/usr1/apache/htdocs/vot/ ... -
玩转SpringBoot之MyBatisplus自动化构建工具
2019-07-13 14:10:05使用MyBatisplus自动化构建项目 -
Jenkins自动化构建Atlas Android项目配置
2018-11-12 16:02:19项目中集成了Atlas,如何能够使用Jenkins完成自动化构建呢?比如生成安装包和远程组件,生成动态部署包等 1,首先在参数化构建过程中添加一些参数 2,在构建中,选择shell 3,添加shell脚本 GRADLE... -
前端自动化构建工具gulp
2017-12-28 10:31:16前端自动化构建工具gulp -
前端工程化之自动化构建【大前端高薪训练营】
2020-12-03 00:21:01一:认识自动化构建 自动化构建原理 认识任务 任务与任务流 串行任务和并行任务 成熟的构建工具 二:自动化构建原理 1):单任务构建 2):开发构建流水线 Web开发服务器 3):生产构建流水线 三:npm script实现自动化... -
使用Jenkins配置SpringBoot的自动化构建
2017-12-06 21:56:381、使用Jenkins配置Git+Maven的自动化构建 2、Jenkins部署Maven多环境项目(dev、beta、prod)的参数设置 3、使用Generic Webhook Trigger插件实现Jenkins+WebHooks(码云)持续集成 4、使用Generic Webhook ... -
Jenkins添加Windows自动化构建方案
2017-02-27 17:38:23Jenkins添加Windows下的C/C++自动化构建方案 -
Docker + Jenkins + Github 自动化构建maven项目
2020-05-29 22:16:45Docker + Jenkins + Github 自动化构建maven项目 前期准备工作 Linux系统(外网可访问). docker安装 jenkins安装 maven工程使用github管理 实现目标 本地代码修改,提交到Github远程仓库,即可完成自动化部署。 ...
-
Qt项目实战之基于Redis的网络聊天室
-
2021-1- 31
-
STM32CubeMX Nucleo F767ZI 教程(3) 串口调试工具 Letter Shell App.zip
-
soul数据上传-HTTP
-
表锁,行锁,排他锁,共享锁,悲观锁和乐观锁
-
基于DSP两相混合式步进电机控制驱动器研究与设计
-
python办公自动化技巧
-
preflight-2.0.13.jar
-
Design and experimental demonstration of a high conversion efficiency OPCPA pre-amplifier for petawatt laser facility
-
GTA5 v1.44 无限加载故事模式解决方法.zip
-
【数据分析-随到随学】量化交易策略模型
-
软件测试基础
-
微信公众号2021之网页授权一学就会java版
-
机器学习中的归一化
-
【2021】Python3+Selenium3自动化测试(不含框架)
-
Experimental methods for warm dense matter research
-
原子光刻中原子通量的优化研究
-
MFC开发简单聊天程序
-
微信小程序之颜值测试项目(测颜值)【项目实战】
-
IPC-HDBK-830A:敷形涂层的设计、选择和应用手册-完整英文电子版(198页)