当版本和标记保持不变,但在(重新)发布试用之间更改协议的内容时,我们现在面临着将协议重新发布到代理的问题
最近,我们的CICD开始使用全新的协定代理服务器,该服务器取代了旧的协定代理服务器。 旧的经纪人图片来自dius / pact-broker 新经纪人图片来自pactfoundation / pact-broker(最新)
要发布公约,我们使用“ pact:publish” maven插件命令
方案: (试验之间的projectVersion和tag的值相同)
契约代理日志上的错误显示如下:
2019-09-18 08:38:50.512340 E [9:puma 001 Representative.rb:83]根-PG :: UniqueViolation:错误:重复的键值违反了唯一约束“ unq_latest_ppid_prov_conver” 详细信息:密钥(provider_id,consumer_version_id)=(15,39)已经存在。:插入到“ latest_pact_publication_ids_for_consumer_versions”(“ consumer_version_id”,“ provider_id”,“ pact_publication_id”,“ consumer_id”,“ pact_version_VALUE”) 71,16,48)返回空 2019-09-18 08:38:50.513334 E [9:puma 001 logging.rb:37]根-错误参考YouFegbNWY-Sequel :: UniqueConstraintViolation PG :: UniqueViolation:错误:重复的键值违反了唯一约束“ unq_latest_ppid_prov_conver” 详细信息:密钥(provider_id,Consumer_version_id)=(15,39)已经存在。
我希望条约代理人可以让我用相同的版本和标签替换现有的条约内容,换成新的(据我所知-在“旧的”条约经纪人中效果很好)
答案 0 :(得分:1)
问题使用了错误的Postgress DB版本。