assemblyline-cli 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Rakefile +2 -2
- data/assemblyline-cli.gemspec +13 -13
- data/bin/assemblyline +1 -1
- data/lib/assemblyline/cli/version.rb +1 -1
- data/lib/assemblyline/cli.rb +39 -25
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1f11bc038e169a633ded370d70ac330acb1bfc7
|
4
|
+
data.tar.gz: b247486abf028b32dfbdb93cd99c462efb0477df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00960990496d840b33011e09a573feada360e039915d938201d63beb3285f4a6b0f2bd875c33a7e8d8275f209767dfce8197b963b3b6661c787a3ea27ef21dbd
|
7
|
+
data.tar.gz: a9779d394722ed9d09b4a05994ae9d75426f7f8445be0ef2a0519494b4bf2d3230482334bf69ed12710edd70663e8cb52baa355dda0d5245cd410ea09bfc1dcc
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/assemblyline-cli.gemspec
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
lib = File.expand_path(
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
4
|
+
require "assemblyline/cli/version"
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = "assemblyline-cli"
|
8
8
|
spec.version = Assemblyline::CLI_VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.summary =
|
12
|
-
spec.homepage =
|
13
|
-
spec.license =
|
9
|
+
spec.authors = ["Ed Robinson"]
|
10
|
+
spec.email = ["ed@reevoo.com"]
|
11
|
+
spec.summary = "A super-lightweight wrapper to start assemblyline tasks"
|
12
|
+
spec.homepage = "http://github.com/assemblyline"
|
13
|
+
spec.license = "MIT"
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
16
16
|
spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
|
17
17
|
spec.test_files = spec.files.grep(/^(test|spec|features)\//)
|
18
|
-
spec.require_paths = [
|
18
|
+
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_dependency
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
20
|
+
spec.add_dependency "thor", "~> 0.19"
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.5"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "reevoocop"
|
24
24
|
end
|
data/bin/assemblyline
CHANGED
data/lib/assemblyline/cli.rb
CHANGED
@@ -1,26 +1,26 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "assemblyline/cli/version"
|
2
|
+
require "thor"
|
3
3
|
|
4
4
|
module Assemblyline
|
5
5
|
class CLI < Thor
|
6
|
-
desc
|
7
|
-
option :debug, type: :boolean, default: false, desc:
|
8
|
-
option :push, type: :boolean, default: false, desc:
|
9
|
-
option :ref, type: :string, desc:
|
10
|
-
option :dev, type: :string, desc:
|
6
|
+
desc "build GIT_URL or PATH", "Build an assemblyline project from a git url or path"
|
7
|
+
option :debug, type: :boolean, default: false, desc: "start assemblyline-builder with a tty"
|
8
|
+
option :push, type: :boolean, default: false, desc: "push the built image to docker repo"
|
9
|
+
option :ref, type: :string, desc: "merge this ref into master before building"
|
10
|
+
option :dev, type: :string, desc: "use a local dev checkout of assemblyline-builder", banner: "PATH"
|
11
11
|
def build(url_or_path)
|
12
12
|
init_local_mount url_or_path
|
13
13
|
exec "docker run --rm #{bind_mounts} #{env_flags} #{debug_flags} #{dev_mount} #{local_mount} #{assemblyline_builder} bin/build #{build_command(url_or_path)}" # rubocop:disable Metrics/LineLength
|
14
14
|
end
|
15
15
|
|
16
|
-
desc
|
16
|
+
desc "update", "update assemblyline"
|
17
17
|
def update
|
18
18
|
fail unless system "docker pull #{assemblyline_builder}"
|
19
|
-
exec
|
19
|
+
exec "gem install assemblyline-cli"
|
20
20
|
end
|
21
21
|
|
22
|
-
map
|
23
|
-
desc
|
22
|
+
map "-v" => "version", "--version" => "version"
|
23
|
+
desc "version", "print the current version"
|
24
24
|
def version
|
25
25
|
puts CLI_VERSION
|
26
26
|
end
|
@@ -39,7 +39,7 @@ module Assemblyline
|
|
39
39
|
|
40
40
|
def push
|
41
41
|
return unless options[:push]
|
42
|
-
|
42
|
+
"--push "
|
43
43
|
end
|
44
44
|
|
45
45
|
def sha
|
@@ -57,7 +57,7 @@ module Assemblyline
|
|
57
57
|
|
58
58
|
def debug_flags
|
59
59
|
return unless options[:debug] || options[:dev]
|
60
|
-
|
60
|
+
"-ti"
|
61
61
|
end
|
62
62
|
|
63
63
|
def dev_mount
|
@@ -66,35 +66,49 @@ module Assemblyline
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def env_flags
|
69
|
-
env.map { |var, val| "-e #{var}=#{val}" }.join(
|
69
|
+
env.map { |var, val| "-e #{var}=#{val}" }.join(" ")
|
70
70
|
end
|
71
71
|
|
72
72
|
def env
|
73
73
|
{
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
74
|
+
"SSH_KEY" => ssh_key,
|
75
|
+
"DOCKERCFG" => dockercfg,
|
76
|
+
"JSPM_GITHUB_TOKEN" => ENV["JSPM_GITHUB_TOKEN"],
|
77
|
+
"CI" => ci?,
|
78
|
+
"CI_MASTER" => ci_master?,
|
79
|
+
}.reject { |_, v| v.nil? }
|
80
|
+
end
|
81
|
+
|
82
|
+
def ci?
|
83
|
+
%w(CI CONTINUOUS_INTEGRATION TDDIUM TRAVIS BUILD_ID JENKINS_URL CIRCLECI).each do |var|
|
84
|
+
return true if ENV[var]
|
85
|
+
end
|
86
|
+
nil
|
87
|
+
end
|
88
|
+
|
89
|
+
def ci_master?
|
90
|
+
return true if ENV["GIT_BRANCH"] == "origin/master"
|
91
|
+
return true if ENV["CI_MASTER"]
|
78
92
|
end
|
79
93
|
|
80
94
|
def bind_mounts
|
81
|
-
|
95
|
+
"-v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock"
|
82
96
|
end
|
83
97
|
|
84
98
|
def assemblyline_builder
|
85
|
-
|
99
|
+
"quay.io/assemblyline/builder:latest"
|
86
100
|
end
|
87
101
|
|
88
102
|
def ssh_key
|
89
103
|
key = File.read(key_path)
|
90
|
-
fail
|
104
|
+
fail "SSH private key not found" unless key
|
91
105
|
key.dump
|
92
106
|
end
|
93
107
|
|
94
108
|
def dockercfg
|
95
|
-
cfg = ENV[
|
96
|
-
cfg ||= File.read(File.join(Dir.home,
|
97
|
-
cfg.gsub("\n",
|
109
|
+
cfg = ENV["DOCKERCFG"]
|
110
|
+
cfg ||= File.read(File.join(Dir.home, ".dockercfg"))
|
111
|
+
cfg.gsub("\n", "").gsub("\t", "").dump
|
98
112
|
end
|
99
113
|
|
100
114
|
def key_path
|
@@ -102,7 +116,7 @@ module Assemblyline
|
|
102
116
|
end
|
103
117
|
|
104
118
|
def ssh_key_path(key)
|
105
|
-
File.join(ENV[
|
119
|
+
File.join(ENV["HOME"], ".ssh/#{key}")
|
106
120
|
end
|
107
121
|
end
|
108
122
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assemblyline-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ed Robinson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|