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:
- allow user checkout client application, build it, , run without having go find latest .dll/.lib files
- 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
Post a Comment