Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    TFS build selection list instead of latest build

    Scheduled Pinned Locked Moved Support
    visual-studiobuildmastertfs
    6 Posts 1 Posters 13 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ? This user is from outside of this forum
      Guest
      last edited by

      We are using BuildMaster as a deployment tool, that picks up builds from a Team Foundation Server dropfolder. At the moment, we are picking up the latest green build, but I want to be able to support a pick and choose scenario as well, since we are deploying to multiple environments and need to be able to pinpoint certain builds to use for deployment to certain environments. I believe that I can crate a variable and pick build by freeform text, but that requires me to go to the TFS environment to find the build to use. When I install a new application in BuildMaster, buildmaster is able to provide a list of all available TFS build definitions, and when I get the latest build in my "Create Artifact from TFS Build Output" action, there must be some interaction going on with the TFS server, that lists all builds and figures the latest green one. So could there be a variable to use in order to get a dropdown list of builds for the specific build definition from TFS?

      Product: BuildMaster
      Version: 4.1.7

      1 Reply Last reply Reply Quote 0
      • ? This user is from outside of this forum
        Guest
        last edited by

        It appears you're right, the Create TFS Build action does not use the same logic as the recipe does. While we could add that functionality to the action, there is no variable for this per se, but you could always create your own variable (with a special variable setter) that queries these values.

        1 Reply Last reply Reply Quote 0
        • ? This user is from outside of this forum
          Guest
          last edited by

          I am not sure how variable setter works, would that be by using the API? Also, is there a variable that provides the latest green TFS build? I have verified that I can use a free-text variable where the deployment person can past a specific build number prior to running the deployment. The problem is that in most cases, I want to use latest TFS build and not a pick and choose one. If there is no variable that can get the latest TFS build, I need to duplicate the deployment plan and have one for latest build and another for manually chosen build.

          1 Reply Last reply Reply Quote 0
          • ? This user is from outside of this forum
            Guest
            last edited by

            Coincidentally, we also recently were wishing for a "TFSBUILD" variable so BuildMaster would know which TFS build (e.g., $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)) it was deploying. We don't really need to cherry-pick TFS builds per deployment, but it would be great if the deployment knew which TFS build it was getting. It must know... there just isn't a way that I can think of to access it.

            1 Reply Last reply Reply Quote 0
            • ? This user is from outside of this forum
              Guest
              last edited by

              Ahh I see what you mean now. If you already have your own custom extension, you can add a single line somewhere around here: https://github.com/Inedo/bmx-tfs2012/blob/master/CreateTfsBuildOutputArtifactAction.cs#L85

              that does something like this:

              this.Context.Variables["MyTfsVariable"] = build./* desired property */
              
              1 Reply Last reply Reply Quote 0
              • ? This user is from outside of this forum
                Guest
                last edited by

                I know this is a really really old thread but I thought I would share something that we did for our continuous integration builds / deployment process.

                Every build drop location for each build definition will contain a "Latest" folder in addition to the "versioned" folders that contains the output of each build. At the end of our build template, we perform the standard activity of placing the build artifacts in the versioned dropped location. For SUCCESSFUL builds, we copy the contents of the drop location and update the "Latest" folder. If a build fails for some reason, we leave the contents of the Latest folder alone.

                Our nightly automated package and deployment processes (for automated integration testing) have been simplified to always pull from the "Latest" folder. They can determine if the folder contains the same version as the last one or if it's been updated.

                1 Reply Last reply Reply Quote 0

                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                With your input, this post could be even better 💗

                Register Login
                • 1 / 1
                • First post
                  Last post
                Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation