Skip to content
This repository was archived by the owner on Nov 10, 2019. It is now read-only.

Commit a3aea99

Browse files
Merge pull request #43 from codefresh-io/SAAS-1248
The Makisu plugin
2 parents befa414 + 5f40f25 commit a3aea99

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ See each plugin readme for more info and usage instructions.
1616
| [Run Jenkins Jobs](plugins/run-jenkins-job/README.md)| Run jenkins job from codefresh pipeline| `jenkins` `job`|
1717
| [Deploy to DCOS](plugins/dcos-app-deploy/README.md) | Deploy application image to DC/OS cluster | `dcos` `deploy` `containers` |
1818
| [Interact with Jira](plugins/jira/README.md) | Interact with Jira from codefresh pipelines| `jira` `workflow`|
19+
| [Makisu](plugins/makisu/README.md) | Building images using the Makisu tool | `makisu` `uber`|
1920
| [release to npm](plugins/release-to-NPM/README.md) | Release npm modules from a pipeline | `npm` |
2021
| [Twistlock](plugins/cfstep-twistlock) | Security scanning of docker images using Twistlock | `security` |
2122
| [Clair](plugins/clair/README.md) | Security scanning of Docker images using Clair | `security` |

plugins/makisu/README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Makisu plugin
2+
3+
The plugin makes using [Makisu build tool](https://github.com/uber/makisu) easier in a Codefresh pipeline.
4+
5+
### Requirements
6+
7+
The plugin requires access to the docker daemon enabled, so one have to request it from Codefresh administrators, unless the user uses a Hybrid solution (running builds on his own infrastructure.
8+
9+
### Basic usage
10+
11+
This example covers the most common case - to build and push an image using Makisu distributed cache and flexible layer generation features.
12+
13+
```
14+
makisuBuildStep:
15+
image: codefresh/cfstep-makisu
16+
environment:
17+
- REGISTRY_HOSTNAME=docker.io
18+
- R_USER=my_username
19+
- R_PASSWORD=my_password
20+
- IMAGE_NAME_TAG=image/name:tag
21+
```
22+
23+
By default the makisu context is the main clone directory, but it can be changed with the WORKING_DIRECTORY environment variable. The dockerfile path can also be specified by the DOCKERFILE variable
24+
25+
### Advanced usage
26+
27+
If a user needs more flexibility, it is not a problem to add custom flags to the makisu buildcommand:
28+
29+
```
30+
....
31+
environment:
32+
- CUSTOM_FLAGS='--compression=speed ...'
33+
```
34+
35+
or to completely override the makisu command:
36+
37+
```
38+
makisuBuildStep:
39+
image: codefresh/cfstep-makisu
40+
environment:
41+
- REGISTRY_HOSTNAME=docker.io
42+
- R_USER=my_username
43+
- R_PASSWORD=my_password
44+
- MAKISU_COMMAND='makisu build -t myimage/name:tag --storage /codefresh/volume/makisu --modifyfs=true --commit=explicit --registry-config=/makisu-internal/registry-conf.yml --push docker.io --compression=speed .'
45+
```

plugins/makisu/plugin.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
image: codefresh/cfstep-makisu
2+
tag: latest
3+
version: 0.1.0
4+
description: The plugin makes using Makisu build tool easier in a Codefresh pipeline
5+
keywords:
6+
- makisu
7+
- uber
8+
home: https://github.com/codefresh-contrib/cfstep-makisu
9+
sources:
10+
- https://github.com/codefresh-contrib/cfstep-makisu
11+
maintainers: # (optional)
12+
- name: Alexander Cheshko
13+
email: a.cheshko@codefresh.io
14+
envs:
15+
- name: IMAGE_NAME_TAG
16+
type: required
17+
description: "Name and tag of the image to build"
18+
- name: REGISTRY_HOSTNAME
19+
type: required
20+
description: "Docker registry host name. Example: docker.io"
21+
- name: R_USER
22+
type: required
23+
description: "User name to authenticate against the registry"
24+
- name: R_PASSWORD
25+
type: required
26+
description: "Password to authenticate against the registry"
27+
- name: DOCKERFILE
28+
- name: CUSTOM_FLAGS
29+
description: "Add custom flags to the makisu build command"
30+
- name: MAKISU_COMMAND
31+
description: "This is to override the makisu build command"
32+
- name: WORKING_DIRECTORY
33+
description: "Changes the makisu context directory. Default is the main clone directory"

0 commit comments

Comments
 (0)