Мне нужно использовать задачу scp для переноса целой папки со многими подпапками и файлами. В настоящее время я использую следующий способ:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>validate</phase>
<configuration>
<tasks>
<mkdir dir="${project.build.directory}/yy" />
<scp file="user:password@host:/home/xx/yy/*" todir="${project.build.directory}/yy" trust="yes"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-jsch</artifactId>
<version>1.7.1</version>
</dependency>
</dependencies>
</plugin>
И это также работает, если я жестко кодирую имя пользователя и пароль. Но я не хочу делать эту публикацию c в кодовой базе. Поэтому я сохраняю его в maven-настройках. xml как показано ниже:
pom. xml
<scp file="${scpUserName}:${scpUserPassword}@company.net:/home/xx/yy/*" todir="${project.build.directory}/yy" trust="yes"/>
settings. xml
<profiles>
<profile>
<id>unix</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<properties>
<scpUserName>xxx</scpUserName>
<scpUserPassword>xxx</scpUserPassword>
</properties>
</profile>
</profiles>
Но мне все еще нужно сделать имя пользователя / пароль publi c на сервере Teamcity, чтобы все серверы агентов могли успешно построить весь проект. Интересно, есть ли лучший способ для этого?