teamcity - How can I cleanly build one project in git that relies on artifacts from another project -


if have 2 projects, 1 outputs .dll , .lib stub, , links .lib stub, , extension uses generated .dll @ runtime, how can set tc build system , git repository cleanly:

  1. allow user checkout client application, build it, , run without having go find latest .dll/.lib files
  2. keep official builds , tc builds of client application in sync; if checkout , run locally, behaves same tc build version, using same .dll , .lib

my initial thoughts either have appropriate .lib , .dll files in client application (like 3rd party binaries), checked in tc whenever new .dll built; it's little strange have tc pushing git, seems might work. or, have logic in pre-build step of solution goes out tc latest binaries, less because building user may not have credentials tc, , may not want latest versions.

if first solution way go, there easy support in tc this? or have full checkout, update, add/commit, push during build process? there pitfalls these solutions haven't considered?

you can have script download libraries on developer machine teamcity build configuration. script used locally. see http://confluence.jetbrains.com/display/tcd8/patterns+for+accessing+build+artifacts

on server can use snapshot+artifact dependencies keep building of these projects in sync: http://confluence.jetbrains.com/display/tcd8/build+dependencies+setup

snapshot dependency provides sources synchronization, if change api in library , it's usage in dependent project @ same time, can sure teamcity build correctly.


Comments

Popular posts from this blog

scala - 'wrong top statement declaration' when using slick in IntelliJ -

c# - DevExpress.Wpf.Grid.InfiniteGridSizeException was unhandled -

PySide and Qt Properties: Connecting signals from Python to QML -