与詹金斯一起连续交付Heroku

jenkins徽标 如果您安装了Jenkins Git插件,那么利用Jenkins并针对Heroku的连续交付管道的设置就非常简单。 通过此管道,对特定Git分支的更改将导致Heroku部署。

为了使此部署过程正常运行,您应该至少使用两个Git分支,因为您希望有一个针对自动部署的分支,而另一个没有针对(因为它表示活动的开发)。 例如,遵循git-flow约定,这两个分支可以命名为developmentmaster ,其中对master更改被部署到Heroku而对development更改则未被部署。 因此,您将至少有两个Jenkins作业监视每个分支。

自然地,该管道过程与语言无关-Node , Ruby , Java-在构建过程中做什么都不重要,因为整个过程都是通过Git进行编排的。

当从Jenkins进行Heroku自动部署时, 不要理会Heroku的API,因为使用Jenkins的Git发布者功能将分支从您的存储库推送到Heroku(无论如何都使用Git)要容易得多。

在较高的层次上,您需要定义一个Jenkins作业来监视您的master Git分支。 如果有更改,此作业将运行您的构建需要执行的任何操作,并且作为构建后的步骤,您可以将该分支发布到Heroku。 就这么简单。

要配置此管道,您将需要Git插件 。 安装了Git插件后,创建一个作业,然后在“源代码管理”部分中,添加您的源Git存储库,然后添加另一个存储库,即Heroku远程存储库。

scm-詹金斯1

确保为Heroku存储库命名为heroku 。 通过单击“凭据”部分下的“高级”按钮可以完成此操作。

其次,在“构建后操作”部分中,将配置一个Git Publisher。

git-pub

在这种情况下,您要发布到的Git存储库将是先前定义的Heroku。 点击“添加分支”按钮,并确保将master分支指示为要推送的分支,并且“目标”远程名称应是您在“源代码管理”部分(即heroku )中为远程Heroku存储库指定的名称。

scm-詹金斯2

根据完成工作的方式设置构建触发器,构建完成后,Jenkins会将生成的快照推送到Heroku存储库中, 从而进行部署 ! 现在不是那么容易吗,伙计?

参考: The Disco Blog博客上我们JCG合作伙伴 Andrew Glover 与Jenkins的Heroku连续交付 。

翻译自: https://www.javacodegeeks.com/2014/01/continuous-delivery-for-heroku-with-jenkins.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Goland软件使用教程(二)

Goland软件使用教程(二)一、编码辅助功能 1. 智能补全 IDE通过自动补全语句来帮助您来编写代码。快捷键“Ctrlshift空格”将会给你一个在当前上下文中最相关符号的列表,当您选择一个建议时,它会相应的将有关包导入到你的当前…

Vue style里面使用@import引入外部css, 作用域是全局的解决方案

问题描述 使用import引入外部css&#xff0c;作用域却是全局的 <template></template><script>export default {name: "user"}; </script><!-- Add "scoped" attribute to limit CSS to this component only --> <styl…

java输出减法表,Calendarjava时间加减法和格式化输出

Calendar calendar Calendar.getInstance();//减三天calendar.add(5, -3);//将Calendar类型转换成Date类型Date tasktimecalendar.getTime();//设置日期输出的格式//六天calendar.add(5, 6);Date tasktime2calendar.getTime();SimpleDateFormat dfnew SimpleDateFormat("…

集合对象根据某个字段首字母排序

import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Locale;/*** 排序后的对象集合* param list* return*/public Li…

Storm Trident拓扑中的错误处理

这篇文章总结了我在设计Storm Trident拓扑时当前的错误处理方法。 我在这里关注代码设计&#xff0c;而不是监督或冗余之类的部署良好实践。 由于Storm的实时流性质&#xff0c;当面对大多数错误时&#xff0c;我们最终将不得不移至下一个数据。 在这种情况下&#xff0c;错误…

vue路由知识整理

vue路由知识整理 对于单页应用,官方提供了vue-router进行路由跳转的处理.我们已经可以通过组合组件来组成应用程序&#xff0c;当你要把 vue-router 添加进来&#xff0c;我们需要做的是&#xff0c;将组件(components)映射到路由(routes)&#xff0c;然后告诉 vue-router 在哪…

ATS日志说明

ATS日志说明 转&#xff1a;http://www.safecdn.cn/在ATS日志中我们经常遇到形形色色的缓存结果码&#xff0c;为了更清晰地认识它们&#xff0c;相关资料整理到这里&#xff1a;TCP_HIT请求对象的一份合法拷贝被缓存&#xff0c;ATS将发送该对象给clientTCP_MISS请求对象未缓存…

