Как изменить идентификатор хранилища для развертываний в разных средах? - PullRequest
1 голос
/ 30 сентября 2019

Прямо сейчас у меня есть это в POM моего приложения для развертывания во внутреннем репозитории maven для разработки:

  <distributionManagement>
      <repository>
          <id>development-repo</id>
          <name>development-repo</name>
          <url>https://artifactory/development-repo</url>
      </repository>
      <snapshotRepository>
          <id>development-repo</id>
          <name>development-repo</name>
          <url>https://artifactory/development-repo</url>
      </snapshotRepository>
  </distributionManagement>

Но у меня также есть prod repo. то, что я хотел бы сделать, это включить оба в pom, по умолчанию для dev и иметь способ переключиться на prod из командной строки - это возможно?

Например, мои помпы будут выглядеть так:

  <!-- default to these repos so running mvn deploy will just deploy to them -->
  <repository>
      <id>development-repo</id>
      <name>development-repo</name>
      <url>https://artifactory/development-repo</url>
  </repository>
  <snapshotRepository>
      <id>development-repo</id>
      <name>development-repo</name>
      <url>https://artifactory/development-repo</url>
  </snapshotRepository>

  <!-- Have some way of passing switch to maven to deploy to prod repos (used by CI\CD server -->
  <repository>
      <id>production-repo</id>
      <name>production-repo</name>
      <url>https://artifactory/development-repo</url>
  </repository>
  <snapshotRepository>
      <id>production-repo</id>
      <name>production-repo</name>
      <url>https://artifactory/production-repo</url>
  </snapshotRepository>

Я знаю, что у Maven есть концепция профилей, но это кажется довольно тяжелымпередал за это? на самом деле, я даже думал о том, чтобы сервер CI \ CD мог выполнить текстовое преобразование pom, чтобы заменить вхождения development-repo на production-repo, но я хотел бы сделать это maven способом, если это возможно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...