Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/thlorenz/dockerify-github-repo
- Owner: thlorenz
- License: mit
- Created: 2014-04-01T18:37:10.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-04-04T20:32:51.000Z (over 10 years ago)
- Last Synced: 2024-10-18T00:12:59.097Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 227 KB
- Stars: 9
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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-producttags 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 ortrue
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.
Returns:
event emitter which emits
'info'
and'debug'
messages
Type
EventEmitter*generated with [docme](https://github.com/thlorenz/docme)*
## License
MIT