Bitbucket equivalent of GitHub Releases? (BB-13572)

Issue #11404 open
Tom Roche
created an issue

Is there a BB equivalent of GitHub Releases, or is anything like GHR planned? I'm assuming this would be something like a free integration with Bamboo. Searching issues, I see some tangential items, but nothing that addresses this functionality in toto, or the GHR level of integration.

Official response

  • Matt Ryall staff

    Hey guys, thanks for your interest in Bitbucket and this feature.

    A few quick updates on release/deployment-related functionality in Bitbucket:

    • Since this ticket was opened, we launched Bitbucket Pipelines, integrated build, test and deploy (CI/CD) tooling right inside Bitbucket. You can find it under "Pipelines" on any Bitbucket repository where you're an administrator.
    • Pipelines is integrated with the rest of Bitbucket, so you can see build status against commits, branches and pull requests. If you've configured your release build through Pipelines, you'll get this status on your commits throughout the product.
    • This "build status" information is provided as a Bitbucket REST API, and we now have integrations with other CI systems like Jenkins, Bamboo and Circle CI that use this API under the hood. These tools can publish build information to Bitbucket so it's visible in the same places: on commits, branches and pull requests.
    • Bitbucket Downloads has a REST API for publishing your build artifacts. We have a guide on how to publish to Bitbucket Downloads from Pipelines, but the same process will apply with any CI tool.

    We're planning on adding deployment tracking (designed primarily for cloud/SaaS teams) to Pipelines in the next six months or so. You can follow this request at #12844. This will provide a page in Bitbucket where you can see a history of deployments, and drill into the detail (commits, etc.) of what went out in each deployment. We'll also be looking to open this up to third party CI/CD tools, similar to the build status API.

    If there are some specific bits of release-related functionality you need (from GitHub Releases or elsewhere) that aren't related to Pipelines or #12844 (for cloud/SaaS), and aren't addressed by Bitbucket Downloads (for libraries/download software), please let us know here what specifically you'd like to see.

    Thanks,
    Matt Ryall
    Bitbucket Pipelines PM

