Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thlorenz/dockerify-github-repo

Given a github repository url, returns a tar stream for each release with Dockerfile injected that can be piped into docker too create an image.
https://github.com/thlorenz/dockerify-github-repo

Last synced: 2 months ago
JSON representation

Given a github repository url, returns a tar stream for each release with Dockerfile injected that can be piped into docker too create an image.

Awesome Lists containing this project

README

        

# dockerify-github-repo [![build status](https://secure.travis-ci.org/thlorenz/dockerify-github-repo.png)](http://travis-ci.org/thlorenz/dockerify-github-repo)

Given a github repository url, returns a tar stream for each release with Dockerfile injected that can be piped into docker to create an image.

```js
var log = require('npmlog');
log.level = 'verbose';

var dockerifyRepo = require('dockerify-github-repo');

dockerifyRepo('thlorenz/browserify-markdown-editor', function (err, streamfns) {
if (err) return console.error(err);

console.log('\ntags for which streams were resolved:\n', Object.keys(streamfns));

// pipe first stream into docker or (to demo) to the console
// note the function call `()`
console.log('\nStreaming first stream:\n');
streamfns['000-nstarted']().pipe(process.stdout);
})
.on('info', log.info.bind(log))
.on('debug', log.verbose.bind(log))
```

#### Output

```
info Resolving tar streams for 12 tags
info Processing: https://github.com/thlorenz/browserify-markdown-editor/archive/000-nstarted.tar.gz
verb Got redirect for: https://github.com/thlorenz/browserify-markdown-editor/archive/000-nstarted.tar.gz
info Resolved stream for: https://codeload.github.com/thlorenz/browserify-markdown-editor/tar.gz/000-nstarted
[ .. ]
info Resolved stream for: https://codeload.github.com/thlorenz/browserify-markdown-editor/tar.gz/011-finished-product

tags for which streams were resolved:

[ '000-nstarted',
'001-start',
[ .. ]
'010-finished-dev-version',
'011-finished-product' ]

Streaming first stream:

.000666 000000 000000 00000000064 12216176030 011116 0ustar00rootroot000000 000000 52 comment=d4c6d5abfce89add3128fbee5d3981a20484534b
.000775 000000 000000 00000000000 12216176030 011112 5ustar00rootroot000000 000000 .gitignore000664 000000 000000 00000000141 12216176030 013020 0ustar00rootroot000000 000000 lib-cov
*.seed
*.log
*.csv
[..]
```

## Installation

npm install dockerify-github-repo

## API









dockerifyGithubRepo(repo, opts, cb) → {EventEmitter}





Provides a tar stream for each released tag of the given repo.
Each tar stream has a Dockerfile injected unless one was found already.



Parameters:

Name
Type
Argument
Description

repo

string

github repo of the form user/reponame

opts

Object

<optional>

Properties

Name
Type
Argument
Description

dockerify

Object

<optional>

passed to dockerify

filter

function

<optional>

allows filtering tags for which images are created, return false to ignore it or true to include

cb

function

called back with an error or a hash of the form {Object.<github-tag:string, value:(function:ReadableStream)>}
each function can be invoked to return a stream that can be piped into docker to create an image.


Note that each stream emits all dockerify events.


Source:



Returns:


event emitter which emits 'info' and 'debug' messages





Type


EventEmitter



*generated with [docme](https://github.com/thlorenz/docme)*

## License

MIT