DEV Community

Manuele J Sarfatti
Manuele J Sarfatti

Posted on

5 1

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

Fire away :)

UPDATE

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

Top comments (17)

Collapse
 
deciduously profile image
Ben Lovy β€’

What social engagement this weekend are you planning to disappoint?

Collapse
 
mjsarfatti profile image
Manuele J Sarfatti β€’

πŸ˜‚

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
Alex Fedorov β€’

Yes!

Collapse
 
mjsarfatti profile image
Manuele J Sarfatti β€’

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 β€’

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

Collapse
 
ryanrousseau profile image
Ryan Rousseau β€’

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

Collapse
 
mjsarfatti profile image
Manuele J Sarfatti β€’ β€’ 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.

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 β€’

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!

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more