Mais conteúdo relacionado Semelhante a For every site a make file (20) Mais de Development Seed (16) For every site a make file1. For every site, a .make file
Jeff Miccolis
25. aug 10:00
vps.net
Wednesday, August 25, 2010
2. I build drupal sites
I co-maintain Open Atrium
I contribute to drush_make
Wednesday, August 25, 2010
3. You build drupal sites
You’ve heard of drush
You’ve had deployment
issues
Wednesday, August 25, 2010
4. If I’m lucky, you’ve used
the Features module.
Wednesday, August 25, 2010
7. The reality of deploying
and maintaining drupal
is ugly.
Wednesday, August 25, 2010
9. ...involves committing
everything to a project
specific SVN repository.
The standard way of deploying drupal...
Wednesday, August 25, 2010
10. ...and then using that SVN
repository to “manage”
production.
The standard way of deploying drupal...
Wednesday, August 25, 2010
11. ...is a heck of a lot
better than nothing.
The standard way of deploying drupal...
Wednesday, August 25, 2010
12. But what version of the
Date module are you using
there?
Wednesday, August 25, 2010
13. The last ‘stable’ release
was September 16th, 2009
Which version of Date module is that?
Wednesday, August 25, 2010
14. The last ‘stable’ release
doesn’t work with php 5.3
Which version of Date module is that?
Wednesday, August 25, 2010
15. Chances are you’re
using a CVS checkout.
Which version of Date module is that?
Wednesday, August 25, 2010
16. With a patch (or two)
applied.
Which version of Date module is that?
Wednesday, August 25, 2010
17. Do you know where
your children are?
Wednesday, August 25, 2010
20. ...and you haven’t seen
this site in 4 months.
**happens all the time**
Wednesday, August 25, 2010
22. We hack our way through.
Commit semi-random patches
and `svn co` production.
The standard way of deploying drupal...
Wednesday, August 25, 2010
25. Logs that mix of upstream
fixes and custom work
Problems with the standard way...
Wednesday, August 25, 2010
27. Doesn’t make upstream
contributions easy.
Problems with the standard way...
Wednesday, August 25, 2010
28. Makes hacking
upstream projects easy.
Problems with the standard way...
Wednesday, August 25, 2010
31. CLI?!?!
WTF?!?!
Wednesday, August 25, 2010
34. Drush Make
http://drupal.org/project/drush_make
Wednesday, August 25, 2010
35. It’s how we package install
profiles on drupal.org
drush_make is...
Wednesday, August 25, 2010
36. Not a Drupal module, a
Drush extension!
drush_make is...
Wednesday, August 25, 2010
37. This means it doesn’t
need a Drupal site.
Wednesday, August 25, 2010
39. Used to make a ready to
install Drupal platform.
drush_make is...
Wednesday, August 25, 2010
41. ...when was the last time
you deployed ‘just Drupal’?
Wednesday, August 25, 2010
42. Drupal core
+ views
+ cck
+ date
...and probably a lot more.
Wednesday, August 25, 2010
43. A .make file is a
manifest for your site.
Wednesday, August 25, 2010
44. core = 6.x
projects[] = drupal
Wednesday, August 25, 2010
46. ; This is a comment
;
; In short .make files use
; .info file formatting.
;
; Also drush_make has a great
; README.txt
Wednesday, August 25, 2010
50. Why can’t you generate
the make file automatically?
Question.
Wednesday, August 25, 2010
51. Text
http://drupal.org/project/cck
Wednesday, August 25, 2010
55. What about bugs in
contrib module?
Question.
Wednesday, August 25, 2010
59. Isn’t it slow to do all
this downloading?
Question.
Wednesday, August 25, 2010
60. Finally, a useful purpose
for squid!
http://reluctanthacker.rollett.org/node/114
Wednesday, August 25, 2010
61. Can I reuse snippits of
make files somehow?
Question.
Wednesday, August 25, 2010
62. Yes, two ways;
recursion & inclusion.
Answer
Wednesday, August 25, 2010
63. Recursion: if a project has
a .make file it will be run.
Wednesday, August 25, 2010
64. Recursion: Avoid it.*
Rarely useful, mostly
confusing.
*except with install profiles.
Wednesday, August 25, 2010
66. Inclusion: Use it.
References via URLs, items in the referenced file can be
overridden.
Wednesday, August 25, 2010
67. ; Include Open Atrium
includes[openatrium] = http://...
; Include Open Atrium
includes[openatrium] = http://drupalcode.org/viewvc/drupal/contributions/profiles/openatrium/
openatrium.make?view=co&pathrev=HEAD
Wednesday, August 25, 2010
68. Use overrides to grab
CVS checkouts,
experimental forks, more
recent versions, etc
Wednesday, August 25, 2010
69. Ok, cool. How do I use
this again?
Wednesday, August 25, 2010
72. Make files are portable.
They’re manifests, not a personal ‘save’ button
Wednesday, August 25, 2010
73. Tag versions.
If your make file is pointing at HEAD it’s not doing it’s
job.
Wednesday, August 25, 2010
74. Use comments &
Link patches
A few words can help a lot.
Wednesday, August 25, 2010
75. Profile .make
vs.
Distro .make
Wednesday, August 25, 2010
76. Used to make an install
profile. No Core.
profile .make
Wednesday, August 25, 2010
77. It’s what we use on
Drupal.org
profile .make
Wednesday, August 25, 2010
79. Is what I use for
Openatrium.com
distro .make
Wednesday, August 25, 2010
80. The distro .make
retrieves and builds the
profile.make.
distro .make
Wednesday, August 25, 2010
81. This is the one place the
recursion behavior works
for us.
distro .make
Wednesday, August 25, 2010
82. Small scripts go a long
way.
Like Open Atrium’s rebuild.sh
Wednesday, August 25, 2010
85. Custom themes and
modules.
Your new project repository.
Wednesday, August 25, 2010
89. The patches in your make
file need to be public.
Forking for karma.
Wednesday, August 25, 2010
91. Post them on the
project’s issue queue.
Forking for karma.
Wednesday, August 25, 2010
94. a) I don’t ever want to
wonder; did we apply that
patch to this site?
Wednesday, August 25, 2010