Mercurial > sci
annotate man/sci.7 @ 71:ef8f9c986080
scid: fix worker with . in their names
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 24 Jan 2023 10:04:47 +0100 |
parents | 5076be758687 |
children | 71cd8447e3a4 |
rev | line source |
---|---|
13 | 1 .\" |
32
081e1c258e64
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
13
diff
changeset
|
2 .\" Copyright (c) 2021-2022 David Demelier <markand@malikania.fr> |
13 | 3 .\" |
4 .\" Permission to use, copy, modify, and/or distribute this software for any | |
5 .\" purpose with or without fee is hereby granted, provided that the above | |
6 .\" copyright notice and this permission notice appear in all copies. | |
7 .\" | |
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
15 .\" | |
35 | 16 .Dd August 04, 2022 |
13 | 17 .Dt SCI 7 |
18 .Os | |
19 .\" NAME | |
20 .Sh NAME | |
21 .Nm sci | |
22 .Nd simple continuous integration framework | |
23 .\" DESCRIPTION | |
24 .Sh DESCRIPTION | |
25 The | |
26 .Nm | |
27 framework is a set of utilities to run automated tasks similarly to alternatives | |
28 such as jenkins or buildbot. | |
29 .Pp | |
30 In contrast to those, | |
31 .Nm sci | |
35 | 32 does not know how to build project nor how to retrieve information when to |
33 build them. It only works by user project scripts to be executed upon addition | |
34 of jobs. | |
13 | 35 .Pp |
36 It is designed in mind to be as simple as possible to improve flexibility and | |
37 simple documentation. | |
38 .\" OVERVIEW | |
39 .Sh OVERVIEW | |
40 The | |
41 .Nm | |
35 | 42 framework is split into three individual programs that are used independently. |
13 | 43 The communication workflow is: |
44 .Bd -literal | |
35 | 45 o ---- scictl |
46 / | |
47 scid (HTTP) o | |
66
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
48 | \\ |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
49 | o ---- sciworkerd |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
50 SQLite |
13 | 51 .Ed |
52 .Pp | |
53 The | |
54 .Nm scid | |
35 | 55 daemon is the unique access to the SQLite database and simply take requests |
56 over an HTTP REST API to retrieve and set results into it. | |
13 | 57 .Pp |
58 The | |
59 .Nm scictl | |
60 is the administrative utility to update the database using a command line | |
61 interface. It can also be used to create jobs and their result manually if | |
62 wanted. | |
63 .Pp | |
64 The | |
65 .Nm sciworkerd | |
66 is a daemon executing jobs on a host machine. It access the jobs listing by | |
67 querying | |
68 .Nm scid | |
35 | 69 and output their result. |
13 | 70 .\" ENTITIES |
71 .Sh ENTITIES | |
66
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
72 The process handles different kind of entities in the database. |
13 | 73 .\" PROJECTS |
74 .Ss PROJECTS | |
64
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
75 A project is a user description of what to be automated and tested. It has a |
13 | 76 name, description, project URL and a script to execute. They can be created |
77 using the | |
78 .Cm project-add | |
79 command from | |
80 .Nm scictl . | |
81 .\" JOBS | |
82 .Ss JOBS | |
83 Jobs are tasks to be performed by any worker for a given project. It has an user | |
84 arbitrary tag that will be passed to the project script as sole argument. In | |
85 contrats to many CI system, the sci framework has no information about how to | |
86 build and access a project and as such the job tag can be anything up to the | |
87 user (a SCM repo revision, date, simple id, etc). | |
88 .\" WORKERS | |
89 .Ss WORKERS | |
90 A worker is a host system that connects to | |
35 | 91 .Nm scid |
13 | 92 using HTTP protocol to get acces to jobs to perform, execute them and finally |
93 send the result back. They have been designed to use HTTP to allow remote usage. | |
94 .\" JOB RESULTS | |
95 .Ss JOB RESULTS | |
96 A job result is the detail about a job ran by a worker for a specific project. | |
97 If a job exists for one project and there are four workers on the user | |
98 installation, there will be four job results. It has an exit code (got from the | |
99 user script), a log console (capture from standard output and error) and a | |
100 timestamp when it was started. | |
64
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
101 .\" GETTING STARTED |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
102 .Sh GETTING STARTED |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
103 To setup the |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
104 .Nm |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
105 framework you need at least: |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
106 .Bl -enum |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
107 .It |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
108 A daemon |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
109 .Xr scid 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
110 running and accessible remotely. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
111 .It |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
112 One or more |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
113 .Xr sciworkerd 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
114 running on a machine that can access |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
115 .Xr scid 8 . |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
116 .It |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
117 Add some projects and register those workers using |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
118 .Xr scictl 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
119 utility. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
120 .El |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
121 .\" Setup scid |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
122 .Ss Setup scid |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
123 The |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
124 .Xr scid 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
125 daemon does not require much configuration, you can specify the database file |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
126 to use with its appropriate options. Otherwise, you can simply run the daemon |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
127 with no arguments. It will initialize the database and generate a default API |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
128 key that |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
129 .Xr scictl 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
130 and |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
131 .Xr sciworkerd 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
132 require to perform requests. Use the |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
133 .Cm api-get |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
134 command to get that key. |
66
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
135 .Pp |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
136 The |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
137 .Xr scid 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
138 program isn't a daemon by itself but a CGI or FastCGI process which needs to be |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
139 coupled with a dedicated web server. For the example let's use nginx and the |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
140 .Xr kfcgi 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
141 utility to spawn our FastCGI process. |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
142 .Pp |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
143 Configure the nginx server to include at least the following code snippet for a |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
144 specific virtual host (the |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
145 .Xr scid 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
146 process explicitly requires its own virtual host). |
64
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
147 .Bd -literal -offset indent |
66
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
148 server { |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
149 server_name sci.myhostname.fr; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
150 listen 80; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
151 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
152 location / { |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
153 fastcgi_param QUERY_STRING query_string; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
154 fastcgi_param REQUEST_METHOD $request_method; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
155 fastcgi_param CONTENT_TYPE $content_type; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
156 fastcgi_param CONTENT_LENGTH $content_length; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
157 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
158 fastcgi_param SCRIPT_NAME $fastcgi_script_name; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
159 fastcgi_param PATH_INFO $document_uri; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
160 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
161 fastcgi_param REQUEST_URI $request_uri; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
162 fastcgi_param DOCUMENT_URI $document_uri; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
163 fastcgi_param DOCUMENT_ROOT $document_root; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
164 fastcgi_param SERVER_PROTOCOL $server_protocol; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
165 fastcgi_param GATEWAY_INTERFACE CGI/1.1; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
166 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
167 fastcgi_param REMOTE_ADDR $remote_addr; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
168 fastcgi_param REMOTE_PORT $remote_port; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
169 fastcgi_param SERVER_ADDR $server_addr; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
170 fastcgi_param SERVER_PORT $server_port; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
171 fastcgi_param SERVER_NAME $server_name; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
172 fastcgi_param HTTPS $https; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
173 fastcgi_pass unix:/var/www/run/httpd.sock; |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
174 } |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
175 } |
64
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
176 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
177 .Pp |
66
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
178 Now, start the process using |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
179 .Xr kfcgi 8 . |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
180 It is recommended though, that the process lives in a clean chroot but in the |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
181 example we will skip that because |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
182 .Xr scid 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
183 cannot be built as static binary yet, you could as an alternative setup a |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
184 chroot where all required libraries are available in order to run |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
185 .Xr scid 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
186 inside of it. |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
187 .Pp |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
188 We will assume that the webserver is running with |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
189 .Em www |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
190 user and group which is the default also used with |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
191 .Xr kfcgi 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
192 utility. The webserver must have read/write access to the UNIX socket generated |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
193 with |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
194 .Xr kfcgi 8 . |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
195 .Pp |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
196 This command needs to be ran as root but it will drop privileges to |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
197 appropriate users and groups. See |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
198 .Xr kfcgi 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
199 for more details. |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
200 .Bd -literal -offset indent |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
201 # kfcgi -p / -- scid -f |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
202 Or |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
203 # kfcgi -p / -u www -U www -- scid -f -d /path/to/sci.db -t /path/to/theme |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
204 Or if you have a functional chroot (scid path is relative to it) |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
205 # kfcgi -p /srv/sci -- /usr/bin/scid -f |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
206 .Ed |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
207 .Pp |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
208 Make sure that |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
209 .Xr scid 8 |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
210 get read/write access to the default database path if you're not using the |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
211 .Fl d |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
212 option. Also don't forget the |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
213 .Fl f |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
214 option which indicates the process to run as FastCGI rather than plain CGI. |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
215 .Pp |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
216 If the command succeeded, Retrieve the stored key: |
64
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
217 .Bd -literal -offset indent |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
218 $ scid api-get |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
219 1234567890secretABCDEF |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
220 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
221 .Pp |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
222 Both |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
223 .Xr scictl 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
224 and |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
225 .Xr sciworkerd 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
226 understand the same options and environment variables. So let's set the API key |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
227 as environment variable for the next chapters. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
228 .Bd -literal -offset indent |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
229 export SCI_API_KEY=1234567890secretABCDEF |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
230 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
231 .Pp |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
232 If you run |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
233 .Xr scid 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
234 on a machine that is not on the same as the worker, you also |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
235 need to specify the |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
236 .Ev SCI_API_URL |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
237 environment variable. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
238 .Bd -literal -offset indent |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
239 export SCI_API_URL=http://127.0.0.1 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
240 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
241 .\" Setup a worker |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
242 .Ss Setup a worker |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
243 To register a worker, use the |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
244 .Cm worker-add |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
245 command from |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
246 .Xr scictl 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
247 utility. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
248 .Bd -literal -offset indent |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
249 scictl worker-add openbsd "OpenBSD 7.2" |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
250 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
251 .Pp |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
252 It is |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
253 .Em strongly |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
254 advised to run a |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
255 .Xr sciworkerd 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
256 instance inside a chroot or a virtual machine, remember that it will fetch the |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
257 script code remotely! |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
258 .Bd -literal -offset indent |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
259 $ sciworkerd |
66
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
260 Or more secure alternative |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
261 # chroot /src/sci /usr/bin/sciworkerd -j2 |
64
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
262 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
263 .Pp |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
264 Please make sure to read |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
265 .Xr sciworkerd 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
266 manual page for more tuning options. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
267 .\" Register a project |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
268 .Ss Register a project |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
269 Create a project named |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
270 .Em hello |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
271 with a description, URL, a homepage and a script file to execute. The script |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
272 code can be of any language but it's advised that you stick with some |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
273 interpreted language as many different workers may execute it. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
274 .Bd -literal -offset indent |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
275 $ scictl project-add hello "Hello World" "http://hello.org" "hello.sh" |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
276 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
277 .\" Register jobs |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
278 .Ss Register jobs |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
279 Now, you may want to register a job that will be executed for every worker. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
280 .Pp |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
281 Use the |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
282 .Cm job-add |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
283 command from |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
284 .Xr scictl 8 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
285 utility. The |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
286 .Ar tag |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
287 argument is the unique argument that will be passed to the script code. In our |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
288 case we will assume it's a revision from a SCM repository. |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
289 .Bd -literal -offset indent |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
290 $ scictl job-add hello 67470b67e460 |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
291 .Ed |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
292 .Pp |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
293 And after that, any |
562372396019
misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents:
35
diff
changeset
|
294 .Xr sciworkerd 8 |
66
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
295 instance will fetch the job, run it and send the result. It is best used with |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
296 your SCM to add automatic job when pushing changes. |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
297 .Pp |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
298 Note: Jobs that are created before the registration of a worker won't be |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
299 executed as it would create a high number of jobs to be performed each time you |
5076be758687
misc: update before 0.1.0 release
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
300 create a new worker. |
13 | 301 .\" SEE ALSO |
302 .Sh SEE ALSO | |
35 | 303 .Xr scictl 8 , |
13 | 304 .Xr scid 8 , |
305 .Xr sciworkerd 8 |