--- title: "Moving from Wercker to BitBucket Pipelines" date: 2017-09-07 categories: ["Web","Continuous Deployment"] source: https://andrew-jones.com/blog/moving-from-wercker-to-bitbucket-pipelines/ --- # Moving from Wercker to BitBucket Pipelines [For the last year](/blog/automated-deployments-of-this-site-with-wercker/) I've been using [Wercker](http://wercker.com) to deploy this site each time I make a change (normally a new post) and push it to BitBucket. That's been working perfectly well. Wercker is now [owned by Oracle](https://www.oracle.com/corporate/acquisitions/wercker/index.html), but I haven't seen any changes because of that. In the meantime, BitBucket has released it's own continuous deployment feature, called [Pipelines](https://bitbucket.org/product/features/pipelines). I thought I would give it a go, partly just curious, but also it's a bit nicer having the deployment managed in the same place as the code. Pipelines runs your steps in a Docker image of your choosing. The only problem I had was that all these steps need to be in the same Docker image, and my site has grown complex enough that I now need Hugo, Grunt, and s3cmd available to deploy it. This looks like something that will [be improved soon](https://bitbucket.org/site/master/issues/12750/allow-multiple-steps), but for now I [created my own Docker image](https://github.com/andrewrjones/docker-grunt-hugo-s3cmd) with these dependencies and [pushed it to the public repository](https://hub.docker.com/r/andrewrjones/docker-grunt-hugo-s3cmd/). My `bitbucket-pipelines.yml` looks like this: ``` image: andrewrjones/docker-grunt-hugo-s3cmd:node-8.4-hugo-0.26-s3cmd-2.0.0 pipelines: branches: master: - step: script: - hugo - npm install - grunt dist - s3cmd sync --no-progress --acl-public --recursive --no-delete-removed --no-mime-magic --guess-mime-type --cf-invalidate public/ s3://andrew-jones.com ``` Pretty straightforward. Pipelines is free for the first 50 minutes of building each month, which should be plenty for me (unless I start blogging a lot more frequently!), and I now have one less dependency to worry about.