DEV Community

loading...

It's 5:47 pm on a Friday and I'm deploying to production. Ask me anything

Manuele J Sarfatti
EU 🇪🇺 | Art, Tech & Good Vibrations 🤳 | Founder of ᴛᴏᴍᴏʀʀᴏᴡ 🌞 hellotomorrow.agency • Just started working on a new endeavour 👉 usepoe.app • Follow me on Twitter!
・1 min read

Fire away :)

UPDATE

It's 6:03 now and I've already found a glitch and re-deployed 🍿

Discussion (17)

Collapse
deciduously profile image
Ben Lovy

What social engagement this weekend are you planning to disappoint?

Collapse
mjsarfatti profile image
Manuele J Sarfatti Ask Me Anything

😂

Probably a part of me deep down wants to be left alone this weekend...

Collapse
waterlink profile image
Alex Fedorov

I have given a talk “Fearless Deploys on Friday Evening. Wait; What?!” a few times ;)

Here is the essence:

  • Damn good test suite (close to 100% coverage, covering important things over unimportant),
  • Near-100% pairing with rolling rotation,
  • Real CI/CD, live on master with no branches, and no PR (thanks for instant code review via pairing),
  • Good monitoring setup,
  • .. and more ..
Collapse
defman profile image
Sergey Kislyakov 🇷🇺 🇺🇸

Covering important things over unimportant is the key, unlike 100% coverage badges and so on.

Collapse
waterlink profile image
Collapse
mjsarfatti profile image
Manuele J Sarfatti Ask Me Anything

I just enjoy living on the edge.

Jokes aside :D by pairing do you mean pair coding?

Collapse
waterlink profile image
Alex Fedorov

Yes, full pair-programming, and done correctly, where two developers (or sometimes more) are fully engaged together in problem-solving and bounce ideas from each other, and the code happens as a side effect of such productive conversation.

Collapse
manuelojeda profile image
Manuel Ojeda

May the force be with you mate

Lost you mind

Collapse
devanghingu profile image
Devang Hingu

it's really bad idea to deploy on Friday.

Collapse
codenamejason profile image
Jaxcoder

I always deploy on Friday, no one is around to complain about something not working and gives me the weekend to straighten things out if necessary.

Collapse
devanghingu profile image
Devang Hingu

but client get more times to testing that all, and that all comes on Monday with much pressure.. If anything doesn't in two day and client contact you but that time you will be not available. and that makes your reputation in awful situation. that everything depends on which type of project you working on and all.

Collapse
moopet profile image
Ben Sinclair

Where do you think your life began to go wrong?

Collapse
mjsarfatti profile image
Manuele J Sarfatti Ask Me Anything

That time I thought buying a book called "Php 4" was a good idea...

Collapse
scrabill profile image
Shannon Crabill

Do you deploy solo? Or are other people also running with scissors by deploying on a Friday with you?

Collapse
mjsarfatti profile image
Manuele J Sarfatti Ask Me Anything

LOL.

I’m a quasi-solo developer for this specific app, so yeah, I’m deploying solo. Generally speaking in the world, I’m sure I’m not the only one. If your are out there and enjoy the occasional Friday night chill as well reach out and let’s found a meetup or something!

Collapse
ryanrousseau profile image
Ryan Rousseau

What do your deployments look like (apps, tools, process, etc)?

Collapse
mjsarfatti profile image
Manuele J Sarfatti Ask Me Anything • Edited

It’s a monorepo Laravel/React app, hosted on ploi.io.

Here is my process, but important disclaimer: it’s far from optimised and it works only because I’m the only developer and the app is fairly straightforward. Don’t do this at home:

  1. I yarn build the React app, and commit the build files to the repo
  2. Merge the feature branch I’d been working on into master, manually deploy to a staging server for one final manual round of tests
  3. Push the master branch to GitLab
  4. From the ploi.io control panel hit the “Deploy Now” button, which runs a script that pulls from GitLab, copies files to the server root and runs a few Laravel scripts to purge the cache etc.

90% of this could (and maybe should) be automated and CI’d, but I deploy maybe once a month so I haven’t bothered yet. It’s manual but it still takes like 3 minutes total.

In this particular case I deployed a feature that simply reads and displays data, so I wasn’t risking catastrophical effects.

Forem Open with the Forem app