Show More
@@ -147,10 +147,6 b' Peer-to-peer Failover Support' | |||||
147 |
|
147 | |||
148 | * Yes |
|
148 | * Yes | |
149 |
|
149 | |||
150 | Additional Binaries |
|
|||
151 | ------------------- |
|
|||
152 |
|
||||
153 | * Yes, see :ref:`rhodecode-nix-ref` for full details. |
|
|||
154 |
|
150 | |||
155 | Remote Connectivity |
|
151 | Remote Connectivity | |
156 | ------------------- |
|
152 | ------------------- |
@@ -4,237 +4,7 b'' | |||||
4 | Development setup |
|
4 | Development setup | |
5 | =================== |
|
5 | =================== | |
6 |
|
6 | |||
7 |
|
7 | #TODO | ||
8 | RhodeCode Enterprise runs inside a Nix managed environment. This ensures build |
|
|||
9 | environment dependencies are correctly declared and installed during setup. |
|
|||
10 | It also enables atomic upgrades, rollbacks, and multiple instances of RhodeCode |
|
|||
11 | Enterprise running with isolation. |
|
|||
12 |
|
||||
13 | To set up RhodeCode Enterprise inside the Nix environment, use the following steps: |
|
|||
14 |
|
||||
15 |
|
||||
16 |
|
||||
17 | Setup Nix Package Manager |
|
|||
18 | ------------------------- |
|
|||
19 |
|
||||
20 | To install the Nix Package Manager, please run:: |
|
|||
21 |
|
||||
22 | $ curl https://releases.nixos.org/nix/nix-2.3.4/install | sh |
|
|||
23 |
|
||||
24 | or go to https://nixos.org/nix/ and follow the installation instructions. |
|
|||
25 | Once this is correctly set up on your system, you should be able to use the |
|
|||
26 | following commands: |
|
|||
27 |
|
||||
28 | * `nix-env` |
|
|||
29 |
|
||||
30 | * `nix-shell` |
|
|||
31 |
|
||||
32 |
|
||||
33 | .. tip:: |
|
|||
34 |
|
||||
35 | Update your channels frequently by running ``nix-channel --update``. |
|
|||
36 |
|
||||
37 | .. note:: |
|
|||
38 |
|
||||
39 | To uninstall nix run the following: |
|
|||
40 |
|
||||
41 | remove the . "$HOME/.nix-profile/etc/profile.d/nix.sh" line in your ~/.profile or ~/.bash_profile |
|
|||
42 | rm -rf $HOME/{.nix-channels,.nix-defexpr,.nix-profile,.config/nixpkgs} |
|
|||
43 | sudo rm -rf /nix |
|
|||
44 |
|
||||
45 | Switch nix to the latest STABLE channel |
|
|||
46 | --------------------------------------- |
|
|||
47 |
|
||||
48 | run:: |
|
|||
49 |
|
||||
50 | nix-channel --add https://nixos.org/channels/nixos-20.03 nixpkgs |
|
|||
51 |
|
||||
52 | Followed by:: |
|
|||
53 |
|
||||
54 | nix-channel --update |
|
|||
55 | nix-env -i nix-2.3.4 |
|
|||
56 |
|
||||
57 |
|
||||
58 | Install required binaries |
|
|||
59 | ------------------------- |
|
|||
60 |
|
||||
61 | We need some handy tools first. |
|
|||
62 |
|
||||
63 | run:: |
|
|||
64 |
|
||||
65 | nix-env -i nix-prefetch-hg |
|
|||
66 | nix-env -i nix-prefetch-git |
|
|||
67 |
|
||||
68 |
|
||||
69 | Speed up JS build by installing PhantomJS |
|
|||
70 | ----------------------------------------- |
|
|||
71 |
|
||||
72 | PhantomJS will be downloaded each time nix-shell is invoked. To speed this by |
|
|||
73 | setting already downloaded version do this:: |
|
|||
74 |
|
||||
75 | nix-env -i phantomjs-2.1.1 |
|
|||
76 |
|
||||
77 | # and set nix bin path |
|
|||
78 | export PATH=$PATH:~/.nix-profile/bin |
|
|||
79 |
|
||||
80 |
|
||||
81 | Clone the required repositories |
|
|||
82 | ------------------------------- |
|
|||
83 |
|
||||
84 | After Nix is set up, clone the RhodeCode Enterprise Community Edition and |
|
|||
85 | RhodeCode VCSServer repositories into the same directory. |
|
|||
86 | RhodeCode currently is using Mercurial Version Control System, please make sure |
|
|||
87 | you have it installed before continuing. |
|
|||
88 |
|
||||
89 | To obtain the required sources, use the following commands:: |
|
|||
90 |
|
||||
91 | mkdir rhodecode-develop && cd rhodecode-develop |
|
|||
92 | hg clone -u default https://code.rhodecode.com/rhodecode-enterprise-ce |
|
|||
93 | hg clone -u default https://code.rhodecode.com/rhodecode-vcsserver |
|
|||
94 |
|
||||
95 | .. note:: |
|
|||
96 |
|
||||
97 | If you cannot clone the repository, please contact us via support@rhodecode.com |
|
|||
98 |
|
||||
99 |
|
||||
100 | Install some required libraries |
|
|||
101 | ------------------------------- |
|
|||
102 |
|
||||
103 | There are some required drivers and dev libraries that we need to install to |
|
|||
104 | test RhodeCode under different types of databases. For example in Ubuntu we |
|
|||
105 | need to install the following. |
|
|||
106 |
|
||||
107 | required libraries:: |
|
|||
108 |
|
||||
109 | # svn related |
|
|||
110 | sudo apt-get install libapr1-dev libaprutil1-dev |
|
|||
111 | sudo apt-get install libsvn-dev |
|
|||
112 | # libcurl required too |
|
|||
113 | sudo apt-get install libcurl4-openssl-dev |
|
|||
114 | # mysql/pg server for development, optional |
|
|||
115 | sudo apt-get install mysql-server libmysqlclient-dev |
|
|||
116 | sudo apt-get install postgresql postgresql-contrib libpq-dev |
|
|||
117 |
|
||||
118 |
|
||||
119 |
|
||||
120 | Enter the Development Shell |
|
|||
121 | --------------------------- |
|
|||
122 |
|
||||
123 | The final step is to start the development shells. To do this, run the |
|
|||
124 | following command from inside the cloned repository:: |
|
|||
125 |
|
||||
126 | # first, the vcsserver |
|
|||
127 | cd ~/rhodecode-vcsserver |
|
|||
128 | nix-shell |
|
|||
129 |
|
||||
130 | # then enterprise sources |
|
|||
131 | cd ~/rhodecode-enterprise-ce |
|
|||
132 | nix-shell |
|
|||
133 |
|
||||
134 | .. note:: |
|
|||
135 |
|
||||
136 | On the first run, this will take a while to download and optionally compile |
|
|||
137 | a few things. The following runs will be faster. The development shell works |
|
|||
138 | fine on both MacOS and Linux platforms. |
|
|||
139 |
|
||||
140 |
|
||||
141 | Create config.nix for development |
|
|||
142 | --------------------------------- |
|
|||
143 |
|
||||
144 | In order to run proper tests and setup linking across projects, a config.nix |
|
|||
145 | file needs to be setup:: |
|
|||
146 |
|
||||
147 | # create config |
|
|||
148 | mkdir -p ~/.nixpkgs |
|
|||
149 | touch ~/.nixpkgs/config.nix |
|
|||
150 |
|
||||
151 | # put the below content into the ~/.nixpkgs/config.nix file |
|
|||
152 | # adjusts, the path to where you cloned your repositories. |
|
|||
153 |
|
||||
154 | { |
|
|||
155 | rc = { |
|
|||
156 | sources = { |
|
|||
157 | rhodecode-vcsserver = "/home/dev/rhodecode-vcsserver"; |
|
|||
158 | rhodecode-enterprise-ce = "/home/dev/rhodecode-enterprise-ce"; |
|
|||
159 | rhodecode-enterprise-ee = "/home/dev/rhodecode-enterprise-ee"; |
|
|||
160 | }; |
|
|||
161 | }; |
|
|||
162 | } |
|
|||
163 |
|
||||
164 |
|
||||
165 |
|
||||
166 | Creating a Development Configuration |
|
|||
167 | ------------------------------------ |
|
|||
168 |
|
||||
169 | To create a development environment for RhodeCode Enterprise, |
|
|||
170 | use the following steps: |
|
|||
171 |
|
||||
172 | 1. Create a copy of vcsserver config: |
|
|||
173 | `cp ~/rhodecode-vcsserver/configs/development.ini ~/rhodecode-vcsserver/configs/dev.ini` |
|
|||
174 | 2. Create a copy of rhodocode config: |
|
|||
175 | `cp ~/rhodecode-enterprise-ce/configs/development.ini ~/rhodecode-enterprise-ce/configs/dev.ini` |
|
|||
176 | 3. Adjust the configuration settings to your needs if needed. |
|
|||
177 |
|
||||
178 | .. note:: |
|
|||
179 |
|
||||
180 | It is recommended to use the name `dev.ini` since it's included in .hgignore file. |
|
|||
181 |
|
||||
182 |
|
||||
183 | Setup the Development Database |
|
|||
184 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
|||
185 |
|
||||
186 | To create a development database, use the following example. This is a one |
|
|||
187 | time operation executed from the nix-shell of rhodecode-enterprise-ce sources :: |
|
|||
188 |
|
||||
189 | rc-setup-app dev.ini \ |
|
|||
190 | --user=admin --password=secret \ |
|
|||
191 | --email=admin@example.com \ |
|
|||
192 | --repos=~/my_dev_repos |
|
|||
193 |
|
||||
194 |
|
||||
195 | Compile CSS and JavaScript |
|
|||
196 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
|||
197 |
|
||||
198 | To use the application's frontend and prepare it for production deployment, |
|
|||
199 | you will need to compile the CSS and JavaScript with Grunt. |
|
|||
200 | This is easily done from within the nix-shell using the following command:: |
|
|||
201 |
|
||||
202 | make web-build |
|
|||
203 |
|
||||
204 | When developing new features you will need to recompile following any |
|
|||
205 | changes made to the CSS or JavaScript files when developing the code:: |
|
|||
206 |
|
||||
207 | grunt watch |
|
|||
208 |
|
||||
209 | This prepares the development (with comments/whitespace) versions of files. |
|
|||
210 |
|
||||
211 | Start the Development Servers |
|
|||
212 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
|||
213 |
|
||||
214 | From the rhodecode-vcsserver directory, start the development server in another |
|
|||
215 | nix-shell, using the following command:: |
|
|||
216 |
|
||||
217 | pserve configs/dev.ini |
|
|||
218 |
|
||||
219 | In the adjacent nix-shell which you created for your development server, you may |
|
|||
220 | now start CE with the following command:: |
|
|||
221 |
|
||||
222 |
|
||||
223 | pserve --reload configs/dev.ini |
|
|||
224 |
|
||||
225 | .. note:: |
|
|||
226 |
|
||||
227 | `--reload` flag will automatically reload the server when source file changes. |
|
|||
228 |
|
||||
229 |
|
||||
230 | Run the Environment Tests |
|
|||
231 | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
|||
232 |
|
||||
233 | Please make sure that the tests are passing to verify that your environment is |
|
|||
234 | set up correctly. RhodeCode uses py.test to run tests. |
|
|||
235 | While your instance is running, start a new nix-shell and simply run |
|
|||
236 | ``make test`` to run the basic test suite. |
|
|||
237 |
|
||||
238 |
|
8 | |||
239 | Need Help? |
|
9 | Need Help? | |
240 | ^^^^^^^^^^ |
|
10 | ^^^^^^^^^^ |
@@ -43,7 +43,6 b' and commit files and |repos| while manag' | |||||
43 | install/install-database |
|
43 | install/install-database | |
44 | install/install-steps |
|
44 | install/install-steps | |
45 | admin/system-overview |
|
45 | admin/system-overview | |
46 | nix/default-env |
|
|||
47 | admin/system-admin |
|
46 | admin/system-admin | |
48 | admin/user-admin |
|
47 | admin/user-admin | |
49 | admin/repo-admin |
|
48 | admin/repo-admin | |
@@ -80,9 +79,9 b' and commit files and |repos| while manag' | |||||
80 |
|
79 | |||
81 | .. toctree:: |
|
80 | .. toctree:: | |
82 | :maxdepth: 2 |
|
81 | :maxdepth: 2 | |
83 |
:caption: RhodeCode |
|
82 | :caption: RhodeCode RCstack Documentation | |
84 |
|
83 | |||
85 |
RhodeCode Installer <https://docs.rhodecode.com/ |
|
84 | RhodeCode RCstack Installer <https://docs.rhodecode.com/rcstack/> | |
86 |
|
85 | |||
87 | .. toctree:: |
|
86 | .. toctree:: | |
88 | :maxdepth: 1 |
|
87 | :maxdepth: 1 |
@@ -3,108 +3,11 b'' | |||||
3 | Quick Start Installation Guide |
|
3 | Quick Start Installation Guide | |
4 | ============================== |
|
4 | ============================== | |
5 |
|
5 | |||
6 | .. important:: |
|
6 | Since version 5.0.0 Rhodecode runs in Docker, and to get |RCE| up and running, | |
7 |
|
7 | you need to use RCstack installer - <https://docs.rhodecode.com/rcstack/install/installation.html/> | ||
8 | These are quick start instructions. To optimize your |RCE|, |
|
|||
9 | |RCC|, and |RCT| usage, read the more detailed instructions in our guides. |
|
|||
10 | For detailed installation instructions, see |
|
|||
11 | :ref:`RhodeCode Control Documentation <control:rcc>` |
|
|||
12 |
|
||||
13 | .. tip:: |
|
|||
14 |
|
||||
15 | If using a non-SQLite database, install and configure the database, create |
|
|||
16 | a new user, and grant permissions. You will be prompted for this user's |
|
|||
17 | credentials during |RCE| installation. See the relevant database |
|
|||
18 | documentation for more details. |
|
|||
19 |
|
||||
20 | To get |RCE| up and running, run through the below steps: |
|
|||
21 |
|
||||
22 | 1. Download the latest |RCC| installer from `rhodecode.com/download`_. |
|
|||
23 | If you don't have an account, sign up at `rhodecode.com/register`_. |
|
|||
24 |
|
||||
25 | 2. Run the |RCC| installer and accept the End User Licence using the |
|
|||
26 | following example: |
|
|||
27 |
|
||||
28 | .. code-block:: bash |
|
|||
29 |
|
||||
30 | $ chmod +x RhodeCode-installer-linux-* |
|
|||
31 | $ ./RhodeCode-installer-linux-* |
|
|||
32 |
|
||||
33 | Do you accept the RhodeCode Control license? |
|
|||
34 | Press [Y] to accept license and [V] to view license text: y |
|
|||
35 |
|
||||
36 |
|
||||
37 | .. important:: |
|
|||
38 |
|
||||
39 | We recommend running RhodeCode as a non-root user, such as `rhodecode`; |
|
|||
40 | this user must have a proper home directory. |
|
|||
41 | Either log in as that user to install the software, or do it as root |
|
|||
42 | with `sudo -i -u rhodecode ./RhodeCode-installer-linux-*` |
|
|||
43 |
|
||||
44 |
|
||||
45 | 3. Install a VCS Server, and configure it to start at boot. |
|
|||
46 |
|
||||
47 | .. code-block:: bash |
|
|||
48 |
|
||||
49 | $ rccontrol install VCSServer |
|
|||
50 |
|
8 | |||
51 | Agree to the licence agreement? [y/N]: y |
|
9 | Please refer to RCstack documentation for | |
52 | IP to start the server on [127.0.0.1]: |
|
|||
53 | Port for the server to start [10005]: |
|
|||
54 | Creating new instance: vcsserver-1 |
|
|||
55 | Installing RhodeCode VCSServer |
|
|||
56 | Configuring RhodeCode VCS Server ... |
|
|||
57 | Supervisord state is: RUNNING |
|
|||
58 | Added process group vcsserver-1 |
|
|||
59 |
|
||||
60 |
|
||||
61 | 4. Install |RCEE| or |RCCE|. If using MySQL or PostgreSQL, during |
|
|||
62 | installation you'll be asked for your database credentials, so have them at hand. |
|
|||
63 | Mysql or Postgres needs to be running and a new database needs to be created. |
|
|||
64 | You don't need any credentials or to create a database for SQLite. |
|
|||
65 |
|
||||
66 | .. code-block:: bash |
|
|||
67 | :emphasize-lines: 11-16 |
|
|||
68 |
|
||||
69 | $ rccontrol install Community |
|
|||
70 |
|
||||
71 | or |
|
|||
72 |
|
||||
73 | $ rccontrol install Enterprise |
|
|||
74 |
|
10 | |||
75 | Username [admin]: username |
|
|||
76 | Password (min 6 chars): |
|
|||
77 | Repeat for confirmation: |
|
|||
78 | Email: your@mail.com |
|
|||
79 | Respositories location [/home/brian/repos]: |
|
|||
80 | IP to start the Enterprise server on [127.0.0.1]: |
|
|||
81 | Port for the Enterprise server to use [10004]: |
|
|||
82 | Database type - [s]qlite, [m]ysql, [p]ostresql: |
|
|||
83 | PostgreSQL selected |
|
|||
84 | Database host [127.0.0.1]: |
|
|||
85 | Database port [5432]: |
|
|||
86 | Database username: db-user-name |
|
|||
87 | Database password: somepassword |
|
|||
88 | Database name: example-db-name |
|
|||
89 |
|
||||
90 | 5. Check the status of your installation. You |RCEE|/|RCCE| instance runs |
|
|||
91 | on the URL displayed in the status message. |
|
|||
92 |
|
||||
93 | .. code-block:: bash |
|
|||
94 |
|
||||
95 | $ rccontrol status |
|
|||
96 |
|
||||
97 | - NAME: enterprise-1 |
|
|||
98 | - STATUS: RUNNING |
|
|||
99 | - TYPE: Enterprise |
|
|||
100 | - VERSION: 4.1.0 |
|
|||
101 | - URL: http://127.0.0.1:10003 |
|
|||
102 |
|
||||
103 | - NAME: vcsserver-1 |
|
|||
104 | - STATUS: RUNNING |
|
|||
105 | - TYPE: VCSServer |
|
|||
106 | - VERSION: 4.1.0 |
|
|||
107 | - URL: http://127.0.0.1:10001 |
|
|||
108 |
|
11 | |||
109 | .. note:: |
|
12 | .. note:: | |
110 |
|
13 |
General Comments 0
You need to be logged in to leave comments.
Login now