在 AWS 中的 Jenkins 盒子上部署到 Apigee - 如何修复错误 'The string \"--\" is not permitted within comments.'?
Deploying to Apigee on a Jenkins box in AWS - how do I fix the error, 'The string \"--\" is not permitted within comments.'?
我可以在我的本地机器上部署到 Apigee,但是当我尝试从位于 AWS 中的 Jenkins 盒子进行部署时,我收到一个奇怪的错误:'The string \"--\" is not permitted within comments.'
这是完整的错误:
XMLFileListUtil:140
=============Searching for XML files in the following directory ================
/var/lib/jenkins/jobs/company-apigee-proxy-deploy-nonprod/workspace/deploy/company-apigee-ourproxy/target/apiproxy/proxies
00:14:03,571 DEBUG XMLFileListUtil:144 - =============Nuber of files found is================
1
00:14:03,771 INFO FileReader:71 - ============= Reading the config file located at ================
/var/lib/jenkins/jobs/company-apigee-proxy-deploy-nonprod/workspace/deploy/company-apigee-ourproxy/config.json
00:14:03,817 ERROR ConfigureMojo:124 - The string \"--\" is not permitted within comments.
谷歌搜索此错误消息只显示一群人在 XML 评论中有“--”,而我没有。
(我已经详尽地查看了可能在 IntelliJ 中使用全文 "find in path" 搜索的所有文件。某些文件中有一些正常的 XML 注释,但没有“--”的情况一条评论。)
我用来启动触发 Apigee 部署的脚本的 Ansible 代码是:
- name: execute deploy.sh script
command: bash -lc "bash deploy.sh"
register: deploy_script_output
args:
chdir: "{{ deploy_subdir }}"
我也尝试过几种变体,比如使用 "shell:" 和 "script:",但似乎没什么区别。
它抱怨的 .XML 文件是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TargetEndpoint name="ourproxy">
<Description/>
<FaultRules>
<FaultRule name="handleTargetErrors">
#common_code#
</FaultRule>
</FaultRules>
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>
<Flows/>
<HTTPTargetConnection>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>FROM CONFIG.JSON</KeyStore>
<KeyAlias>FROM CONFIG.JSON</KeyAlias>
</SSLInfo>
<URL>FROM CONFIG.JSON</URL>
</HTTPTargetConnection>
</TargetEndpoint>
“#common_code#”是一个 "fragment",它是通过 Apigee 插件从其他地方动态引入的,其中包含:
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
我已经在我所有的 .XML 和 .JSON 文件中搜索了不应该出现的“--”,但我找不到它。
真正奇怪的是,当我 运行 在我的本地计算机上部署脚本时,它可以工作,这真的让我怀疑文件的内容是否有问题。这是一些奇怪的环境原因。
有人有想法吗?我对此完全感到困惑。
我删除了我所有文件中的所有 XML 评论,并克服了错误。这是没有意义的,因为所有评论都是格式正确的 XML,并且其中 none 在评论中有“--”。但是无所谓。我现在要处理下一个错误。 :-)
我可以在我的本地机器上部署到 Apigee,但是当我尝试从位于 AWS 中的 Jenkins 盒子进行部署时,我收到一个奇怪的错误:'The string \"--\" is not permitted within comments.'
这是完整的错误:
XMLFileListUtil:140
=============Searching for XML files in the following directory ================
/var/lib/jenkins/jobs/company-apigee-proxy-deploy-nonprod/workspace/deploy/company-apigee-ourproxy/target/apiproxy/proxies
00:14:03,571 DEBUG XMLFileListUtil:144 - =============Nuber of files found is================
1
00:14:03,771 INFO FileReader:71 - ============= Reading the config file located at ================
/var/lib/jenkins/jobs/company-apigee-proxy-deploy-nonprod/workspace/deploy/company-apigee-ourproxy/config.json
00:14:03,817 ERROR ConfigureMojo:124 - The string \"--\" is not permitted within comments.
谷歌搜索此错误消息只显示一群人在 XML 评论中有“--”,而我没有。 (我已经详尽地查看了可能在 IntelliJ 中使用全文 "find in path" 搜索的所有文件。某些文件中有一些正常的 XML 注释,但没有“--”的情况一条评论。)
我用来启动触发 Apigee 部署的脚本的 Ansible 代码是:
- name: execute deploy.sh script
command: bash -lc "bash deploy.sh"
register: deploy_script_output
args:
chdir: "{{ deploy_subdir }}"
我也尝试过几种变体,比如使用 "shell:" 和 "script:",但似乎没什么区别。
它抱怨的 .XML 文件是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TargetEndpoint name="ourproxy">
<Description/>
<FaultRules>
<FaultRule name="handleTargetErrors">
#common_code#
</FaultRule>
</FaultRules>
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>
<Flows/>
<HTTPTargetConnection>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>FROM CONFIG.JSON</KeyStore>
<KeyAlias>FROM CONFIG.JSON</KeyAlias>
</SSLInfo>
<URL>FROM CONFIG.JSON</URL>
</HTTPTargetConnection>
</TargetEndpoint>
“#common_code#”是一个 "fragment",它是通过 Apigee 插件从其他地方动态引入的,其中包含:
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
<Step>
<Name>am_common_redacted</Name>
</Step>
我已经在我所有的 .XML 和 .JSON 文件中搜索了不应该出现的“--”,但我找不到它。
真正奇怪的是,当我 运行 在我的本地计算机上部署脚本时,它可以工作,这真的让我怀疑文件的内容是否有问题。这是一些奇怪的环境原因。
有人有想法吗?我对此完全感到困惑。
我删除了我所有文件中的所有 XML 评论,并克服了错误。这是没有意义的,因为所有评论都是格式正确的 XML,并且其中 none 在评论中有“--”。但是无所谓。我现在要处理下一个错误。 :-)