Announced in this blog, this holiday season we’re celebrating all things CI/CD and between now and the end of 2019 we’ll be showcasing content, use cases, feature announcements and more.
One feature we added to help teams build and automate their CI/CD pipelines in Bitbucket Cloud were Pipes. With over supported 50 pipes available that let you test, deploy, scan, or manage artifacts with many of the industry’s leading vendors, it’s trivial to set up the external services your team uses across your pipelines and repositories. Best of all, these supported pipes are updated and maintained by the author meaning you never have to worry about updating or re-configuring them yourself.
But there’s no one-size-fits-all approach to software development and developers have their own preferences in terms of how they build software and the tools they want to use. As such we’ve made it easy to create your own custom pipes, allowing teams the freedom to automate and integrate their CI/CD pipeline to meet their specific needs and requirements.
Creating a custom pipe
Creating a custom pipe simplifies the configuration of your CI/CD pipeline and makes re-use easy and efficient. A custom pipe would be useful in situations where:
The same action is performed in several steps of your pipeline
Similar tasks are run in multiple repositories
An action being performed needs dependencies that your main pipeline doesn't have
Connecting with an external service to make it easier to use in pipelines
Full instructions on how to create a custom pipe can be found here, and below are guides and examples of custom pipes you can learn and gain inspiration from:
Share your custom pipe and win!
In the spirit of giving this holiday season we want you to tell us about the custom pipes you’ve built! Simply share your pipe repository with us in a comment below, along with a description of what your pipe does and how it helps your CI/CD workflow. You have until 29 February, 2020 to share your custom pipe and we’ll randomly choose a few submissions to win a limited edition Bitbucket bomber jacket.
Best of luck!
For those of you interested in my "ibm-k8s-pipe", I created a small show-case repo. It shows how I use my custom pipe in the same way as I use it in my real private repos.
You can see how the "deployment.yaml" in my Kubernetes deployments typically looks like. And you can see the full pipeline I use to build the project, create a docker image out of it and finally run my custom pipe to roll-out the new docker image to my Kubernetes cluster.
Check out the show-case at:
https://bitbucket.org/rgruber/ibm-k8s-pipe-showcase/src/master/
I created a simple Tomcat Deployment Pipe that helps you deploy your WAR applications using Tomcat Manager directly from the BitBucket Pipeline.
It is already used in my current deployments and should work fine with Tomcat 7+, but if you find any bugs or experience any issues, don't hesitate to report them!
You can find all the details here:
https://bitbucket.org/cloudfolksio/bitbucket-tomcat-deploy-pipe
I created a pipe to deploy my company's applications to AWS using the new AWS CDK for infrastructure as code.
You can find it here: https://bitbucket.org/sightsoundtheatres/aws-cdk-deploy/
i can't access the link anymore
@dunghoang103 you can access it here now. We aren't maintaining it anymore: https://bitbucket.org/SSJaredBates/aws-cdk-deploy
I'm a big Telegram messenger fan. We also use Telegram groups at work where CI/CD pipelines posts information about new builds or successful builds or test runs.
So I built a pipe for Bitbucket which can be added to any pipeline and allows us to send a message via a Telegram bot to a Telegram group or channel.
You can find my pipe here:
https://bitbucket.org/TamaraWeber/telegram-pipe/
The documentation of the pipe contains all the needed information on how to get hold of the Telegram bot and how to connect the pipe to the bot. From there it's as simple as adding the pipe at whatever step of your CI/CD pipeline and define the message which you want to send out at that point of your pipeline.
@Kelvin Yap could you share any photos of the contest winners?
I'm so curious how those fancy BitBucket jackets present in day light!
@Radek Antoniuk I'm wondering too. I contacted @Kelvin Yap a while ago. He wrote that he will be "announcing the winners on the post early next week". But that was a couple of weeks ago already. My best guess is that the current worldwide situation messed up their schedule. I hope that they do announce the winners eventually. It's strange times right now after all.
@Radek Antoniuk @rgruber yes my apologies here, we've run into some procurement issues but hope to have a solution in the coming days. At that point I'll let you all know the winners and the process to obtain the prize.
I appreciate your patience here and apologies again for the delay!
@Radek Antoniuk / @rgruber / @Artem_Rys / @Tamara_Weber / @Jared Bates
Thanks for your patience while we've sorted out some hiccups to announce a winner and give out prizes. While we were going to choose one winner, I feel it only made sense to give the prize out to all of you given the circumstances and to show our appreciation for your participation and of course your patience.
With that, if you could send me an email to kelvin@atlassian.com so I can send through next steps that would be great.
Congratulations to all of you and I look forward to seeing photos of you with your jackets in the not-too-distant future!
Thanks Kevin and congrats to everyone!
Hopefully this will be a nice sweet add-on to our quarantine time. looking forward for the photos from our the world!