GitBucket plug-in that adds simple CI ability to GitBucket.
This plug-in allows repository owners to configure build command, and run them at following timing:
You can skip a build by including specific words in the commit message. Moreover you can also re-run the pull request build by adding a comment including specific words. These words can be set at the build settings.
In the build script, following environment variables are available:
CI
(true)HOME
(root of the build directory)CI_BUILD_DIR
(same as HOME)CI_BUILD_NUMBER
CI_BUILD_BRANCH
CI_COMMIT_ID
CI_COMMIT_MESSAGE
CI_REPO_SLUG
("owner/repo")CI_PULL_REQUEST
(pull request id or "false")CI_PULL_REQUEST_SLUG
("owner/repo" or "")This plugin has CircleCI API v1.1 compatible Web API. Supported APIs are below:
GET /api/circleci/v1.1/me
)GET /api/circleci/v1.1/project/gitbucket/:owner/:repository
)GET /api/circleci/v1.1/project/gitbucket/:owner/:repository/tree/:branch
)GET /api/circleci/v1.1/project/gitbucket/:owner/:repository/:buildNum
)POST /api/circleci/v1.1/project/gitbucket/:owner/:repository/:buildNum/retry
)POST /api/circleci/v1.1/project/gitbucket/:owner/:repository/:buildNum/cancel
)POST /api/circleci/v1.1/project/gitbucket/:owner/:repository
)POST /api/circleci/v1.1/project/gitbucket/:owner/:repository/tree/:branch
)While CircleCI API takes the token via query string, in this plugin, Authorization
header (application token or basic authentication) is available as same as other GitBucket API.
Note that you must not use this plug-in in public environment because it allows executing any commands on a GitBucket instance. It will be a serious security hole.
In addition, this plug-in is made to just experiment continuous integration on GitBucket easily without complex settings of webhook or Jenkins. It doesn't have flexibility and scalability, and also has a security issue which is mentioned above. Therefore, if you like it and would like to use for your project actually, we recommend to setup Jenkins or other CI tool and move to it.
Plugin version | GitBucket version |
---|---|
1.11.x | 4.35.x - |
1.10.x | 4.34.x - |
1.9.x | 4.32.x - |
1.8.x | 4.31.x - |
1.7.x | 4.30.x - |
1.6.x - | 4.24.0 - |
1.5.x - | 4.23.1 - |
1.4.x - | 4.23.0 |
1.3.x - | 4.19.x - |
1.0.x - 1.2.x | 4.17.x, 4.18.x |
Download jar file from the release page and put into GITBUCKET_HOME/plugins
.
Run sbt assembly
and copy generated /target/scala-2.13/gitbucket-ci-plugin-x.x.x.jar
to ~/.gitbucket/plugins/
(If the directory does not exist, create it by hand before copying the jar), or just run sbt install
.