我最近創建了一個Sauce Connect plugin for Maven,它提供了Mojos來啓動和停止醬連接過程。
這將允許您使用Cargo(可以配置爲啓動Jetty),Failsafe]和Sauce Connect的組合來實例化您的容器和Sauce Connect,運行測試並關閉容器和Sauce Connect一次測試已經完成,所有這些都可以通過調用mvn verify
來運行。
<build>
<plugins>
<!-- Include Sauce Connect plugin -->
<plugin>
<groupId>com.saucelabs.maven.plugin</groupId>
<artifactId>sauce-connect-plugin</artifactId>
<version>1.0.15</version>
<configuration>
<sauceUsername>YOUR_SAUCE_USERNAME</sauceUsername>
<sauceAccessKey>YOUR_SAUCE_ACCESS_KEY</sauceAccessKey>
</configuration>
<executions>
<!-- Start Sauce Connect prior to running the integration tests -->
<execution>
<id>start-sauceconnct</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start-sauceconnect</goal>
</goals>
</execution>
<!-- Stop the Sauce Connect process after the integration tests have finished -->
<execution>
<id>stop-sauceconnect</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop-sauceconnect</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>saucelabs-repository</id>
<url>http://repository-saucelabs.forge.cloudbees.com/release</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
我還創建了一個simple example project,這表明醬的使用連接插件一起:
醬連接Maven插件可以通過添加以下到您的pom.xml文件包含在你的項目中與貨物和Failsafe。
該插件是相當新的,所以請讓我知道如果您有任何反饋!
看起來不錯,謝謝!它是否支持在同一臺服務器上並行執行相同的構建? – yegor256
* *應支持並行執行,因爲代碼重用Sauce CI插件中包含的邏輯,這可確保每個Sauce用戶運行一個Sauce Connect實例,並且只有在最後一個調用它的進程時Sauce Connect纔會關閉完成。讓我知道如果有任何問題,但:) –