annotate man/sci.7.in @ 13:67348ec46425

man: add manual pages
author David Demelier <markand@malikania.fr>
date Wed, 30 Jun 2021 11:33:54 +0200
parents
children 081e1c258e64
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 .\"
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 .\" Copyright (c) 2021 David Demelier <markand@malikania.fr>
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 .\"
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 .\" Permission to use, copy, modify, and/or distribute this software for any
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 .\" purpose with or without fee is hereby granted, provided that the above
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 .\" copyright notice and this permission notice appear in all copies.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 .\"
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 .\"
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 .Dd June 30, 2021
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 .Dt SCI 7
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 .Os
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .\" NAME
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 .Sh NAME
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 .Nm sci
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 .Nd simple continuous integration framework
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 .\" DESCRIPTION
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 .Sh DESCRIPTION
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 The
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 .Nm
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 framework is a set of utilities to run automated tasks similarly to alternatives
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 such as jenkins or buildbot.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 .Pp
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 In contrast to those,
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 .Nm sci
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 does not know how to build project nor how to retrieve information when to build
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 them. It only works by user user project script to be executed upon addition of
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 jobs.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 .Pp
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 It is designed in mind to be as simple as possible to improve flexibility and
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 simple documentation.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 .\" OVERVIEW
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 .Sh OVERVIEW
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 The
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 .Nm
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 framework is split into four individual programs that are used independently.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 The communication workflow is:
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 .Bd -literal
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 scid <-- (UNIX socket) --> scictl
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 ^-- (UNIX socket) --> sciwebd <-- (HTTP with JSON) --> sciworkerd
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 .Ed
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 .Pp
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 The
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 .Nm scid
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 daemon is the unique access to the SQLite database and simply take requests over
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 a UNIX socket to retrieve and set results into it.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 .Pp
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 The
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 .Nm scictl
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 is the administrative utility to update the database using a command line
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 interface. It can also be used to create jobs and their result manually if
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 wanted.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 .Pp
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 The
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 .Nm sciwebd
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 is a CGI/FastCGI utility daemon that parse HTTP requests and dispatch them to
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 .Nm scid
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 using a JSON API. As it is written using CGI it does not involve SSL nor
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 authentication and must be done using a HTTP web server proxy if needed.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 .Pp
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 The
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 .Nm sciworkerd
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 is a daemon executing jobs on a host machine. It access the jobs listing by
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 querying
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 .Nm sciwebd
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 and output their result. By this way, it can run on remotes machine while both
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 .Nm scid
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 and
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 .Nm sciwebd
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 can run on a different machine.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 .\" ENTITIES
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 .Sh ENTITIES
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 The process handle different kind of entities in the database.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 .\" PROJECTS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 .Ss PROJECTS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 A project is an user description of what to be automated and tested. It has a
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 name, description, project URL and a script to execute. They can be created
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 using the
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 .Cm project-add
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 command from
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 .Nm scictl .
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 .\" JOBS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 .Ss JOBS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 Jobs are tasks to be performed by any worker for a given project. It has an user
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 arbitrary tag that will be passed to the project script as sole argument. In
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 contrats to many CI system, the sci framework has no information about how to
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 build and access a project and as such the job tag can be anything up to the
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 user (a SCM repo revision, date, simple id, etc).
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 .\" WORKERS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 .Ss WORKERS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 A worker is a host system that connects to
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 .Nm sciwebd
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 using HTTP protocol to get acces to jobs to perform, execute them and finally
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 send the result back. They have been designed to use HTTP to allow remote usage.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 .\" JOB RESULTS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 .Ss JOB RESULTS
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 A job result is the detail about a job ran by a worker for a specific project.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 If a job exists for one project and there are four workers on the user
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 installation, there will be four job results. It has an exit code (got from the
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 user script), a log console (capture from standard output and error) and a
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 timestamp when it was started.
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 .\" SEE ALSO
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 .Sh SEE ALSO
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 .Xr scid 8 ,
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 .Xr scictl 8 ,
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 .Xr sciwebd 8 ,
67348ec46425 man: add manual pages
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 .Xr sciworkerd 8