Skip to content

woodpecker-ci/plugin-git

Repository files navigation

plugin-git

Build Status Discord chat Go Report Card GoDoc Docker pulls License: Apache-2.0

Woodpecker plugin to clone git repositories. For the usage information and a listing of the available options please take a look at the docs. The docs are also available in docs.md in this repository.

Build

Build the binary with the following command:

export GOOS=linux
export GOARCH=amd64
export CGO_ENABLED=0
export GO111MODULE=on

go build -v -a -tags netgo -o release/linux/amd64/plugin-git

Docker

Build the Docker image with the following command:

docker buildx build \
  --label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
  --label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
  --platform linux/amd64 --output type=docker \
  --file docker/Dockerfile.multiarch --tag woodpeckerci/plugin-git .

The platform linux/amd64 should be replaced by the correct platform.

This will build the image and load it into docker so the image can be used locally. More information on the output formats can be found in docker buildx doc.

Usage

Clone a commit:

docker run --rm \
  -e CI_REPO_REMOTE=https://github.com/garyburd/redigo.git \
  -e CI_WORKSPACE=/go/src/github.com/garyburd/redigo \
  -e CI_BUILD_EVENT=push \
  -e CI_COMMIT_SHA=d8dbe4d94f15fe89232e0402c6e8a0ddf21af3ab \
  -e CI_COMMIT_REF=refs/heads/master \
  woodpeckerci/plugin-git

Clone a pull request:

docker run --rm \
  -e CI_REPO_REMOTE=https://github.com/garyburd/redigo.git \
  -e CI_WORKSPACE=/go/src/github.com/garyburd/redigo \
  -e CI_BUILD_EVENT=pull_request \
  -e CI_COMMIT_SHA=3b4642018d177bf5fecc5907e7f341a2b5c12b8a \
  -e CI_COMMIT_REF=refs/pull/74/head \
  woodpeckerci/plugin-git

Clone a tag:

docker run --rm \
  -e CI_REPO_REMOTE=https://github.com/garyburd/redigo.git \
  -e CI_WORKSPACE=/go/src/github.com/garyburd/redigo \
  -e CI_BUILD_EVENT=tag \
  -e CI_COMMIT_SHA=3b4642018d177bf5fecc5907e7f341a2b5c12b8a \
  -e CI_COMMIT_REF=refs/tags/74/head \
  woodpeckerci/plugin-git

Build arguments

HOME

The docker image can be build using --build-arg HOME=<custom home>. This will create the directory for the custom home and set the custom home as the default value for the home plugin setting (see the plugin docs for more information about this setting).