本文共 2463 字,大约阅读时间需要 8 分钟。
mvn只是众多项目工具构建的一个,如果项目是gradle构建的,就用gradle,如果是c语言就用c的构建
重新下载jenkins包,直接通过tomcat来运行,安装,复制rpm包中的war格式文档到tomcatwebapps目录下 解锁,直接安装推荐的 另外一个主机的jenkins第一次登录需要输入管理员账号 账号密码admin,不输入可以点continue 系统管理有管理插件,可以选择插件 系统管理,系统设置,需要设置tomcat,utf-8的编码,url encoding =utf-8 不设置这个了,设置新装的即可 系统设置,配置jenkins的整个环境 可以理解为线程, 如何与你的代码仓库进行交互的 162和163是允许远程方式接收 发送邮件的 全局工具设定,需要做下设置 可以选择自动安装, 也可以自定义,可以多版本并存,/usr/会自动找bin gradle新版本的构建工具,ant更老,用脚本构建,主流是maven,/iusr,意思就是bin的父目录 docker要做集成急需要配置docker工具 启动docker服务 如果想要基于tomcat接口部署的话,可以找他的插件工具 jenkins用的多的还是build方面 这里是使用capistraino发布的 使用tomca自己的manager部署,创建一个项目 一般使用两种,构建自由风格的软件项目 pipeline 流水线,测试,释出,交付,发布,部署 代码一般放github,或者svn,gitlab 参数化构建可以自定义参数 第一步给一个代码的路径 源码管理,要提供登录账号才能进行管理的 或者ssh密钥 **一旦代码更新需要构建触发器 可以使用脚本 * 2.在其他项目构建好触发,指定哪个项目构建好了,再构建一次 周期性构建,没改变是不会构建的 如果对应github上的hook钩子,注册监听一个钩子,钩子变化,就可以自动下载构建 轮询,有改变的构建 每5分钟构建一次构建如何构建 选择一个顶级maven项目构建 这种方式有可能会出错 也可以使用脚本构建 先保存下来 先不做构建操作把这个项目先保存下来,这个项目就定义好了,可以选择立即构建 可以看到进度,有build,successful 就表示成功 太阳表示成功完成 可以到jenkins的工作目录下来查看构建的内容 构建 的跟之前手动构建的一样 想要构建好自动部署到tomcat,修改下tomcat配置 重要的角色manager-script,如果不打算用手动的图形 界面发布,让用户属于这个角色即可 重新配置一下构建任务 找一个插件,deploy-containers 安装好重启jenkins之后生效 继续配置 构建后端步骤应该多了 ** * 代表前缀是任何字符 保存路径随便取一个名,选择对应的tomcat几,远程链接部署的tomcatmanager账号 发生了错误 安装webapps 把两次错误删除 立即构建 部署成功 代码没有改变所以没有重新编译 文件名也被jenkins自动改成了test-spring 代码改变了会手动触发构建,否则5分钟自动完成构建随便找个节点试一下,把代码重新复制一份,改一下内容再推上去
到父目录下仓库有路径 定义好之后就要提交 git log 可以看下此前的提交 提交完成,往远程服务器上推,输入账号密码成功 ,就可以做push操作 4.2已经上了 有了新版本就可以拉下来重新构建了 可以看到新版本页面了 5分钟会自动下载下来构建发布 可以有多个部署 在这里做不成灰度发布,要完成灰度发布,需要先一个脚本 1.下来一些服务器,往上发,下来一些服务器,再往上发 主机down,还有符号链接指向新的目录想回滚此前的版本有哪些
github有很多版本,构建的时候拖指定的版本即可,拖的时候是整个仓库,构建的时候选择 指定版本,而不捡出最新的版本,构建针对指定的版本进行构建了 有了标签,可以做参数化构建,就可以根据参数来回滚有一篇文字可以帮你实现滚动发布
http://blog.ramanshalupau.com/parameterized-jenkins-build-for-rollback-purposes 指定所谓参数化的构建来定义一个参数 变量名 变量值 description可以指明基于那个标签来构建 依然可以使用github仓库 符号当作引用逻辑 打算构建哪个版本 传一个版本号就能完成构建了 把现在的代码打个标签 想改个内容,弄成1.1版本推上去 git commit顺便加上标签,再往上推,tag最好合version保持一致 git add . 要有 现在构建一下看看效果 git push 把标签推上去 重新克隆下来老的版本 刚才只是把tags推上去,没有把内容推上去 换个版本 就成功了 现在把tag推上来 换个目录。代码clone下来会不会有 标签推上去没有任何问题 构建一次 没有问题 现在弄一个8.1的版本,配置一个参数化构建 给一个名字,VERSION 默认值没有,没有lates这一说 如果有远程对应的tag会显示,克隆的时候并没有把这些tag拿下来指明构建哪个分支
远程仓库对应到本地都叫origin,$version自己定义tags下的version,中间冒号隔开 选择参数化构建 没问题。现在腿上一个新版本再倒回来 git add .添加所有内容 代码推上去了,下面推tag 现在改成8。1‘8.0回滚 回来了 现在就可以按需进行回滚了可以实现蓝绿发布 定义一个脚本可以接受参数,一批发几个,把服务器分组,这个组就是用户传递的参数
测试的话让测试人员写个脚本,你加到pipeline即可zabbix server 把agent部署 到每一个主机上,有必要部署一个ELK,基于geo展示 应用程序还有开发环境,代码仓库应该放到gitlab上,部署一个jenkinsserver发布到tomcat主机上
转载地址:http://wjkgn.baihongyu.com/