Comments (5)
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.
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.
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.
OK. So it sounds like this cookbook is more Chef like so I should probably stick to this one when possible. Thanks!
from application.
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)
- Incompatibility with Ubuntu 14.04 HOT 5
- shallow_clone default causing difficulty with newer versions of git HOT 2
- SVN authentication support HOT 2
- [Chef 12.0] Cannot find a provider for deploy_revision[application] on ubuntu version 12.04 HOT 26
- Faster deployments with git-based approach HOT 3
- metadata missing? HOT 1
- metadata.rb is missing HOT 1
- How do you use this cookbook? HOT 3
- unable to deploy rails application HOT 6
- path is not the "name-attribute" anymore HOT 2
- Support resource 'guards'? HOT 2
- Status of this cookbook/documentation HOT 1
- NoMethodError: undefined method `to_sym' for nil:NilClass HOT 4
- App-level environment variables are oddly order-specific
- Deploying app from a subdirectory? HOT 1
- before_symlink in new version 5.x HOT 1
- uninitialized error HOT 2
- Cookbook failing to compile with chef-client 14.5.33 HOT 8
- App Dooshies
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from application.