As Kurund pointed out, the general instructions are at https://github.com/civicrm/civicrm-buildkit . Follow those instructions to download the all the tools.
There are a few details that may not be well represented yet in the documentation:
As the main developer behind buildkit, I use it mostly in MAMP (and a bit in Debian and Ubuntu).
Buildkit runs ...
Check that you've followed this instruction?
Note: Please add this line to the httpd.conf or apache2.conf:
To do this, edit your Apache configuration (on Debian I'd create /etc/apache2/conf.d/civicrm-buildkit.conf) and add that line.
Check that you can open http://localhost:7979 (or the URL reported by your amp test) ...
The question is tricky because it's a bit imprecise -- different people may interpret "know Linux" and "administer CiviCRM" a bit differently.
It might be clearer to rephrase the issue this way:
To administer the data model, profiles, contacts, events, mailings, etc, you need an analytic mindset and a general understanding of data-management, but you do ...
This may indicate that either:
The PHP runtime is missing the PDO or MySQL extensions. This may help: https://wiki.civicrm.org/confluence/display/CRMDOC/Setup+Command-Line+PHP (At time of writing, I'd avoid PHP 5.6 for CLI dev -- GenCode may have issues with it.)
The DB settings haven't been configured (e.g. the step for running amp config was skipped).
I would tend to say "No", it is not required. We have a bunch of customers that administer CiviCRM without Linux knowledge (or GNU, as Tomislav pointed out). However, they do pay for service providers to do this for them.
Just as you do not need to know about Windows for server management, but your (internal or external) sys admin does have to know.
Accessing URL http://localhost:7979 requires at least these things:
Your client is able to resolve host localhost to the local IP address
You have a server which is listening to port 7979
Your server on port 7979 is able to listen to that port (not firewalled / filtered)
Check DNS for localhost
If the command host localhost does not resolve to 127.0.0.1, ...
## Ensure that all your stuff is clean/committed.
git scan status
## Update git repos. Choose ONE of:
git scan up
./bin/givi checkout X.Y.Z
## Regenerate data. Choose ONE of:
civibuild reinstall dmaster
./bin/setup.sh -Dg && drush civicrm-upgrade-db
Checking the git repos
There are ...
To kick off, you probably mean GNU more than Linux (it's the tools that you learn, not the kernel). That said, being a MySQL/PHP-based system, it's naturally geared towards GNU/Linux as the most popular OS for the platform. In addition, appropriate Linux hosting is probably somewhat more available and cheaper.
There's a partially related discussion on ...
As a bit of background, it may help to check out "What's a build?" and "What are the basic build techniques?".
There are a few directions one can take on that topic:
Install an extension once, locally, for a single build.
Modify the build-document of an existing build-type so that the extension will always be installed in the future. (For example, if you ...
Check the settings in distmaker.conf, the ones at the end. They specify the git branch to pull from:
## Git branch/tag name
The demo sites are built as a scheduled job in Jenkins. Authenticated users in Jenkins can start builds from the gui. Please contact the core team via email (totten or dave or coleman or kurund, at civicrm.org) if you need a login to that site.
From the excellent interactive documentation here -- https://buildkit.civicrm.org/#/tutorials (which is almost impossible to find unless you know where to look):
## Download application (with civibuild)
civibuild download "mytestbuild" \
--civi-ver "master" \
There are a number of interesting gotchas. For example, civibuild ...
The problem was PHP files weren't being processed. I reinstalled PHP module using the following commands and it worked.
sudo /etc/init.d/apache2 stop
sudo apt-get remove --purge apache2 php5
sudo apt-get remove --purge libapache2-mod-php5
sudo apt-get install php5 apache2 libapache2-mod-php5
sudo /etc/init.d/apache2 start
sudo a2enmod php5
you also need bash, it MIGHT be doable with cygwin (https://www.cygwin.com/), but I think it would be a considerable amount of pain.
The least pain imo would be: install Virtualbox, install Ubuntu on it and then follow How do I set up dev environment with buildkit?
No, you don't need to 'know linux'.
CiviCRM has been intentionally built so that all day to day use and administration of the system can be carried out via the user interface (i.e. the screens that you look at in your web browser).
You can sign up with a CiviCRM partner who will provide you with a ready to use hosted CiviCRM installation that doesn't ...
It's on your php.ini config file. where it it depends on your OS, in ubuntu/debian it's under /etc/php5 and you have cli and fpm, check that the cli version enables the extension simplexml
FYI, CiviCRM is not yet super tested with php7 (was classified "experimental" two months ago
If you've run amp, you should also delete the hidden folder $HOME/.amp. Leaving --full out of the install command will skip installing apps. Hoewver, There is no side effect to reinstalling the apps, and it includes ancillary programs like zip and curl, so you're most likely best off running with --full. It will also restart Apache for you, which might be ...
Have a look at the Developer Guide here: https://docs.civicrm.org/dev/en/latest/ as a start.
If at all possible I would recommend trying to find an expert near you who would be able to give you a developer training. You would have to pay for it but it will probably save you a lot of exploration time :-)
It's a little bit hard to answer without more info but generally the ram disk isn't going to save your data unless you do something extra, so it's more useful for one-off tests or something where you need speed over permanence, like running unit tests (which it mentions in the readme). I don't use buildkit since I'm on windows but I do switch over to a ...
Agree that the typical configuration is to have a separate, headless database for running tests.
Your problem sounds similar to (but slightly different from) the problem of running unit-tests provided by extensions. In both cases, one wants to activate the extension on the headless database, so we may borrow some techniques from extension testing.
If I ...
If you're targeting the 4.6 branch, then put the upgrade script in the latest 4.6.X.mysql.tpl. If you're targeting the master branch, then use 4.7.alpha1.mysql.tpl.
As a rule of thumb, we try to minimize schema changes in stable release branches (e.g. 4.6.x) and instead put them in master. But that's not absolute.
The difference between a bugfix and a new ...
I'd recommend looking into using the CiviCRM API as a more robust way to query CiviCRM data.
Using the CiviCRM API
Check out the API explorer
In your CiviCRM instance you can access the API Explorer. It includes tools to visually generate API queries which would deliver what you're doing there.
For the Drupal CiviCRM demo site at http://dmaster.demo....
Buildkit is not designed for production use but I can't think of any reason it can't be used that way. As your second question suggests, the upgrade procedure will indeed be different. Steps for upgrading on a buildkit install would be:
Backup your database
Do a git checkout tagname && git pull for all 3 git repos (civicrm-core, civicrm-packages &...
Drush can support VCS deployments and you can tell drush make to keep the .git directory with "drush make --working-copy your-platform.make". However, unless it's changed recently, drush doesn't have post-install hooks, so it won't handle composer/bower/npm well.
Composer has support for "post-install-cmd", but civicrm itself is not on packagist. I'm not ...