DEV Community

Discussion on: Explain Artifacts (Deployment) Like I'm Five

Collapse
 
mohanarpit profile image
Arpit Mohan

You and your best friend Shiela decide to battle each other using clay figurines.

In order to do this, you first get your hands on the raw material - clay. In the first attempt, you manage to create a simple one with just a head, hands and legs. You keep it aside because that's the best you've got right now. On your next attempt, you learnt from your first figurine and added a sword as well. You keep that aside as well. On your 3rd attempt, you manage to add a little hat to your figurine. Each of those figurines that you kept aside is an "artifact" that you can use in your super-hero battle. For some reason, in your battle, if your 3rd figurine is destroyed, you can bring out the next best thing you've got (and so on and so forth).

In CI/CD systems, artifacts refer to the output of your build process that you would deploy. This could be a jar, tar or binary. You then deploy these artifacts onto your production servers. If you encounter issues with your current deployed binary, you could revert back to an earlier build artifact and ensure that your system continues to run (albeit with fewer features because it's the output of older code).

Collapse
 
preciselyalyss profile image
Alyss πŸ’œ

Thanks for the explanation!

Collapse
 
ben profile image
Ben Halpern

Second this. Really wonderful visualization.

Thread Thread
 
mohanarpit profile image
Arpit Mohan

Glad you found it useful! I love these series of questions. #FeynmanRocks!

Collapse
 
maestromac profile image
Mac Siri

Great explanation!