У нас вы можете посмотреть бесплатно Automating Software Deployments или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Want to ship more features faster? Sign up for my free course! ▶ https://www.jameshush.com/bug-funnel/ Automating deployments is the first thing I do whenever I join any new company. I hate wasting my time waiting for something to build and deploy. Instead of checking YouTube or Reddit while waiting, I use that build time to figure out ways to automate deployments so I don’t have to wait as long the next time. Below are the steps I follow whenever I run into a new deployment process that needs optimizing. Make a checklist Do not start by installing $SHINY_NEW_ORCHESTRATION_TOOL. We have to learn to walk before we can run. People love to work out the “optimal” solution that will take months instead of the small next step. Especially if you’re new to the team, you won’t have the social capital to get buy-in for a long-winded new project. What can you do instead? Create a checklist in the README file at the root of the repo. Not only will this help any new teammate deploy, but frankly, it’ll help you remember the steps. Also, you’ll need these steps written down anyway to figure out what to automate next when you do get around to installing $SHINY_NEW_ORCHESTRATION_TOOL. Notice, we have not changed any of the steps. We’ve merely written them down. If you’re like most engineers, your spidey senses are tingling. “Why don’t we combine upload_zip_to_prod.sh with upload_zip_to_eu.sh right now! It’ll only take five minutes!” Stop. The goal is assemble the steps into one place first. We want to get a win within the first day. Make a shell script We still haven’t automated everything. That’s OK. We don’t need to automate everything all at once. For anything tricky to automate (like the currently manually performed smoke test), we echo the steps into the shell to remind engineers to do them. This is not a perfect solution, but it’s the difference between shipping something today that works and provides value to the whole engineering team and waiting until everything is “perfect.” The other benefit of converting our README to a shell script is that team members are more likely to “fix” a shell script rather than “update” a document, even if that “fix” is just a copy change in an echo statement. Add it to Github actions or Jenkins If you do not have any CI/CD tool setup and already use Github, I recommend using Github actions. In the short term, yes, you do have to worry about Github actions going down, but that can be handled later by setting up custom Github Actions runners later. If the action does go down while you’re setting things up, you can always run the action from your computer using act if you’re in a pinch. Here’s an example of a simple Github Action I use to deploy www.jameshush.com every time there’s a push to the main branch: name: 📂 Sync files uses: SamKirkland/FTP-Deploy-Action@4.1.0 with: local-dir: web/ server: jameshush.com username: github@jameshush.com server-dir: "public_html/" password: ${{ secrets.PASSWORD }} port: 21 dry-run: false However, if you have a separate Ops/Infrastructure/DevOps team who like things done a certain way, work with them, not against them to help you get this setup. Remember, your end goal is to automate deploys, not to introduce new tech for the sake of it. Reinvest your new-found time Here are some ideas: Add the (Slack Notify)[https://github.com/marketplace/actions/sla...] step to your new Github action to remove the manual update step. Create a simple end-to-end test to replace your manual smoke test of “hard reloading on Firefox.” Bonus points if you make it work in mobile Safari too! Setup something like (Semantic Releases)[https://github.com/semantic-release/releas...] to automatically generate release notes. The list goes on. The point is, each of these is a separate task, with individual tickets and pull requests. Follow me everywhere! -- ▶ LINKEDIN: https://www.linkedin.com/in/jameshush/ MARKETING RESOURCES --- ▶ Leadpages: https://try.leadpages.com/jameshush LANGUAGE LEARNING RESOURCES -- ▶ Pimsleur: https://refer.pimsleur.com/s/jhush91 ▶ iTalki: https://www.italki.com/i/CFBEAF