乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      linux – 如何使用scp將maven3工件部署到遠程服務器

       印度阿三17 2019-05-17

      我想擁有自己創(chuàng)建的工件的maven存儲庫,但我在嘗試將maven 3工件部署到自定義服務器時遇到問題.為了更好地解釋這一點,我將提供一些信息:

      >我正在使用Maven 3
      >我正在使用Eclipse Keppler
      >我正在使用jenkins
      >遠程服務器正在運行Ubuntu Server 11.04
      > Jenkins正在Ubuntu服務器上運行
      >我的本地計算機正在運行Windows XP

      我的第一次嘗試是用我的機器.我在Eclipse中運行Maven來進行部署,一切正常.我將以下內容添加到我的項目pom中

          <build>
                 ...
              <extensions>
                  <extension>
                      <groupId>org.apache.maven.wagon</groupId>
                      <artifactId>wagon-ssh-external</artifactId>
                      <version>1.0-beta-6</version>
                  </extension>
              </extensions>
                ...
            </build>
      
      ...
      
      <distributionManagement>
            <repository>
                <id>my server id</id>
                <name>my repository name</name>
                <url>scpexe://my server//path/to/my/repository</url>
            </repository>
        </distributionManagement>
      

      在我的settings.xml中,我添加了

      <servers>  
            <server>  
                <id>my server id</id>  
               <username>server username</username>   
               <password>server password</password> 
      
               <configuration>
                   <sshExecutable>plink</sshExecutable>
                   <scpExecutable>pscp</scpExecutable>
               </configuration>  
      
           </server>  
       </servers>  
      

      所以在我的本地機器上它可以工作,但我需要使用Jenkins來完成這項工作.我修改了Jenkins settings.xml,因為它在Linux上運行,所以不需要sshExecutable. Jenkins settings.xml看起來像

      <servers>  
            <server>  
                <id>my server id</id>  
               <username>server username</username>   
               <password>server password</password> 
      
           </server>  
       </servers>  
      

      然后我修改了pom.xml來執(zhí)行scp而不是scpexe

      <distributionManagement>
            <repository>
                <id>my server id</id>
                <name>my repository name</name>
                <url>scp://my server//path/to/my/repository</url>
            </repository>
        </distributionManagement>
      

      但根據(jù)這個頁面https://cwiki./confluence/display/MAVEN/Maven 3.x Compatibility Notes maven 3不支持scp.我以任何方式運行它,我從Jenkins日志中收到以下錯誤消息

      mavenExecutionResult exceptions not empty
      message : Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project myproject: Failed to deploy artifacts/metadata: No connector available to access repository my_repository (scp://my server//path/to/my/repository) of type default using the available factories WagonRepositoryConnectorFactory
      cause : Failed to deploy artifacts/metadata: No connector available to access repository my_repository (scp://my server//path/to/my/repository) of type default using the available factories WagonRepositoryConnectorFactory
      Stack trace : 
      

      如果我使用scpexe而不是scp,我會收到另一條錯誤消息

      mavenExecutionResult exceptions not empty
      message : Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project pruebanueva: Failed to deploy artifacts: Could not transfer artifact {$groupId}:{$artifactId}:{$package}:{$version} from/to my_repository (scpexe://my server//path/to/my/repository): Error executing command for transfer
      cause : Failed to deploy artifacts: Could not transfer artifact {$groupId}:{$artifactId}:{$package}:{$version} from/to my_repository (scpexe://my server//path/to/my/repository): Error executing command for transfer
      Stack trace : 
      

      我可以進行部署的唯一方法是分兩步完成

      >配置Jenkins以實現(xiàn)安裝目標
      >從命令行運行以下命令

      mvn deploy:deploy-file -DgroupId=$groupId -DartifactId=$artifactId
      -Dversion=$version -Dpackaging=jar -Dfile=path/to/file.jar -Durl=scp://my server//path/to/my/repository -DrepositoryId=my repository id

      我嘗試了很多東西,包括將該命令寫入Jenkins目標,但每次我在Jenkins中使用scp命令時,構建都會失敗.

      任何想法如何解決這個問題將不勝感激.

      解決方法:

      我有興趣看看是否有任何真正的Maven解決方案.我一直使用Maven Antrun插件修復此問題,如下所示:

      <profile>
        <id>deploy</id>
        <activation>
          <property>
            <name>deployment.server</name>
          </property>
        </activation>
        <build>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-antrun-plugin</artifactId>
              <version>1.7</version>
              <executions>
                <execution>
                  <phase>deploy</phase>
                  <goals>
                    <goal>run</goal>
                  </goals>
                  <configuration>
                    <target>
                      <echo>deploying to server: ${deployment.server}</echo>
                      <taskdef classname="org.apache.tools.ant.taskdefs.optional.ssh.Scp" name="scp" />
                      <scp file="${project.build.directory}/${project.artifactId}.war" password="${deployment.password}" todir="${deployment.userName}@${deployment.server}:" trust="true" verbose="true" />
                      <!-- <sshexec command="echo unity | sudo -S cp ${project.build.finalName}.jar $( if [ -e /station ]; then echo /station/lib; else echo /opt/pkg-station*/webapps/station*/WEB-INF/lib; fi )" host="${targetStation}" password="unity" trust="true" username="wps"></sshexec> -->
                    </target>
                  </configuration>
                </execution>
              </executions>
              <dependencies>
                <dependency>
                  <groupId>com.jcraft</groupId>
                  <artifactId>jsch</artifactId>
                  <version>0.1.25</version>
                </dependency>
                <dependency>
                  <groupId>org.apache.ant</groupId>
                  <artifactId>ant-jsch</artifactId>
                  <version>1.7.1</version>
                </dependency>
              </dependencies>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-deploy-plugin</artifactId>
              <version>2.7</version>
              <configuration>
                <skip>true</skip>
              </configuration>
            </plugin>
          </plugins>
        </build>
      </profile>
      

      關于此的一些注意事項:我通過運行到部署階段并提供deployment.server設置來激活此配置文件.為方便起見,我將相應的設置添加到我的settings.xml中,這樣我就不必每次都在命令行上提供這些設置:

      <profile>
          <id>alwaysActiveProfile</id>
          <properties>
              <deployment.server>10.10.10.10</deployment.server>
              <deployment.userName>userName<deployment.userName>
              <deployment.password>password</deployment.password>
          </properties>
      </profile>
      

      我跳過實際的部署目標,因為它將在我運行到部署階段時執(zhí)行,這是我不想要的.

      來源:http://www./content-3-193651.html

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多