On 14 January 2016 at 13:17, Sam Ruby <[email protected]> wrote:
> On Thu, Jan 14, 2016 at 7:33 AM, John D. Ament <[email protected]> wrote:
>> What about a batch job that runs periodically to regenerate it and upload
>> it somewhere (e.g. nexus)?  Then have the builds pull down that information.
>
> Kinda close.  Here's how it works in gory detail.
>
> Here's a page describing deployment:
>
> https://github.com/apache/whimsy/blob/master/DEPLOYMENT.md
>
> If you follow the second link, you will find:
>
> https://github.com/apache/infrastructure-puppet/blob/deployment/modules/whimsy_server/manifests/init.pp#L58
>
> This runs every 30 minutes. The lines I'm pointing to say: pull from
> github, and if changed, run Rake update.
>
> And if you go to the Rakefile, you will see the following code:
>
> https://github.com/apache/whimsy/blob/master/Rakefile#L24
>
> What this says to do is to run 'bundle update' on each Gemfile.
> (Note: the passenger applications use a different version of Ruby,
> something I home to resolve over time).  Running bundle update
> produces the Gemfile.lock.
>
> Note in the specific case of the Gemfile in the www directory, the
> Gemfile.lock produced contains your local path.  Perhaps over time we
> should look into checking in Gemfile.lock files, and changing the Rake
> update logic to skip over Gemfiles for which an associated
> Gemfile.lock is present, and run bundle install instead, which would
> use the specific version of every dependency indicated in the lock
> file.

We either need to .gitgnore Gemfile.lock or track it in Git
I don't really care which, but it's a nuisance at present as it
appears my workspace is out of date.

> One thing I'm very happy about the whimsy-test setup (which will be
> the new whimsy in a matter of weeks) is that everything about the
> running operation is online.  For the applications themselves, pushing
> changes is all you need to do deployment.  For changing the
> configuration of the machine itself, submit a pull request against the
> infrastructure-puppet repository.  As an example, here are the cron
> jobs:
>
> https://github.com/apache/infrastructure-puppet/blob/deployment/data/nodes/whimsy-vm2.apache.org.yaml#L45
>
> My personal goal is to make this a very "patches welcome" kind of place.
>
> - Sam Ruby
>
>> On Thu, Jan 14, 2016 at 6:56 AM sebb <[email protected]> wrote:
>>
>>> The bundler/setup require creates a Gemfile.lock file.
>>>
>>> AIUI:
>>>
>>> This records the current actual versions of the Gems available at the time.
>>> Once created, it is used in preference to re-evaluating the versions.
>>>
>>> I think this may cause a problem.
>>>
>>> If we don't include it in version control, then deployed copies will
>>> create the file once then not update it.
>>>
>>> If we do include it, we probably need to make sure it is
>>> deleted/recreated on a regular basis.
>>>

Reply via email to