Přemysl Eric Janouch
a09b11256b
All checks were successful
Alpine 3.20 Success
Errors should be handled a bit more nicely now. The SFTP part could also be done from deploy scripts like: scp -i {runner.ssh.identity} \ -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ {runner.ssh.user}@{runner.ssh.address%:*} -p {runner.ssh.address#*:} but that is deemed way too annoying, so we do it from Go.
96 lines
2.4 KiB
Plaintext
96 lines
2.4 KiB
Plaintext
acid(1)
|
|
=======
|
|
:doctype: manpage
|
|
:manmanual: acid Manual
|
|
:mansource: acid {release-version}
|
|
|
|
Name
|
|
----
|
|
acid - A Continuous Integration Daemon
|
|
|
|
Synopsis
|
|
--------
|
|
*acid* [_OPTION_]... acid.yaml [_COMMAND_...]
|
|
|
|
Description
|
|
-----------
|
|
*acid* run without command arguments will start an HTTP server that creates
|
|
and executes tasks against *git*(1) commits from a particular Gitea instance,
|
|
in accordance with the passed configuration file.
|
|
|
|
When a command is passed, *acid* will relay it to that running instance
|
|
of itself as an RPC call.
|
|
|
|
Tasks can be triggered to run either upon receiving Gitea push events
|
|
on the */push* endpoint, and/or using the RPC commands.
|
|
|
|
Options
|
|
-------
|
|
*-version*::
|
|
Output version information and exit.
|
|
|
|
Commands
|
|
--------
|
|
*enqueue* _OWNER_ _REPO_ _REF_ [_RUNNER_]...::
|
|
Create new or restart existing tasks for the given reference,
|
|
which will be resolved to a full commit hash.
|
|
*restart* [_ID_]...::
|
|
Schedule tasks with the given IDs to be rerun.
|
|
Run this command without arguments to pick up external database changes.
|
|
|
|
Configuration
|
|
-------------
|
|
For help with creating the configuration file, consult the _acid.yaml.example_
|
|
file present in the distribution.
|
|
|
|
All paths are currently relative to the directory you launch *acid* from.
|
|
|
|
The *notify*, *setup*, *build*, and *deploy* scripts are processed using Go's
|
|
_text/template_ package, and take an object describing the task,
|
|
which has the following fields:
|
|
|
|
*ID*::
|
|
Unique integer ID for each task.
|
|
|
|
*Owner*::
|
|
Gitea user owning the repository.
|
|
*Repo*::
|
|
Name of the repository.
|
|
*FullName*::
|
|
Full name of the repository, including the owner.
|
|
*Hash*::
|
|
Commit hash pertaining to the task.
|
|
*Runner*::
|
|
Runner ID.
|
|
*RunnerName*::
|
|
Descriptive name of the runner.
|
|
|
|
*URL*::
|
|
*acid* link to the task, where its log output can be seen.
|
|
*RepoURL*::
|
|
Gitea link to the repository.
|
|
*CommitURL*::
|
|
Gitea link to the commit.
|
|
*CloneURL*::
|
|
Gitea link for cloning the repository over HTTP.
|
|
|
|
The special *quote* template function quotes fields for safe usage
|
|
in *sh*(1) command arguments.
|
|
|
|
Runners
|
|
-------
|
|
Runners and deploy scripts receive the following additional
|
|
environment variables:
|
|
|
|
*ACID_ROOT*:: The same as the base directory for configuration.
|
|
*ACID_RUNNER*:: The same as *Runner* in script templates.
|
|
|
|
Reporting bugs
|
|
--------------
|
|
Use https://git.janouch.name/p/acid to report bugs, request features,
|
|
or submit pull requests.
|
|
|
|
See also
|
|
--------
|
|
*git*(1), *sh*(1)
|