Comments (43)

  1. Leonid Mamchenkov

    It would be awesome to have this feature. We are using Webhooks to deploy to live server when a new release is created. Release notes (version, title, description) are then used to notify clients of a new deployed version. Having a nice web interface and API to this means that non-technical people (cough marketing cough) can write those things.

    Annotated tags in git are NOT that easy. :)

  2. DrFrankenstone / Treer

    Do Jira Versions provide an easy download button for the binaries/exe along with the version info?

    Brandon removed his comments, but they described my situation: I tried to migrate my projects to bitbucket from github, and this came to a halt when I couldn't find a plugin or way to provide the actual compiled releases along with the projects so that it's easy for users [who don't have a bitbucket account] to find/browse them. So I voted for this issue and waited and camped on the blog (since it's marked major priority), but in that time others started working on the main project through github so now it can't be moved.

    I'm small-fry, of no financial interest to bitbucket, but projects catering to non-programmers on Windows or Mac need easy to find releases with more than just tag information. As far as I can tell, they can't be hosted here (unless you set up another website for the releases - which I assume is the 'model' bitbucket was originally designed under).

  3. Peter Etelej

    I wish @Brandon Tamm hadn't deleted his earlier comments. I don't know if subscribing to JIRA for a single un-highlighted feature is worth considering. Plus when compiling tag-versioned static binaries, Github Releases makes the workflow really smooth.

  4. Leonid Mamchenkov

    BitBucket provides Downloads, where compiled files can be stoted. A naming convention can help match files to tags/versions. Not the same as releases but usable. Release notes can be published either in README.md or in project wiki.

  5. Brandon Tamm

    @DrFrankenstone / Treer and @etelej - I don't know if it helps, but I thought I had an issue until I realized that Composer wasn't pulling my project in because I didn't update the name of my repo in the dependencies composer.json (i changed the name.) So it was saying it couldn't find my repo in the correct version or the name was wrong. I assumed it couldn't find the version tag, but it did find dev-master which was all i needed. I can't say whether or not it actually found a tagged release but I would assume it would.

    I am using Docker, so my deployment script actually just runs 'composer update' on the live server (which updates dev-master from my maintained repos). My deployment workflow is probably different than most people's. Anyway, it is finding dev-master which is all I needed. I assumed it would find other tags. Can you verify the name is correct on your dependency repos and double check you still have issues? Or are your issues different?

  6. William Lightning

    A simple Releases with the ability to add "Release Notes" to a tag would be incredibly helpful. Associated Downloads would be handy for tracking, but I'd start with the simple "Here's a note" attached to a release where you can post relevant change logs.

  7. Arne Babenhauserheide

    A simple implementation on the hg side would be to add a tag with the first line of the commit message as title and the third and further lines as body.

    The tags are already available as tar-balls under Downloads. However this needs a way to link directly to the tags pane (for example via downloads#tags). There is already an API-call for getting the tags. Example: https://api.bitbucket.org/2.0/repositories/ArneBab/1w6/refs/tags The API call does not give the commit which adds the tag, though, so the commit message of the tag is not directly accessible. To allow for this, the tagged commit would have to include the information about the commit which tagged it. Essentially the result of hg ann -c --debug .hgtags | grep TAG | cut -d ":" -f 1

    Getting release title and body can be done by

    REV=$(hg ann -c --debug .hgtags | grep TAG | cut -d ":" -f 1 | tail -n 1)
    hg log --template "{desc|firstline}\n" -r $REV
    

    and

    REV=$(hg ann -c --debug .hgtags | grep TAG | cut -d ":" -f 1 | tail -n 1)
    hg log --template "{desc}\n" -r $REV | tail -n+3
    

    (the tail -n 1 ensures that we only get the latest entry for this tag, which might avoid some corner cases when a user forced recreating a tag)

  8. Scott Russell

    +1 - Artifactory integration, unlike Bitbucket-Jenkins-JIRA integrations, is getting to be a headache. Release artifacts stored with the source code and its documentation, is a well-bundled solution.

  9. Kevin Brewster

    I would be looking to move my organisation's firmware from GH to BB, because of BB's better team/project/repo organisation, but lack of a releases feature for holding firmware binary images kills this dead. This request has been open for a year and a half now, so I've pretty much given up. Frustrating.

  10. Helmut Neemann

    +1

    And now there are pipelines!

    How elegant it would be to create the files to release within a pipelines configuration. At GitHub i have to use and configure a third party tool like travis.ci.

  11. Matt Ryall staff

    Hey guys, thanks for your interest in Bitbucket and this feature.

    A few quick updates on release/deployment-related functionality in Bitbucket:

    • Since this ticket was opened, we launched Bitbucket Pipelines, integrated build, test and deploy (CI/CD) tooling right inside Bitbucket. You can find it under "Pipelines" on any Bitbucket repository where you're an administrator.
    • Pipelines is integrated with the rest of Bitbucket, so you can see build status against commits, branches and pull requests. If you've configured your release build through Pipelines, you'll get this status on your commits throughout the product.
    • This "build status" information is provided as a Bitbucket REST API, and we now have integrations with other CI systems like Jenkins, Bamboo and Circle CI that use this API under the hood. These tools can publish build information to Bitbucket so it's visible in the same places: on commits, branches and pull requests.
    • Bitbucket Downloads has a REST API for publishing your build artifacts. We have a guide on how to publish to Bitbucket Downloads from Pipelines, but the same process will apply with any CI tool.

    We're planning on adding deployment tracking (designed primarily for cloud/SaaS teams) to Pipelines in the next six months or so. You can follow this request at #12844. This will provide a page in Bitbucket where you can see a history of deployments, and drill into the detail (commits, etc.) of what went out in each deployment. We'll also be looking to open this up to third party CI/CD tools, similar to the build status API.

    If there are some specific bits of release-related functionality you need (from GitHub Releases or elsewhere) that aren't related to Pipelines or #12844 (for cloud/SaaS), and aren't addressed by Bitbucket Downloads (for libraries/download software), please let us know here what specifically you'd like to see.

    Thanks,
    Matt Ryall
    Bitbucket Pipelines PM

  12. Log in to comment