assemblyline-cli 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|