soaring 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9195b10a8934da00d90f8cfccdcb4033b274e19b
4
- data.tar.gz: d810fb2045e374d3b07c4647babdff7807b8184a
3
+ metadata.gz: 90d04662980ccaf615364b1c93c178d6ac5f47d7
4
+ data.tar.gz: dff57f92cbe3dff16b4a585f02b3c660ef9cec5b
5
5
  SHA512:
6
- metadata.gz: 30158f7b1bd2fbbfca35a74f6306accae0464d357d04c47fab17fb995a5e7f08142d6f14357cbed254848b78a6751a54b8f35f5ba5f8e71a11e35cd4244539de
7
- data.tar.gz: 872ae2da9dca2e98abfa180541ec2b96509c7815d6b38dc77e97ed2d9c1cfae471eefbd0e0a3be53d94b64c616e56c47ca72e8c8ef163e89b2b21d50ab7e1c05
6
+ metadata.gz: 593ae88af95fafd6d68378f5775e4c8e55f719490dea9091156f04a656b22a67965125e964da359979fb00def336992a642327ceb302699c794ba1e6310f9d5a
7
+ data.tar.gz: 20d2ddae1794116def8480097a790418057b2d1f5ab3062b3b5c2fbb3eecbbb30a10d5ddbc8a6723c02e861276cbb4f9a09b1566dcbdf755cb46ce23f94ec457
data/README.md CHANGED
@@ -10,13 +10,17 @@ Install the gem from rubygems as follow:
10
10
 
11
11
  ## Creating a new project
12
12
 
13
+ Create a repo on github/gitlab, clone locally and enter project folder:
14
+ git clone git@github.com:hetznerZA/my-awesome-service-component.git
15
+ cd my-awesome-service-component
16
+
13
17
  Create the fresh project skeleton:
14
18
  soaring init
15
19
 
16
- Switch to the appropriate ruby version and install the gem dependencies
20
+ Switch to the appropriate ruby version and install the gem dependencies:
17
21
  rvm use . && bundle install
18
22
 
19
- Create an environment.yml file by copying the example:
23
+ Create an environment.yml file by copying the example and updating to your needs:
20
24
  cp config/environment.yml.example config/environment.yml
21
25
 
22
26
  ## Running a service component locally
@@ -24,10 +28,13 @@ Create an environment.yml file by copying the example:
24
28
  Start up a local instance of the service component to check that all is well
25
29
  soaring run
26
30
 
27
- This will default to a MRI ruby rack application running with the following defaults that can be specified
31
+ This will default to a MRI ruby rack application running with the following defaults:
28
32
  port = 9393
29
33
  environment = 'development'
30
34
 
35
+ These defaults can be overriden using parameters passed to soaring. View the command line options:
36
+ soaring -h
37
+
31
38
  ## Packaging the service component for deployment
32
39
 
33
40
  Make sure your git repo is committed and pushed to master. Execute the following command.
data/lib/soaring/cli.rb CHANGED
@@ -5,9 +5,7 @@ module Soaring
5
5
  def self.start(argv)
6
6
  @project_folder = Dir.pwd
7
7
  command, options = self.parse
8
-
9
- puts "executing #{command} with #{options}" if options[:verbose]
10
-
8
+ puts "#{command} with #{options}" if options[:verbose]
11
9
  self.send("execute_#{command}",options)
12
10
  end
13
11
 
@@ -5,27 +5,33 @@ module Soaring
5
5
  end
6
6
 
7
7
  def package(project_folder)
8
- exit 1 if (not is_git_repo_up_to_date?) and (not @options[:ignore_git_checks])
9
- puts 'Git repo up to date.' if @options[:verbose]
10
-
11
- service_name = File.split(project_folder)[-1]
12
- service_revision = get_service_component_revision
13
- revision_hash = `git rev-parse --short HEAD`.chomp
14
- timestamp = Time.now.strftime("%F-%H%M%S")
15
- build_output_location = "build/build-#{service_name}-#{service_revision}-#{revision_hash}-#{timestamp}.zip"
8
+ validate_project
9
+ build_output_location = generate_build_output_location
16
10
  `zip -r #{build_output_location} * .ebextensions -x build -x config/environment.yml`
17
- puts "Build packaged at #{project_folder}/#{build_output_location}"
11
+ puts "Build packaged at #{build_output_location}"
18
12
  end
19
13
 
20
14
  private
21
15
 
22
- def get_service_component_revision
16
+ def validate_project
17
+
18
+ if (not is_git_repo_up_to_date?) and (not @options[:ignore_git_checks])
19
+ puts "Local git repo is dirty and should not be packaged"
20
+ exit 1
21
+ end
22
+ puts 'Local git repo up to date.' if @options[:verbose]
23
+ end
24
+
25
+ def generate_build_output_location
26
+ service_name = File.split(project_folder)[-1]
27
+ revision_hash = `git rev-parse --short HEAD`.chomp
28
+ timestamp = Time.now.strftime("%F-%H%M%S")
29
+ "#{project_folder}/build/build_#{service_name}_#{revision_hash}_#{timestamp}.zip"
23
30
  end
24
31
 
25
32
  def is_git_repo_up_to_date?
26
33
  git_response = `git status --porcelain`.chomp
27
34
  return true if '' == git_response
28
- puts "Git repo is dirty and should not be packaged"
29
35
  false
30
36
  end
31
37
  end
@@ -1,3 +1,3 @@
1
1
  module Soaring
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soaring
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Barney de Villiers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-07 00:00:00.000000000 Z
11
+ date: 2016-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler