##// END OF EJS Templates
markdown: enable full githubFlavoredMarkdown
markdown: enable full githubFlavoredMarkdown

File last commit:

r303:ed619a55 default
r317:2f438a3b default
Show More
dev-setup.rst
144 lines | 3.6 KiB | text/x-rst | RstLexer
docs: more comprehensive contributor docs #4039
r303 .. _dev-setup:
project: added all source files and assets
r1
===================
Development setup
===================
RhodeCode Enterprise runs inside a Nix managed environment. This ensures build
environment dependencies are correctly declared and installed during setup.
It also enables atomic upgrades, rollbacks, and multiple instances of RhodeCode
docs: improve contribution docs on how to run tests.
r272 Enterprise running with isolation.
project: added all source files and assets
r1
docs: updates to contributor documentation #4039
r271 To set up RhodeCode Enterprise inside the Nix environment, use the following steps:
project: added all source files and assets
r1
Setup Nix Package Manager
-------------------------
docs: updates to contributor documentation #4039
r271 To install the Nix Package Manager, please run::
project: added all source files and assets
r1
$ curl https://nixos.org/nix/install | sh
docs: updates to contributor documentation #4039
r271 or go to https://nixos.org/nix/ and follow the installation instructions.
Once this is correctly set up on your system, you should be able to use the
project: added all source files and assets
r1 following commands:
* `nix-env`
* `nix-shell`
.. tip::
Update your channels frequently by running ``nix-channel --upgrade``.
docs: updates to contributor documentation #4039
r271 Switch nix to the latest STABLE channel
---------------------------------------
project: added all source files and assets
r1
run::
nix-channel --add https://nixos.org/channels/nixos-16.03 nixpkgs
Followed by::
nix-channel --update
Clone the required repositories
-------------------------------
docs: updates to contributor documentation #4039
r271 After Nix is set up, clone the RhodeCode Enterprise Community Edition and
project: added all source files and assets
r1 RhodeCode VCSServer repositories into the same directory.
To do this, use the following example::
mkdir rhodecode-develop && cd rhodecode-develop
hg clone https://code.rhodecode.com/rhodecode-enterprise-ce
hg clone https://code.rhodecode.com/rhodecode-vcsserver
.. note::
docs: improve contribution docs on how to run tests.
r272 If you cannot clone the repository, please request read permissions
via support@rhodecode.com
project: added all source files and assets
r1
Enter the Development Shell
---------------------------
docs: updates to contributor documentation #4039
r271 The final step is to start the development shell. To do this, run the
project: added all source files and assets
r1 following command from inside the cloned repository::
cd ~/rhodecode-enterprise-ce
docs: updates to contributor documentation #4039
r271 nix-shell
project: added all source files and assets
r1
.. note::
On the first run, this will take a while to download and optionally compile
docs: improve contribution docs on how to run tests.
r272 a few things. The following runs will be faster. The development shell works
fine on MacOS and Linux platforms.
project: added all source files and assets
r1
Creating a Development Configuration
------------------------------------
To create a development environment for RhodeCode Enterprise,
use the following steps:
1. Create a copy of `~/rhodecode-enterprise-ce/configs/development.ini`
2. Adjust the configuration settings to your needs
.. note::
docs: updates to contributor documentation #4039
r271 It is recommended to use the name `dev.ini`.
project: added all source files and assets
r1
Setup the Development Database
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: updates to contributor documentation #4039
r271 To create a development database, use the following example. This is a one
project: added all source files and assets
r1 time operation::
paster setup-rhodecode dev.ini \
--user=admin --password=secret \
--email=admin@example.com \
--repos=~/my_dev_repos
Start the Development Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When starting the development server, you should start the vcsserver as a
docs: updates to contributor documentation #4039
r271 separate process. To do this, use one of the following examples:
project: added all source files and assets
r1
1. Set the `start.vcs_server` flag in the ``dev.ini`` file to true. For example:
.. code-block:: python
### VCS CONFIG ###
##################
vcs.start_server = true
vcs.server = localhost:9900
vcs.server.log_level = debug
Then start the server using the following command: ``rcserver dev.ini``
2. Start the development server using the following example::
rcserver --with-vcsserver dev.ini
3. Start the development server in a different terminal using the following
example::
vcsserver
Run the Environment Tests
^^^^^^^^^^^^^^^^^^^^^^^^^
docs: updates to contributor documentation #4039
r271 Please make sure that the tests are passing to verify that your environment is
docs: improve contribution docs on how to run tests.
r272 set up correctly. RhodeCode uses py.test to run tests.
Please simply run ``make test`` to run the basic test suite.