簡體   English   中英

從 pom.xml 外的命令行運行 maven 插件

[英]Running maven plugin from command line outside pom.xml

下面是 maven 的 snyk 插件設置。 我已經在 pom.xml 中設置了插件。 我配置了在管道中設置的 maven。 以下配置有一個秘密 API_TOKEN。 將 API_TOKEN 設置為除默認管道文件之外的任何文件中的變量都不起作用。 所以我正在探索一些在管道文件中設置和運行插件的方法,即在 mvn 命令行中訪問和運行插件,例如 mvn my-plugin:my-goal -Dplugin.property=ABC。

但我不確定如何調用 snyk 插件並在構建/安裝/部署命令期間運行。

<plugin>
                <groupId>io.snyk</groupId>
                <artifactId>snyk-maven-plugin</artifactId>
                <version>1.2.5</version>
                <executions>
                    <execution>
                        <id>snyk-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>snyk-monitor</id>
                        <phase>install</phase>
                        <goals>
                            <goal>monitor</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <apiToken>${SNYK_TOKEN}</apiToken>
                    <failOnSeverity>high</failOnSeverity>
                    <org>MDA</org>
                </configuration>
            </plugin>

該團隊剛剛發布了該插件的新版本。 這是github 存儲庫

例子

<build>
  <plugins>
    <plugin>
      <groupId>io.snyk</groupId>
      <artifactId>snyk-maven-plugin</artifactId>
      <version>2.0.0</version>
      <inherited>false</inherited>
      <executions>
        <execution>
          <id>snyk-test</id>
          <goals>
            <goal>test</goal>
          </goals>
        </execution>
        <execution>
          <id>snyk-monitor</id>
          <goals>
            <goal>monitor</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <apiToken>${env.SNYK_TOKEN}</apiToken>
        <args>
          <arg>--all-projects</arg>
        </args>
      </configuration>
    </plugin>
  </plugins>
</build>

默認情況下,現在snyk-test鏈接到mvn test monitor默認連接到mvn install階段。 顯然,您可以像下面這樣更改它。

<executions>
   <execution>
       <phase>verify</phase>
       <id>snyk-test</id>
       <goals>
           <goal>test</goal>
       </goals>
   </execution>
   <execution>
       <phase>none</phase>
       <id>snyk-monitor</id>
       <goals>
           <goal>monitor</goal>
       </goals>
   </execution>
</executions>

第一個示例中的 API 令牌指的是環境變量。

有關更多信息,這篇博客文章可能會提供更完整的概述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM