Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6776927
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T16:05:14+00:00 2026-05-26T16:05:14+00:00

We have 3 environments: Development: Team City deploys here for Subversion commits on trunk.

  • 0

We have 3 environments:

  • Development: Team City deploys here for Subversion commits on trunk.
  • Staging: User acceptance is done here, on builds that are release candidates.
  • Production: When UAT passed, the passing code set is deployed here.

We’re using Team City and only have Continuous Integration setup with our development environment. I don’t want to save artifacts for every development deployment that Team City does. I want an assigned person to be able to fire a build configuration that will deploy a certain successful development deployment to our staging server.

Then, I want each staging deployment to save artifacts. When a staging deployment passes UAT, I want to deploy that package to Production.

I’m not sure how to set this up in Team City. I’m using version 6.5.4, and I’m aware there’s a “Promote…” action/trigger, but I think it depends on saved artifacts. I don’t want to save development deployments each time as artifacts, but I do want the person running the staging deployment to be able to specify which successful development deployment to deploy to staging.

I’m aware there may be multiple ways to do this, is there a best practice? What is your setup and why do you recommend it?

Update:

I have one answer so far, and it’s an idea we had considered internally. I’d really like to know if anyone has a somewhat automated way for deploying to a staging/production environemnt via Team City itself, where only people with certain role/permission can run a deploy script to production rather than having to manually deal with any kind of artifact package. Anyone?

Update 2

I still have 1 day to award bounty, and I thought the answer below didn’t answer my question, but after rereading it I see that my question wasn’t what I thought it was.

Are there any ways to use Team City for some kind of automated deployment to Staging/Production environments?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T16:05:15+00:00Added an answer on May 26, 2026 at 4:05 pm

    I think you’re actually asking two different questions here; one is about controlling access rights to TeamCity builds and another is about the logistics of artifact management.


    Regarding permissions, I assume what you mean by “only people with certain role/permission can run a deploy script to production” and your response to Julien is that you probably don’t want devs deploying direct to production but you do want them to be able to see other builds in the project. This is possibly also similar to Julien’s scenario when IT then take the process “offline” from TeamCity (either that or it’s just IT doing what IT do and insisting they must use a separate, entirely inefficient process because “that’s just the way we do it” – don’t get me started on that!)

    The problem is simply that all permissions in TeamCity are applied against the project and never the build so if you’ve got one project with all your builds, there’s no ability to apply permissions granularity to dev versus production builds. I’ve previously dealt with this in two ways:

    1. Handle it socially. Everyone knows what their responsibilities are and you don’t run what you’re not meant to run. If you do, it’s audited and traceable back to YOU. Work fine when there’s maturity, a clear idea of responsibilities and not compliance requirement that prohibits it.
    2. Create separate projects. I don’t like having to do this but it does fix the problem. You can still use artifacts from another project and means you simply end up with one project containing builds that deploy to environments you’re happy for all the devs to access and another project to sensitive environments. The downside is that if the production build fails, the very people you probably want support from won’t be able to access it!

    Regarding artifact management, there’s no problem with retaining these in the development build, just define a clean-up policy that only keeps artifacts from the last X builds if you’re worried about capacity. A lot of people want certainty they’re deploying the same compiled output to every environment which means once you build it, you want to keep it around for later use.

    Once you have these artefacts from your dev deployment, you can re-deploy them to your other environments through separate builds. You’ll have an issue with config transforms (assuming you’re using them), but have a read of this 2 part series for some ideas on how to address that (I’m yet to absorb it in detail but I believe he’s on the right track).

    Does that answer your question? Is there anything still missing?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We have three environments: development, staging, and production. In our configuration variables for development,
is there any development environments that allow you to have one code base that
At my company, we have tiered environment for our web applications (development, staging, production).
We have a user experience designer in our team who has no programming background.
My team builds reusable libraries for other (internal) software development teams. We use FlexBuilder
Let's say you have an intranet development team where it is in your best
We have a decent-sized development team with a few concurrent projects being developed on
In my config/environments/development.rb I have the following line: config.action_controller.consider_all_requests_local = true which means I
We have multiple environments (development, test, Production, etc). Using Oracle 10g. All values are
I have development environment with 64-bit SharePoint 2007. I tried to create SharePoint workflow

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.