595 lines
13 KiB
Markdown
595 lines
13 KiB
Markdown
# CLI
|
|
|
|
# NAME
|
|
|
|
woodpecker-cli - A new cli application
|
|
|
|
# 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
|
|
|
|
## pipeline
|
|
|
|
manage pipelines
|
|
|
|
### ls
|
|
|
|
show pipeline history
|
|
|
|
**--branch**="": branch filter
|
|
|
|
**--event**="": event filter
|
|
|
|
**--format**="": format output (default: "\x1b[33mPipeline #{{ .Number }} \x1b[0m\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nAuthor: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }}\nMessage: {{ .Message }}\n")
|
|
|
|
**--limit**="": limit the list size (default: 25)
|
|
|
|
**--status**="": status filter
|
|
|
|
### last
|
|
|
|
show latest pipeline details
|
|
|
|
**--branch**="": branch name (default: "main")
|
|
|
|
**--format**="": format output (default: "Number: {{ .Number }}\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nMessage: {{ .Message }}\nAuthor: {{ .Author }}\n")
|
|
|
|
### logs
|
|
|
|
show pipeline logs
|
|
|
|
### info
|
|
|
|
show pipeline details
|
|
|
|
**--format**="": format output (default: "Number: {{ .Number }}\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nMessage: {{ .Message }}\nAuthor: {{ .Author }}\n")
|
|
|
|
### stop
|
|
|
|
stop a pipeline
|
|
|
|
### start
|
|
|
|
start a pipeline
|
|
|
|
**--param, -p**="": custom parameters to be injected into the step environment. Format: KEY=value
|
|
|
|
### approve
|
|
|
|
approve a pipeline
|
|
|
|
### decline
|
|
|
|
decline a pipeline
|
|
|
|
### queue
|
|
|
|
show pipeline queue
|
|
|
|
**--format**="": format output (default: "\x1b[33m{{ .FullName }} #{{ .Number }} \x1b[0m\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nAuthor: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }}\nMessage: {{ .Message }}\n")
|
|
|
|
### ps
|
|
|
|
show pipeline steps
|
|
|
|
**--format**="": format output (default: "\x1b[33mStep #{{ .PID }} \x1b[0m\nStep: {{ .Name }}\nState: {{ .State }}\n")
|
|
|
|
### create
|
|
|
|
create new pipeline
|
|
|
|
**--branch**="": branch to create pipeline from
|
|
|
|
**--format**="": format output (default: "\x1b[33mPipeline #{{ .Number }} \x1b[0m\nStatus: {{ .Status }}\nEvent: {{ .Event }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nAuthor: {{ .Author }} {{ if .Email }}<{{.Email}}>{{ end }}\nMessage: {{ .Message }}\n")
|
|
|
|
**--var**="": key=value
|
|
|
|
## log
|
|
|
|
manage logs
|
|
|
|
### purge
|
|
|
|
purge a log
|
|
|
|
## deploy
|
|
|
|
deploy code
|
|
|
|
**--branch**="": branch filter (default: "main")
|
|
|
|
**--event**="": event filter (default: "push")
|
|
|
|
**--format**="": format output (default: "Number: {{ .Number }}\nStatus: {{ .Status }}\nCommit: {{ .Commit }}\nBranch: {{ .Branch }}\nRef: {{ .Ref }}\nMessage: {{ .Message }}\nAuthor: {{ .Author }}\nTarget: {{ .Deploy }}\n")
|
|
|
|
**--param, -p**="": custom parameters to be injected into the step environment. Format: KEY=value
|
|
|
|
**--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-namespace**="": backend k8s namespace (default: "woodpecker")
|
|
|
|
**--backend-k8s-pod-annotations**="": backend k8s additional worker pod annotations
|
|
|
|
**--backend-k8s-pod-image-pull-secret-names**="": backend k8s pull secret names for private registries (default: "regcred")
|
|
|
|
**--backend-k8s-pod-labels**="": backend k8s additional worker pod labels
|
|
|
|
**--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")
|
|
|
|
**--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**="":
|
|
|
|
**--forge-type**="":
|
|
|
|
**--forge-url**="":
|
|
|
|
**--local**: run from local directory
|
|
|
|
**--netrc-machine**="":
|
|
|
|
**--netrc-password**="":
|
|
|
|
**--netrc-username**="":
|
|
|
|
**--network**="": external networks
|
|
|
|
**--pipeline-created**="": (default: 0)
|
|
|
|
**--pipeline-event**="": (default: "manual")
|
|
|
|
**--pipeline-finished**="": (default: 0)
|
|
|
|
**--pipeline-number**="": (default: 0)
|
|
|
|
**--pipeline-parent**="": (default: 0)
|
|
|
|
**--pipeline-started**="": (default: 0)
|
|
|
|
**--pipeline-status**="":
|
|
|
|
**--pipeline-target**="":
|
|
|
|
**--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
|
|
|
|
**--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
|
|
|
|
**--global**: global secret
|
|
|
|
**--image**="": secret limited to these images
|
|
|
|
**--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
|
|
|
|
**--global**: global secret
|
|
|
|
**--image**="": secret limited to these images
|
|
|
|
**--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)
|
|
|
|
## repo
|
|
|
|
manage repositories
|
|
|
|
### ls
|
|
|
|
list all repos
|
|
|
|
**--format**="": format output (default: "\x1b[33m{{ .FullName }}\x1b[0m (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }})")
|
|
|
|
**--org**="": filter by organization
|
|
|
|
### info
|
|
|
|
show repository details
|
|
|
|
**--format**="": format output (default: "Owner: {{ .Owner }}\nRepo: {{ .Name }}\nURL: {{ .ForgeURL }}\nConfig path: {{ .Config }}\nVisibility: {{ .Visibility }}\nPrivate: {{ .IsSCMPrivate }}\nTrusted: {{ .IsTrusted }}\nGated: {{ .IsGated }}\nClone url: {{ .Clone }}\nAllow pull-requests: {{ .AllowPullRequests }}\n")
|
|
|
|
### add
|
|
|
|
add a repository
|
|
|
|
### update
|
|
|
|
update a repository
|
|
|
|
**--config**="": repository configuration path (e.g. .woodpecker.yml)
|
|
|
|
**--gated**: repository is gated
|
|
|
|
**--pipeline-counter**="": repository starting pipeline number (default: 0)
|
|
|
|
**--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: "\x1b[33m{{ .FullName }}\x1b[0m (id: {{ .ID }}, forgeRemoteID: {{ .ForgeRemoteID }})")
|
|
|
|
## user
|
|
|
|
manage users
|
|
|
|
### ls
|
|
|
|
list all users
|
|
|
|
**--format**="": format output (default: "{{ .Login }}")
|
|
|
|
### info
|
|
|
|
show user details
|
|
|
|
**--format**="": format output (default: "User: {{ .Login }}\nEmail: {{ .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-url**="": 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
|