##// END OF EJS Templates
docs(dev): updated dev docs
super-admin -
Show More
@@ -1,179 +1,206 b''
1 .. _dev-setup:
1 .. _dev-setup:
2
2
3 ========================
3 ========================
4 Setup of Development env
4 Setup of Development env
5 ========================
5 ========================
6
6
7
7 These instructions are meant for developing RhodeCode from source code.
8 To setup a development environment with all needed services for development follow the below actions:
8 To setup a development environment with all needed services for development follow the below actions:
9
9
10
10
11 define dev workspace home
12 +++++++++++++++++++++++++
13
14 Setup env variable WORKSPACE_HOME to your absolute path where you repositories for dev are stored. e.g
15
16 example:
17
18 `WORKSPACE_HOME=/media/psf/Home/workspace`
19
20 Set this on bash:
21
22 .. code-block:: bash
23
24 export WORKSPACE_HOME=/media/psf/Home/workspace
25
26
11 get rcstack & docker
27 get rcstack & docker
12 ++++++++++++++++++++
28 ++++++++++++++++++++
13
29
14 To quickly get and install rcstack run this command
30 To quickly get and install latest rcstack run this command
15
31
16 .. code-block:: bash
32 .. code-block:: bash
17
33
18 mkdir rhodecode-docker && cd rhodecode-docker
34 # create the rhodecode-docker dir, and cd into it
19 curl -L -s -o rcstack https://dls.rhodecode.com/get-rcstack && chmod +x rcstack
35 mkdir -p $WORKSPACE_HOME/rhodecode-docker && cd $WORKSPACE_HOME/rhodecode-docker
36
37 # get latest rcstack
38 curl -L -s -o rcstack https://code.rhodecode.com/rhodecode-enterprise-docker/raw/master/scripts/rcstack/rcstack && chmod +x rcstack
39
20 ./rcstack init
40 ./rcstack init
21
41
22
42
23 Previously used `./rcstack init` command will setup docker, and bootstrap the env, but we still need to fetch dev-tools
43 Previously used `./rcstack init` command will setup docker, and bootstrap the env, but we still need to fetch dev-tools
24
44
25 .. code-block:: bash
45 .. code-block:: bash
26
46
27 # make sure we got the latest dev-tools installed
47 # make sure we got the latest dev-tools installed
28 curl -L -s -o dev-tools https://code.rhodecode.com/rhodecode-enterprise-docker/raw/master/scripts/dev-tools/dev-tools && chmod +x dev-tools
48 curl -L -s -o dev-tools https://code.rhodecode.com/rhodecode-enterprise-docker/raw/master/scripts/dev-tools/dev-tools && chmod +x dev-tools
29
49
30 # Please check available options using --help
50 # Please check available options using --help
31 ./dev-tools --help
51 ./dev-tools --help
32
52
33
53
34
54
35 Obtain source code
55 Obtain source code
36 ++++++++++++++++++
56 ++++++++++++++++++
37
57
38 Please clone the following repositories at the same level as :file:`rhodecode-docker` dir is created
39
58
40 .. code-block:: bash
59 Please clone the following repositories into the WORKSPACE_HOME directory
41
60
42 hg clone https://code.rhodecode.com/internal/rhodecode-vcsserver
61 For CE development:
43 hg clone https://code.rhodecode.com/internal/rhodecode-enterprise-ce
44 hg clone https://code.rhodecode.com/internal/rhodecode-enterprise-ee
45
62
63 .. code-block:: bash
46
64
47 Setup env variable WORKSPACE_HOME to your absolute path where you repositories for dev are stored. e.g
65 hg clone https://code.rhodecode.com/rhodecode-vcsserver
48
66 hg clone https://code.rhodecode.com/rhodecode-enterprise-ce
49 example:
67 # make a dummy repo without source code
68 mkdir rhodecode-enterprise-ee
50
69
51 `WORKSPACE_HOME=/media/psf/Home/workspace`
52
70
53 Set this on bash:
71 for EE development:
54
72
55 .. code-block:: bash
73 .. code-block:: bash
56
74
57 export WORKSPACE_HOME=/media/psf/Home/workspace
75 hg clone https://code.rhodecode.com/internal/rhodecode-vcsserver
76 hg clone https://code.rhodecode.com/internal/rhodecode-enterprise-ce
77 hg clone https://code.rhodecode.com/internal/rhodecode-enterprise-ee
58
78
59
79
60 Finally this is the structure you should get:
80 Finally this is the structure you should get:
61
81
62 .. code-block:: bash
82 .. code-block:: bash
63
83
64 ls -la $WORKSPACE_HOME
84 ls -la $WORKSPACE_HOME
65 drwxr-xr-x 1 docker docker 928 Dec 18 23:46 rhodecode-docker
85 drwxr-xr-x 1 docker docker 928 Dec 18 23:46 rhodecode-docker
66 drwxr-xr-x 1 docker docker 1504 Dec 18 23:46 rhodecode-enterprise-ce
86 drwxr-xr-x 1 docker docker 1504 Dec 18 23:46 rhodecode-enterprise-ce
67 drwxr-xr-x 1 docker docker 1280 Dec 18 23:46 rhodecode-enterprise-ee
87 drwxr-xr-x 1 docker docker 1280 Dec 18 23:46 rhodecode-enterprise-ee
68 drwxr-xr-x 1 docker docker 832 Dec 18 23:46 rhodecode-vcsserver
88 drwxr-xr-x 1 docker docker 832 Dec 18 23:46 rhodecode-vcsserver
69
89
70
90
71 run dev-env
91 run dev-env
72 +++++++++++
92 +++++++++++
73
93
74 First start with setting up a dev builds for dev images
94 First start with setting up a dev builds for dev images
75
95
76 .. code-block:: bash
96 .. code-block:: bash
77
97
78 # execute from cd $WORKSPACE_HOME/rhodecode-docker
98 # execute from cd $WORKSPACE_HOME/rhodecode-docker
79 ./rcstack cli set-runtime-image beta
99 ./rcstack cli set-runtime-image beta
80
100
81
101
82 To start developing we need few services to run, we can run this using `dev-env`
102 To start developing we need few services to run, we can run this using `dev-env`
83
103
84
104
85 .. code-block:: bash
105 .. code-block:: bash
86
106
87 # execute from cd $WORKSPACE_HOME/rhodecode-docker
107 # execute from cd $WORKSPACE_HOME/rhodecode-docker
88 ./dev-tools dev-env
108 ./dev-tools dev-env
89
109
90
110
111 .. note::
112
113 There's an option to run dev version of each of the service, e.g if ssh or svn should be tested it can be run like
114 ./dev-tools ssh
115 ./dev-tools svn
116
117
91 You can check the status of services by running
118 You can check the status of services by running
92
119
93 .. code-block:: bash
120 .. code-block:: bash
94
121
95 # execute from cd $WORKSPACE_HOME/rhodecode-docker
122 # execute from cd $WORKSPACE_HOME/rhodecode-docker
96 ./rcstack status
123 ./rcstack status
97
124
98
125
99 Prepare services in develop mode
126 Prepare services in develop mode
100 ++++++++++++++++++++++++++++++++
127 ++++++++++++++++++++++++++++++++
101
128
102 copy the runtime.env as our dev.env:
129 copy the runtime.env as our dev.env:
103
130
104 .. code-block:: bash
131 .. code-block:: bash
105
132
106 cp .custom/.runtime.env .custom/.dev.env
133 cp .custom/.runtime.env .custom/.dev.env
107
134
108
135
109 go to rhodecode-vcsserver and run
136 go to rhodecode-vcsserver and run
110
137
111 .. code-block:: bash
138 .. code-block:: bash
112
139
113 # execute from cd $WORKSPACE_HOME/rhodecode-vcsserver
140 # execute from cd $WORKSPACE_HOME/rhodecode-vcsserver
114 mkdir -p .dev/
141 mkdir -p .dev/
115 echo "make sh" > .dev/dev-env.sh && chmod +x .dev/dev-env.sh
142 echo "make sh" > .dev/dev-env.sh && chmod +x .dev/dev-env.sh
116 cp configs/development.ini .dev/dev.ini
143 cp configs/development.ini .dev/dev.ini
117
144
118
145
119 go to rhodecode-enterprise-ce and run
146 go to rhodecode-enterprise-ce and run
120
147
121 .. code-block:: bash
148 .. code-block:: bash
122
149
123 # execute from cd $WORKSPACE_HOME/rhodecode-enterprise-ce
150 # execute from cd $WORKSPACE_HOME/rhodecode-enterprise-ce
124 mkdir -p .dev/
151 mkdir -p .dev/
125 echo "make sh" > .dev/dev-env.sh && chmod +x .dev/dev-env.sh
152 echo "make sh" > .dev/dev-env.sh && chmod +x .dev/dev-env.sh
126 cp configs/development.ini .dev/dev.ini
153 cp configs/development.ini .dev/dev.ini
127
154
128
155
129 run services (preferably in two separate shells)
156 run services (preferably in two separate shells)
130 ++++++++++++++++++++++++++++++++++++++++++++++++
157 ++++++++++++++++++++++++++++++++++++++++++++++++
131
158
132
159
133 .. code-block:: bash
160 .. code-block:: bash
134
161
135 cd $WORKSPACE_HOME/rhodecode-docker
162 cd $WORKSPACE_HOME/rhodecode-docker
136
163
137 # shell 1
164 # shell 1
138 ./dev-tools ce
165 ./dev-tools ce
139 rhodecode-enterprise-ce
166 rhodecode-enterprise-ce
140
167
141 # shell 2
168 # shell 2
142 ./dev-tools vcs
169 ./dev-tools vcs
143 rhodecode-vcsserver
170 rhodecode-vcsserver
144
171
145
172
146
173
147 Init DB
174 Init DB
148 +++++++
175 +++++++
149
176
150
177
151 .. code-block:: bash
178 .. code-block:: bash
152
179
153 # run from enterprise shell
180 # run from enterprise shell
154 rhodecode-enterprise-ce
181 rhodecode-enterprise-ce
155
182
156 /usr/local/bin/rhodecode_bin/bin/rc-setup-app \
183 /usr/local/bin/rhodecode_bin/bin/rc-setup-app \
157 /home/rhodecode/rhodecode-enterprise-ce/.dev/dev.ini \
184 /home/rhodecode/rhodecode-enterprise-ce/.dev/dev.ini \
158 --force-yes \
185 --force-yes \
159 --skip-existing-db \
186 --skip-existing-db \
160 --user=admin \
187 --user=admin \
161 --password=secret4 \
188 --password=secret4 \
162 --email=admin@example.com \
189 --email=admin@example.com \
163 --repos=/var/opt/rhodecode_repo_store
190 --repos=/var/opt/rhodecode_repo_store
164
191
165
192
166 .. note::
193 .. note::
167
194
168 --user=admin --password=secret4 used here can be used to log-in to first super-admin account in web UI
195 --user=admin --password=secret4 used here can be used to log-in to first super-admin account in web UI
169
196
170
197
171 Manually Upgrade DB
198 Manually Upgrade DB
172 +++++++++++++++++++
199 +++++++++++++++++++
173
200
174
201
175 .. code-block:: bash
202 .. code-block:: bash
176
203
177 /usr/local/bin/rhodecode_bin/bin/rc-upgrade-db \
204 /usr/local/bin/rhodecode_bin/bin/rc-upgrade-db \
178 /home/rhodecode/rhodecode-enterprise-ce/.dev/dev.ini \
205 /home/rhodecode/rhodecode-enterprise-ce/.dev/dev.ini \
179 --force-yes
206 --force-yes
General Comments 0
You need to be logged in to leave comments. Login now