comparison man/sci.7 @ 35:084dee2bef50

man: updates
author David Demelier <markand@malikania.fr>
date Thu, 04 Aug 2022 18:01:29 +0200
parents man/sci.7.in@081e1c258e64
children 562372396019
comparison
equal deleted inserted replaced
34:e52c762d8ba8 35:084dee2bef50
1 .\"
2 .\" Copyright (c) 2021-2022 David Demelier <markand@malikania.fr>
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 .\"
16 .Dd August 04, 2022
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
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.
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
42 framework is split into three individual programs that are used independently.
43 The communication workflow is:
44 .Bd -literal
45 o ---- scictl
46 /
47 scid (HTTP) o
48 \\
49 o ---- sciworkerd
50 .Ed
51 .Pp
52 The
53 .Nm scid
54 daemon is the unique access to the SQLite database and simply take requests
55 over an HTTP REST API to retrieve and set results into it.
56 .Pp
57 The
58 .Nm scictl
59 is the administrative utility to update the database using a command line
60 interface. It can also be used to create jobs and their result manually if
61 wanted.
62 .Pp
63 The
64 .Nm sciworkerd
65 is a daemon executing jobs on a host machine. It access the jobs listing by
66 querying
67 .Nm scid
68 and output their result.
69 .\" ENTITIES
70 .Sh ENTITIES
71 The process handle different kind of entities in the database.
72 .\" PROJECTS
73 .Ss PROJECTS
74 A project is an user description of what to be automated and tested. It has a
75 name, description, project URL and a script to execute. They can be created
76 using the
77 .Cm project-add
78 command from
79 .Nm scictl .
80 .\" JOBS
81 .Ss JOBS
82 Jobs are tasks to be performed by any worker for a given project. It has an user
83 arbitrary tag that will be passed to the project script as sole argument. In
84 contrats to many CI system, the sci framework has no information about how to
85 build and access a project and as such the job tag can be anything up to the
86 user (a SCM repo revision, date, simple id, etc).
87 .\" WORKERS
88 .Ss WORKERS
89 A worker is a host system that connects to
90 .Nm scid
91 using HTTP protocol to get acces to jobs to perform, execute them and finally
92 send the result back. They have been designed to use HTTP to allow remote usage.
93 .\" JOB RESULTS
94 .Ss JOB RESULTS
95 A job result is the detail about a job ran by a worker for a specific project.
96 If a job exists for one project and there are four workers on the user
97 installation, there will be four job results. It has an exit code (got from the
98 user script), a log console (capture from standard output and error) and a
99 timestamp when it was started.
100 .\" SEE ALSO
101 .Sh SEE ALSO
102 .Xr scictl 8 ,
103 .Xr scid 8 ,
104 .Xr sciworkerd 8