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.
2.4 KiB
acid(1)
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)