我正在寻找在工作中实现gitflow分支模型,首先在http://nvie.com/posts/a-successful-git-branching-model/或在atalssian网站https:// www. atlassian.com/git/workflows#!workflow-gitflow.有一件事困扰我,我正在寻求澄清.一旦我们有一个发布分支并认为它准备就绪,我们将其交付给QA.他们进行测试并且有一些来回的错误报告和修复,最后我们达到了一个点,我们从发布分支交付QA并且他们接受它,所以它准备发布.在这一点上,我认为你会
a)运输与生产接受的完全相同的构造
b)标记完成此构建的git repo代码,该代码将指向发布分支的末尾
c)做其他簿记,将发布分支合并回dev和master
相反,gitflow建议我们在上面做c)并标记主分支.这意味着要么
a)我们在上面a)中发布到生产的构建与tag标记的代码完全不对应
要么
b)或者我们从新标记的主分支机构进行新的构建并发布,但这意味着我们发布的内容与QA测试和接受的内容不完全对应,它是一个新构建
这两个看起来都很糟糕.有没有人遇到类似的想法?你实施了什么解决方案.
谢谢.
由于某些与此问题无关的原因,我在bash脚本中运行Java服务器不是直接运行,而是通过单独的子shell下的命令替换运行,并在后台运行.目的是让子命令将Java服务器的进程ID作为其标准输出返回.有争议的案例如下:
launch_daemon()
{
/bin/bash <<EOF
$JAVA_HOME/bin/java $JAVA_OPTS -jar $JAR_FILE daemon $PWD/config/cl.yml <&- &
pid=\$!
echo \${pid} > $PID_FILE
echo \${pid}
EOF
}
daemon_pid=$(launch_daemon)
echo ${daemon_pid} > check.out
Run Code Online (Sandbox Code Playgroud)
有问题的Java守护进程打印到标准错误并在初始化时出现问题而退出,否则它会关闭标准错误和标准错误并继续运行.稍后在脚本(未显示)中进行检查以确保服务器进程正在运行.现在问题.
每当我检查上面的$ PID_FILE时,它在一行中包含正确的进程ID.
但是当我检查文件check.out时,它有时包含正确的id,有时它包含在由空格charcater分隔的同一行上重复两次的进程id,如下所示:
34056 34056
Run Code Online (Sandbox Code Playgroud)
我在稍后的脚本中使用变量$ daemon_pid在脚本中检查服务器是否正在运行,因此如果它包含重复两次的pid,则完全抛出测试并且它错误地认为服务器没有运行.通过输入更多的echo语句来摆弄运行CentOS Linux的服务器盒上的脚本似乎将行为转回到包含进程id的$ daemon_pid中的正确的一个,但如果我认为已修复它并检入这个脚本到我的源代码仓库并再次进行构建和部署,我开始看到同样的不良行为.
现在我已经通过假设$ daemon_pid可能不好并通过awk传递它来解决这个问题,如下所示:
mypid=$(echo ${daemon_pid} | awk '{ gsub(" +.*",""); print $0 }')
Run Code Online (Sandbox Code Playgroud)
然后$ mypid总是包含正确的进程ID,事情很好,但不用说我想理解为什么它的行为方式.在您提出要求之前,我已经查看并查看了但是有问题的Java服务器在关闭标准输出之前不会将其进程ID打印到其标准输出.
真的很感谢专家的意见.
我们有一个Neo4J 2.1.3数据库,我们有一个唯一性约束,创建如下:
CREATE CONSTRAINT ON(segment:SEGMENT)ASSERT segment.segmentId IS UNIQUE
当我们从浏览器测试时,它可以很好地检测违规行为,例如:
CREATE(n:SEGMENT {name:"duplicate",segmentId:110484})返回n
结果是
节点589已存在,标签为SEGMENT,属性为"segmentId"= [110484]
Neo.ClientError.Schema.ConstraintViolation
这很好.
我们有一个负载测试仪设置,每个盒子有3台机器和多个线程,使用Cypher over REST与Neo4J交谈,并使用事务端点创建类似于上面的内容(当然还有更多与我们应用程序相关的属性),并始终写入HA设置中的Neo4J主站.
我们可以在该设置中可靠地重现多次违反Neo4J未捕获的唯一性约束,它们无错误地执行,并且在生成的数据库中我们可以看到具有SEGMENT标签的多个节点以及segmentId属性的相同值(我们是故意的为我们的测试生成重复的segmentId值).
其他人遇到同样的问题?这是一个Neo4J错误吗?
谢谢.