799 lines
16 KiB
Markdown
799 lines
16 KiB
Markdown
# CLI
|
||
|
||
# NAME
|
||
|
||
woodpecker-cli - command line utility
|
||
|
||
# SYNOPSIS
|
||
|
||
woodpecker-cli
|
||
|
||
```
|
||
[--config|-c]=[value]
|
||
[--disable-update-check]
|
||
[--log-file]=[value]
|
||
[--log-level]=[value]
|
||
[--nocolor]
|
||
[--pretty]
|
||
[--server|-s]=[value]
|
||
[--token|-t]=[value]
|
||
```
|
||
|
||
# DESCRIPTION
|
||
|
||
Woodpecker command line utility
|
||
|
||
**Usage**:
|
||
|
||
```
|
||
woodpecker-cli [GLOBAL OPTIONS] [command [COMMAND OPTIONS]] [ARGUMENTS...]
|
||
```
|
||
|
||
# GLOBAL OPTIONS
|
||
|
||
**--config, -c**="": path to config file
|
||
|
||
**--disable-update-check**: disable update check
|
||
|
||
**--log-file**="": Output destination for logs. 'stdout' and 'stderr' can be used as special keywords. (default: stderr)
|
||
|
||
**--log-level**="": set logging level (default: info)
|
||
|
||
**--nocolor**: disable colored debug output, only has effect if pretty output is set too
|
||
|
||
**--pretty**: enable pretty-printed debug output
|
||
|
||
**--server, -s**="": server address
|
||
|
||
**--token, -t**="": server auth token
|
||
|
||
# COMMANDS
|
||
|
||
## admin
|
||
|
||
administer server settings
|
||
|
||
### registry
|
||
|
||
manage global registries
|
||
|
||
#### add
|
||
|
||
adds a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--username**="": registry username
|
||
|
||
#### rm
|
||
|
||
remove a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
#### update
|
||
|
||
update a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--username**="": registry username
|
||
|
||
#### info
|
||
|
||
display registry info
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
#### ls
|
||
|
||
list registries
|
||
|
||
## org
|
||
|
||
manage organizations
|
||
|
||
### registry
|
||
|
||
manage organization registries
|
||
|
||
#### add
|
||
|
||
adds a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--username**="": registry username
|
||
|
||
#### rm
|
||
|
||
remove a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
#### update
|
||
|
||
update a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--username**="": registry username
|
||
|
||
#### info
|
||
|
||
display registry info
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
#### ls
|
||
|
||
list registries
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
## repo
|
||
|
||
manage repositories
|
||
|
||
### ls
|
||
|
||
list all repos
|
||
|
||
**--format**="": format output (default: [33m{{ .FullName }}[0m (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }}))
|
||
|
||
**--org**="": filter by organization
|
||
|
||
### info
|
||
|
||
show repository details
|
||
|
||
**--format**="": format output (default: Owner: {{ .Owner }}
|
||
Repo: {{ .Name }}
|
||
URL: {{ .ForgeURL }}
|
||
Config path: {{ .Config }}
|
||
Visibility: {{ .Visibility }}
|
||
Private: {{ .IsSCMPrivate }}
|
||
Trusted: {{ .IsTrusted }}
|
||
Gated: {{ .IsGated }}
|
||
Require approval for: {{ .RequireApproval }}
|
||
Clone url: {{ .Clone }}
|
||
Allow pull-requests: {{ .AllowPullRequests }}
|
||
)
|
||
|
||
### add
|
||
|
||
add a repository
|
||
|
||
### update
|
||
|
||
update a repository
|
||
|
||
**--config**="": repository configuration path (e.g. .woodpecker.yml)
|
||
|
||
**--gated**: [deprecated] repository is gated
|
||
|
||
**--pipeline-counter**="": repository starting pipeline number (default: 0)
|
||
|
||
**--require-approval**="": repository requires approval for
|
||
|
||
**--timeout**="": repository timeout (default: 0s)
|
||
|
||
**--trusted**: repository is trusted
|
||
|
||
**--unsafe**: validate updating the pipeline-counter is unsafe
|
||
|
||
**--visibility**="": repository visibility
|
||
|
||
### rm
|
||
|
||
remove a repository
|
||
|
||
### repair
|
||
|
||
repair repository webhooks
|
||
|
||
### chown
|
||
|
||
assume ownership of a repository
|
||
|
||
### sync
|
||
|
||
synchronize the repository list
|
||
|
||
**--format**="": format output (default: [33m{{ .FullName }}[0m (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }}))
|
||
|
||
### registry
|
||
|
||
manage registries
|
||
|
||
#### add
|
||
|
||
adds a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--username**="": registry username
|
||
|
||
#### rm
|
||
|
||
remove a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
#### update
|
||
|
||
update a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--username**="": registry username
|
||
|
||
#### info
|
||
|
||
display registry info
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
#### ls
|
||
|
||
list registries
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
## pipeline
|
||
|
||
manage pipelines
|
||
|
||
### ls
|
||
|
||
show pipeline history
|
||
|
||
**--branch**="": branch filter
|
||
|
||
**--event**="": event filter
|
||
|
||
**--limit**="": limit the list size (default: 25)
|
||
|
||
**--output**="": output format (default: table)
|
||
|
||
**--output-no-headers**: don't print headers
|
||
|
||
**--status**="": status filter
|
||
|
||
### last
|
||
|
||
show latest pipeline details
|
||
|
||
**--branch**="": branch name (default: main)
|
||
|
||
**--output**="": output format (default: table)
|
||
|
||
**--output-no-headers**: don't print headers
|
||
|
||
### logs
|
||
|
||
show pipeline logs
|
||
|
||
### info
|
||
|
||
show pipeline details
|
||
|
||
**--output**="": output format (default: table)
|
||
|
||
**--output-no-headers**: don't print headers
|
||
|
||
### stop
|
||
|
||
stop a pipeline
|
||
|
||
### start
|
||
|
||
start a pipeline
|
||
|
||
**--param, -p**="": custom parameters to be injected into the step environment. Format: KEY=value (default: [])
|
||
|
||
### approve
|
||
|
||
approve a pipeline
|
||
|
||
### decline
|
||
|
||
decline a pipeline
|
||
|
||
### queue
|
||
|
||
show pipeline queue
|
||
|
||
**--format**="": format output (default: [33m{{ .FullName }} #{{ .Number }} [0m
|
||
Status: {{ .Status }}
|
||
Event: {{ .Event }}
|
||
Commit: {{ .Commit }}
|
||
Branch: {{ .Branch }}
|
||
Ref: {{ .Ref }}
|
||
Author: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }}
|
||
Message: {{ .Message }}
|
||
)
|
||
|
||
### ps
|
||
|
||
show pipeline steps
|
||
|
||
**--format**="": format output (default: [33m{{ .workflow.Name }} > {{ .step.Name }} (#{{ .step.PID }}):[0m
|
||
Step: {{ .step.Name }}
|
||
Started: {{ .step.Started }}
|
||
Stopped: {{ .step.Stopped }}
|
||
Type: {{ .step.Type }}
|
||
State: {{ .step.State }}
|
||
)
|
||
|
||
### create
|
||
|
||
create new pipeline
|
||
|
||
**--branch**="": branch to create pipeline from
|
||
|
||
**--output**="": output format (default: table)
|
||
|
||
**--output-no-headers**: don't print headers
|
||
|
||
**--var**="": key=value (default: [])
|
||
|
||
## log
|
||
|
||
manage logs
|
||
|
||
### purge
|
||
|
||
purge a log
|
||
|
||
## deploy
|
||
|
||
trigger a pipeline with the 'deployment' event
|
||
|
||
**--branch**="": branch filter
|
||
|
||
**--event**="": event filter (default: push)
|
||
|
||
**--format**="": format output (default: Number: {{ .Number }}
|
||
Status: {{ .Status }}
|
||
Commit: {{ .Commit }}
|
||
Branch: {{ .Branch }}
|
||
Ref: {{ .Ref }}
|
||
Message: {{ .Message }}
|
||
Author: {{ .Author }}
|
||
Target: {{ .Deploy }}
|
||
)
|
||
|
||
**--param, -p**="": custom parameters to be injected into the step environment. Format: KEY=value (default: [])
|
||
|
||
**--status**="": status filter (default: success)
|
||
|
||
## exec
|
||
|
||
execute a local pipeline
|
||
|
||
**--backend-docker-api-version**="": the version of the API to reach, leave empty for latest.
|
||
|
||
**--backend-docker-cert**="": path to load the TLS certificates for connecting to docker server
|
||
|
||
**--backend-docker-host**="": path to docker socket or url to the docker server
|
||
|
||
**--backend-docker-ipv6**: backend docker enable IPV6
|
||
|
||
**--backend-docker-network**="": backend docker network
|
||
|
||
**--backend-docker-tls-verify**: enable or disable TLS verification for connecting to docker server
|
||
|
||
**--backend-docker-volumes**="": backend docker volumes (comma separated)
|
||
|
||
**--backend-engine**="": backend engine to run pipelines on (default: auto-detect)
|
||
|
||
**--backend-http-proxy**="": if set, pass the environment variable down as "HTTP_PROXY" to steps
|
||
|
||
**--backend-https-proxy**="": if set, pass the environment variable down as "HTTPS_PROXY" to steps
|
||
|
||
**--backend-k8s-allow-native-secrets**: whether to allow existing Kubernetes secrets to be referenced from steps
|
||
|
||
**--backend-k8s-namespace**="": backend k8s namespace (default: woodpecker)
|
||
|
||
**--backend-k8s-pod-annotations**="": backend k8s additional Agent-wide worker pod annotations
|
||
|
||
**--backend-k8s-pod-annotations-allow-from-step**: whether to allow using annotations from step's backend options
|
||
|
||
**--backend-k8s-pod-image-pull-secret-names**="": backend k8s pull secret names for private registries (default: [regcred])
|
||
|
||
**--backend-k8s-pod-labels**="": backend k8s additional Agent-wide worker pod labels
|
||
|
||
**--backend-k8s-pod-labels-allow-from-step**: whether to allow using labels from step's backend options
|
||
|
||
**--backend-k8s-pod-node-selector**="": backend k8s Agent-wide worker pod node selector
|
||
|
||
**--backend-k8s-secctx-nonroot**: `run as non root` Kubernetes security context option
|
||
|
||
**--backend-k8s-storage-class**="": backend k8s storage class
|
||
|
||
**--backend-k8s-storage-rwx**: backend k8s storage access mode, should ReadWriteMany (RWX) instead of ReadWriteOnce (RWO) be used? (default: true)
|
||
|
||
**--backend-k8s-volume-size**="": backend k8s volume size (default 10G) (default: 10G)
|
||
|
||
**--backend-local-temp-dir**="": set a different temp dir to clone workflows into (default: /tmp/nix-shell.OgDG7Z)
|
||
|
||
**--backend-no-proxy**="": if set, pass the environment variable down as "NO_PROXY" to steps
|
||
|
||
**--commit-author-avatar**="":
|
||
|
||
**--commit-author-email**="":
|
||
|
||
**--commit-author-name**="":
|
||
|
||
**--commit-branch**="":
|
||
|
||
**--commit-message**="":
|
||
|
||
**--commit-ref**="":
|
||
|
||
**--commit-refspec**="":
|
||
|
||
**--commit-sha**="":
|
||
|
||
**--env**="": (default: [])
|
||
|
||
**--forge-type**="":
|
||
|
||
**--forge-url**="":
|
||
|
||
**--local**: run from local directory
|
||
|
||
**--netrc-machine**="":
|
||
|
||
**--netrc-password**="":
|
||
|
||
**--netrc-username**="":
|
||
|
||
**--network**="": external networks (default: [])
|
||
|
||
**--pipeline-created**="": (default: 0)
|
||
|
||
**--pipeline-deploy-task**="":
|
||
|
||
**--pipeline-deploy-to**="":
|
||
|
||
**--pipeline-event**="": (default: manual)
|
||
|
||
**--pipeline-finished**="": (default: 0)
|
||
|
||
**--pipeline-number**="": (default: 0)
|
||
|
||
**--pipeline-parent**="": (default: 0)
|
||
|
||
**--pipeline-started**="": (default: 0)
|
||
|
||
**--pipeline-status**="":
|
||
|
||
**--pipeline-url**="":
|
||
|
||
**--prev-commit-author-avatar**="":
|
||
|
||
**--prev-commit-author-email**="":
|
||
|
||
**--prev-commit-author-name**="":
|
||
|
||
**--prev-commit-branch**="":
|
||
|
||
**--prev-commit-message**="":
|
||
|
||
**--prev-commit-ref**="":
|
||
|
||
**--prev-commit-refspec**="":
|
||
|
||
**--prev-commit-sha**="":
|
||
|
||
**--prev-pipeline-created**="": (default: 0)
|
||
|
||
**--prev-pipeline-event**="":
|
||
|
||
**--prev-pipeline-finished**="": (default: 0)
|
||
|
||
**--prev-pipeline-number**="": (default: 0)
|
||
|
||
**--prev-pipeline-started**="": (default: 0)
|
||
|
||
**--prev-pipeline-status**="":
|
||
|
||
**--prev-pipeline-url**="":
|
||
|
||
**--privileged**="": privileged plugins (default: [plugins/docker plugins/gcr plugins/ecr woodpeckerci/plugin-docker-buildx codeberg.org/woodpecker-plugins/docker-buildx])
|
||
|
||
**--repo**="": full repo name
|
||
|
||
**--repo-clone-ssh-url**="":
|
||
|
||
**--repo-clone-url**="":
|
||
|
||
**--repo-path**="": path to local repository
|
||
|
||
**--repo-private**="":
|
||
|
||
**--repo-remote-id**="":
|
||
|
||
**--repo-trusted**:
|
||
|
||
**--repo-url**="":
|
||
|
||
**--step-name**="": (default: 0)
|
||
|
||
**--system-name**="": (default: woodpecker)
|
||
|
||
**--system-platform**="":
|
||
|
||
**--system-url**="": (default: https://github.com/woodpecker-ci/woodpecker)
|
||
|
||
**--timeout**="": pipeline timeout (default: 1h0m0s)
|
||
|
||
**--volumes**="": pipeline volumes (default: [])
|
||
|
||
**--workflow-name**="": (default: 0)
|
||
|
||
**--workflow-number**="": (default: 0)
|
||
|
||
**--workspace-base**="": (default: /woodpecker)
|
||
|
||
**--workspace-path**="": (default: src)
|
||
|
||
## info
|
||
|
||
show information about the current user
|
||
|
||
## registry
|
||
|
||
manage registries
|
||
|
||
### add
|
||
|
||
adds a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--username**="": registry username
|
||
|
||
### rm
|
||
|
||
remove a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
### update
|
||
|
||
update a registry
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--password**="": registry password
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--username**="": registry username
|
||
|
||
### info
|
||
|
||
display registry info
|
||
|
||
**--hostname**="": registry hostname (default: docker.io)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
### ls
|
||
|
||
list registries
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
## secret
|
||
|
||
manage secrets
|
||
|
||
### add
|
||
|
||
adds a secret
|
||
|
||
**--event**="": secret limited to these events (default: [])
|
||
|
||
**--global**: global secret
|
||
|
||
**--image**="": secret limited to these images (default: [])
|
||
|
||
**--name**="": secret name
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--value**="": secret value
|
||
|
||
### rm
|
||
|
||
remove a secret
|
||
|
||
**--global**: global secret
|
||
|
||
**--name**="": secret name
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
### update
|
||
|
||
update a secret
|
||
|
||
**--event**="": secret limited to these events (default: [])
|
||
|
||
**--global**: global secret
|
||
|
||
**--image**="": secret limited to these images (default: [])
|
||
|
||
**--name**="": secret name
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--value**="": secret value
|
||
|
||
### info
|
||
|
||
display secret info
|
||
|
||
**--global**: global secret
|
||
|
||
**--name**="": secret name
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
### ls
|
||
|
||
list secrets
|
||
|
||
**--global**: global secret
|
||
|
||
**--organization, --org**="": organization id or full name (e.g. 123 or octocat)
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
## user
|
||
|
||
manage users
|
||
|
||
### ls
|
||
|
||
list all users
|
||
|
||
**--format**="": format output (default: {{ .Login }})
|
||
|
||
### info
|
||
|
||
show user details
|
||
|
||
**--format**="": format output (default: User: {{ .Login }}
|
||
Email: {{ .Email }})
|
||
|
||
### add
|
||
|
||
adds a user
|
||
|
||
### rm
|
||
|
||
remove a user
|
||
|
||
## lint
|
||
|
||
lint a pipeline configuration file
|
||
|
||
## log-level
|
||
|
||
get the logging level of the server, or set it with [level]
|
||
|
||
## cron
|
||
|
||
manage cron jobs
|
||
|
||
### add
|
||
|
||
add a cron job
|
||
|
||
**--branch**="": cron branch
|
||
|
||
**--name**="": cron name
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--schedule**="": cron schedule
|
||
|
||
### rm
|
||
|
||
remove a cron job
|
||
|
||
**--id**="": cron id
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
### update
|
||
|
||
update a cron job
|
||
|
||
**--branch**="": cron branch
|
||
|
||
**--id**="": cron id
|
||
|
||
**--name**="": cron name
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
**--schedule**="": cron schedule
|
||
|
||
### info
|
||
|
||
display info about a cron job
|
||
|
||
**--id**="": cron id
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
### ls
|
||
|
||
list cron jobs
|
||
|
||
**--repository, --repo**="": repository id or full name (e.g. 134 or octocat/hello-world)
|
||
|
||
## setup
|
||
|
||
setup the woodpecker-cli for the first time
|
||
|
||
**--server**="": The URL of the woodpecker server
|
||
|
||
**--token**="": The token to authenticate with the woodpecker server
|
||
|
||
## update
|
||
|
||
update the woodpecker-cli to the latest version
|
||
|
||
**--force**: force update even if the latest version is already installed
|