leetcode 134. 加油站(Gas Station)

目录 题目描述&#xff1a;示例 1:示例 2:解法&#xff1a;题目描述&#xff1a; 在一条环路上有 N 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的…

在JUnit中测试预期的异常

单元测试用于验证一段代码是否按照开发人员的预期运行。 有时&#xff0c;这意味着检查代码是否也会引发预期的异常。 JUnit是Java单元测试的标准&#xff0c;并提供了几种验证抛出异常的机制。 本文探讨了这些选项及其相对优点。 以下面的简单代码段为例。 除了编写测试以确保…

php session 效率,大量php session临时文件带来的服务器效率问题

早上流量有点大&#xff0c;网站出口流量大概5M左右&#xff0c;访问质量却不太好&#xff0c;Web响应比较慢&#xff0c;切系统负载很高。检 查了下各web节点&#xff0c;所有web服务器的httpd线程均达到满负荷&#xff0c;很奇怪。因为所有web节点都通过nfs来共享session目录…

安卓第三次作业

<?xml version"1.0" encoding"utf-8"?> <uses-sdkandroid:minSdkVersion"8"android:targetSdkVersion"18" /> <uses-permission android:name"android.permission.RECORD_AUDIO" /> <uses-permissio…

[vue插件]基于vue2.x的电商图片放大镜插件

最近在撸一个电商网站&#xff0c;有一个需求是要像淘宝商品详情页那样&#xff0c;鼠标放在主图上&#xff0c;显示图片放大镜效果&#xff0c;找了一下貌似没有什么合适的vue插件&#xff0c;于是自己撸了一个&#xff0c;分享一下。小白第一次分享&#xff0c;各位大神莫见笑…

洛谷 P1968 美元汇率

传送门 我在下面哦~~ Im here 思路 这是一道比较简单的DP题 美元可由马克转化得到&#xff0c;马克可由美元转化得到&#xff0c;最后要求最大的美元值 我们可以用f数组来记录最大能达到多少马克和多少美元。 定义一个\(f[N][3]\)的数组&#xff0c;第一维表示到达了第i天 \(f[…

玩JerseyTest(Jersey 2.5.1和DI)

我将尝试解释一个简单的REST示例。 这个想法是建立一个基本的架构来开始使用Jersey。 当我开始使用某些框架时&#xff0c;通常会开发一个快速失败的测试环境&#xff0c;这就是我要做的。 下一个示例具有以下功能&#xff1a; 泽西岛2.5.1 依赖注入 用于测试的JUnit 类&a…

MySQL之视图、触发器、事务、存储过程、函数

一. 视图 视图是一个虚拟表&#xff08;非真实存在&#xff09;&#xff0c;是跑到内存中的表&#xff0c;真实表是硬盘上的表&#xff0c;怎么就得到了虚拟表&#xff0c;就是你查询的结果&#xff0c;只不过之前我们查询出来的虚拟表&#xff0c;从内存中取出来显示在屏幕上…

php送数据找不到表,php – 数据源默认值中找不到的模型表

我正在创建一个cakephp 2.x应用程序.在开发过程中途,我突然发现自己有一个“找不到表”的错误.Missing Database TableError: Table blocked for model Parental was not found in datasource default.Notice: If you want to customize this error message, create project\Vi…

break、continue、return的区别

break、continue、return的区别 break&#xff1a;表示中断&#xff0c;可以在switch case中或循环中 使用 当遇到break 则结束当前整个switch case 或 循环 continue&#xff1a;表示继续&#xff0c;只能在循环中使用&#xff0c;当遇到continue时&#xff0c;则结束本次&…

原生JS封装ajax以及request

一、封装原生的xhr为ajax类 xhr以及用法见之前的文章1、根据url确定请求的头部以及别的信息。 var _headerConfig {};if(url.indexOf(getcaptcha) ! -1) {_headerConfig {Accept: image/png,responseType: arraybuffer,}} else if(url.indexOf(files/upload) ! -1) {_headerC…

Java 8 Friday Goodies:SQL ResultSet流

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 &#xff0c;现在我们觉得是时候开始一个新的博客系列了…

java类型转换答案,在java中支持两种类型的类型转换,自动类型转换和强制类型转换。父类转化为子类需要强制转换。...

在java中支持两种类型的类型转换,自动类型转换和强制类型转换。父类转化为子类需要强制转换。更多相关问题计算机病毒通过()传染扩散得极快&#xff0c;危害最大。当一个现象的数量由小变大&#xff0c;另一个现象的数量相反地由大变小&#xff0c;这种相关称为()。输油管道沿线…