在AWS中的Jenkins框上部署到Apigee - 如何修复错误,'字符串\" - \"评论中不允许这样做。'?

时间:2016-12-20 00:31:21

标签: amazon-web-services jenkins deployment ansible apigee

我可以在我的本地计算机上部署到Apigee,但是当我尝试从位于AWS的Jenkins框中执行此操作时,我收到一个奇怪的错误:'字符串\" - \"在评论中不允许。'

这里有完整的错误:

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中搜索。在某些文件中有一些正常的XML注释,但是没有" - "在评论中的情况。)

我用来启动触发Apigee部署的脚本的Ansible代码是:

- name: execute deploy.sh script
  command: bash -lc "bash deploy.sh"
  register: deploy_script_output
  args:
    chdir: "{{ deploy_subdir }}"

我也尝试了几种变体,例如使用" shell:"和"脚本:"但它似乎没有任何区别。

它抱怨的.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>

&#34; #common_code#&#34;是一个&#34;片段&#34;这是从其他地方通过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文件&#34; - &#34;它不应该在哪里,但我找不到它。

当我在本地计算机上运行部署脚本时,它真的很奇怪,它有效,这让我怀疑它是问题的文件内容。这是一些奇怪的环境原因。

有没有人有想法?我完全被这个困惑了。

1 个答案:

答案 0 :(得分:0)

我删除了所有文件中的所有XML注释,并通过了错误。这没有任何意义,因为所有评论都是格式良好的XML,而且没有一个评论是&#34; - &#34;在评论里面。但是无所谓。我现在正在进行下一个错误。 : - )