Code Monkey home page Code Monkey logo

Comments (5)

coderanger avatar coderanger commented on June 8, 2024

The deploy resource in core Chef is a re-implementation of the Capistrano deploy logic for the most part. It uses the cap folder layout and uses kinda-sorta callbacks to different stages of the deploy. The artifact_file resource isn't specifically built on top of deploy (I think at least) but it does inherit a lot of the philosophy. Both are relatively focused on getting the code deployed from a specific source (git/svn for deploy, Nexus/S3 for artifact_file) with the rest of the deploy logic in those callbacks. The application resource and related cookbooks stick to a more declarative approach like normal Chef recipes with different pieces of the deploy logic placed in sub-resources that maintain their own idempotent state. There are also pre-built deploy routines for things like Rails and Django, as well as deeper integration with service management via poise-service.

from application.

et304383 avatar et304383 commented on June 8, 2024

Thanks for the notes. That helps. However, I will point out that the artifact cookbook does have an artifact_deploy resource that seems to do a lot of the plumbing of deploying a revision along with appropriate callbacks and hooks:

https://github.com/RiotGamesCookbooks/artifact-cookbook#artifact_deploy

Can you comment on how application is better? From the sounds of it, application is done in a more "Chef way", but artifact_deploy seems to have a lot more input to customize the resource call. Perhaps that's why it's not the "best" approach.

from application.

coderanger avatar coderanger commented on June 8, 2024

I kind of lumped those together in my summary. artifact_file just does the download and could be used with the application_* structure. artifact_deploy is the thing that is like the core deploy resource in terms of a callback based workflow instead of more traditional idempotence. It is workable, but that API can be frustrating to work with as Chef is built for declarative, idempotent resources not procedural callbacks.

from application.

et304383 avatar et304383 commented on June 8, 2024

OK. So it sounds like this cookbook is more Chef like so I should probably stick to this one when possible. Thanks!

from application.

coderanger avatar coderanger commented on June 8, 2024

Heh, both have their advantages, if you want a workflow that is really close to the Riot one then theirs might be easier, I would like to think the Application cookbook framework/whatever is more flexible in the long run.

from application.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.