backs<\/em> per se with this method. Rather, you only roll forward. Whatever you want to fix or restore, get it in master, boost the version number, push, and deploy.<\/p>\nStaffing<\/h4>\n
This kind of maturation can have business-wide ramifications. Picture this: You have non-dev support folks on the front lines, trying to debug a problem for a client. In the past, they would have had to place this request in a dev ticket queue, while the customer waits hours or days for a resolution. Not anymore. Now, your front-line support agent can navigate to network admin and see that on this environment the plugin in question is outdated. They’re free to update the plugin right away via the normal wp-admin interface. The ticket is resolved by front-line support with no dev team involvement. Perhaps those front-line folks cost less than developers, or perhaps they carry a deep skill set in account management. Either way, you no longer have to open a dev ticket to deploy updates to your in-house plugins. Pivotal.<\/p>\n
Rise of the machines<\/h3>\n
Before this process, we were very much an ordinary dev shop churning out themes and plugins for clients, cowboy-FTPing, not versioning our work. Why? Because we were lazy. Why? Because we were human. We’re no longer lazy because we are no longer human, at least when deploying. We’re a command line script and a series of API requests, and no matter how lazy we are, we have to follow proper deployment practices because we nuked the FTP creds for our developers! On top of all that, it’s a faster way to deploy, free from any click-n-drag misfires.<\/p>\n
Can you get on board with this overnight? Okay, no. It’s a long and expensive process, and it might<\/em> not be for you, but honestly it probably is. I think there are about 1,000 dev shops out there that should give careful consideration to this.<\/p>\n","protected":false},"excerpt":{"rendered":"Of all the projects I’ve worked in the last few years, there’s one that stands out as my favorite: I wrote a WordPress plugin called Great Eagle (Tolkien reference) that allows my team to install and update themes and plugins from our private Bitbucket repos, via the normal wp-admin updates UI. This plugin has blasted […]<\/p>\n","protected":false},"author":229300,"featured_media":250164,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[4],"tags":[679,1046,677,264],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2017\/01\/bb-to-wp.png?fit=600%2C256&ssl=1","jetpack-related-posts":[{"id":240378,"url":"https:\/\/css-tricks.com\/%e2%80%8bsponsored-bitbucket-unlimited-private-repos-free\/","url_meta":{"origin":250069,"position":0},"title":"\u200bSponsored: Bitbucket \u2013 Unlimited Private Repos for Free","date":"April 14, 2016","format":false,"excerpt":"Over 450,000 teams and 3 million developers love Bitbucket. Software teams at companies like NASA and Trulia build with Bitbucket. It\u2019s how professional software teams do Git. Most importantly, Bitbucket offers free unlimited private repos. Sign up today for free.","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":144371,"url":"https:\/\/css-tricks.com\/deployment\/","url_meta":{"origin":250069,"position":1},"title":"Website Deployment: Let Us Count The Ways!","date":"July 25, 2013","format":false,"excerpt":"Deployment is moving a website from a local environment to live servers. What seems like a simple thing can actually be quite complex. There are absolutely loads of ways to go about it. They range from user friendly software and services, to more complex command line tools, to full blown\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":303038,"url":"https:\/\/css-tricks.com\/guillermos-2019-in-review\/","url_meta":{"origin":250069,"position":2},"title":"Guillermo’s 2019 in Review","date":"February 7, 2020","format":false,"excerpt":"Of all the tech-focused year-in-review posts I read, Guillermo Rauch's is my favorite. There is a lot in there, jumping from topics like modern architectures, high-fiving specific apps, and philosophical movements. I'll pick one quote about the rise of \"deploy previews\": A salient feature is the transition we are seeing\u00a0away\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/02\/deploy-url.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":285374,"url":"https:\/\/css-tricks.com\/15-minutes-automation-nirvana\/","url_meta":{"origin":250069,"position":3},"title":"Buddy: 15 Minutes to Automation Nirvana","date":"March 26, 2019","format":false,"excerpt":"Deploying a website to the server in 2019 requires much more effort than 10 years ago. For example, here's what needs to be done nowadays to deliver a typical JS app: split the app into chunks configure webpack bundle minify .js files set up staging environment upload the files to\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/03\/photo_2019-03-25_16-36-54.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":340465,"url":"https:\/\/css-tricks.com\/serverless-functions-the-secret-to-ultra-productive-front-end-teams\/","url_meta":{"origin":250069,"position":4},"title":"Serverless Functions: The Secret to Ultra-Productive Front-End Teams","date":"May 31, 2021","format":false,"excerpt":"Modern apps place high demands on front-end developers. Web apps require complex functionality, and the lion's share of that work is falling to front-end devs: building modern, accessible user interfacescreating interactive elements and complex animationsmanaging complex application statemeta-programming: build scripts, transpilers, bundlers, linters, etc.reading from REST, GraphQL, and other APIsmiddle-tier\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/05\/netlify-serverless-function-rest-api.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":352569,"url":"https:\/\/css-tricks.com\/better-collaboration-with-pull-requests\/","url_meta":{"origin":250069,"position":5},"title":"Better Collaboration With Pull Requests","date":"October 11, 2021","format":false,"excerpt":"This article is part of our \u201cAdvanced Git\u201d series. Be sure to follow us on Twitter or sign up for our newsletter to hear about the next articles! In this third installment of our \u201cAdvanced Git\u201d series, we\u2019ll look at pull requests \u2014 a great feature which helps both small\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/09\/Untitled-3-2.png?fit=1200%2C375&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"featured_media_src_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2017\/01\/bb-to-wp.png?fit=600%2C256&ssl=1","_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/250069"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/229300"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=250069"}],"version-history":[{"count":7,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/250069\/revisions"}],"predecessor-version":[{"id":250071,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/250069\/revisions\/250071"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media\/250164"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=250069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=250069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=250069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}