diff --git a/devops-service/Gemfile b/devops-service/Gemfile index a6af86e..7b587e8 100644 --- a/devops-service/Gemfile +++ b/devops-service/Gemfile @@ -10,7 +10,7 @@ gem "sinatra-websocket"#, "~>0.3.0" gem "fog" #, "~>1.30" gem "mixlib-shellout" gem "chef" #, ">=12" -gem "mongo" #, '~> 2.1' +gem "mongo" , '= 2.1' gem "bson_ext" gem "multi_json" #, "1.7.8" gem "sidekiq" #, "4.1.0" @@ -18,7 +18,7 @@ gem 'rake' #, '10.2.0' gem 'rack-accept-media-types' gem 'rack' #, '1.5.2' gem 'hooks' -gem 'mongoid' #, '~> 5.0.0' +gem 'mongoid' , '= 5.0.0' gem 'net-scp' #, '1.2.1' gem 'net-ssh' #, '3.0.2' # with version 3.1.1 scp.upload method does not work gem 'swagger-blocks' #, '1.3.3' diff --git a/devops-service/Gemfile.lock b/devops-service/Gemfile.lock deleted file mode 100644 index db09dd9..0000000 --- a/devops-service/Gemfile.lock +++ /dev/null @@ -1,690 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (2.3.6) - activesupport (7.0.4) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) - aliyun-sdk (0.8.0) - nokogiri (~> 1.6) - rest-client (~> 2.0) - aws-eventstream (1.2.0) - aws-partitions (1.651.0) - aws-sdk-core (3.166.0) - aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.5) - jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.59.0) - aws-sdk-core (~> 3, >= 3.165.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.117.1) - aws-sdk-core (~> 3, >= 3.165.0) - aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.4) - aws-sdk-secretsmanager (1.67.0) - aws-sdk-core (~> 3, >= 3.165.0) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.5.2) - aws-eventstream (~> 1, >= 1.0.2) - bson (1.12.5) - bson_ext (1.12.5) - bson (~> 1.12.5) - builder (3.2.4) - byebug (11.1.3) - chef (17.10.0) - addressable - aws-sdk-s3 (~> 1.91) - aws-sdk-secretsmanager (~> 1.46) - chef-config (= 17.10.0) - chef-utils (= 17.10.0) - chef-vault - chef-zero (>= 14.0.11) - corefoundation (~> 0.3.4) - diff-lcs (>= 1.2.4, < 1.6.0, != 1.4.0) - erubis (~> 2.7) - ffi (>= 1.5.0) - ffi-libarchive (~> 1.0, >= 1.0.3) - ffi-yajl (~> 2.2) - iniparse (~> 1.4) - inspec-core (~> 4.23) - license-acceptance (>= 1.0.5, < 3) - mixlib-archive (>= 0.4, < 2.0) - mixlib-authentication (>= 2.1, < 4) - mixlib-cli (>= 2.1.1, < 3.0) - mixlib-log (>= 2.0.3, < 4.0) - mixlib-shellout (>= 3.1.1, < 4.0) - net-sftp (>= 2.1.2, < 4.0) - ohai (~> 17.0) - plist (~> 3.2) - proxifier (~> 1.0) - syslog-logger (~> 1.6) - train-core (~> 3.2, >= 3.2.28) - train-winrm (>= 0.2.5) - uuidtools (>= 2.1.5, < 3.0) - vault (~> 0.16) - chef-config (17.10.0) - addressable - chef-utils (= 17.10.0) - fuzzyurl - mixlib-config (>= 2.2.12, < 4.0) - mixlib-shellout (>= 2.0, < 4.0) - tomlrb (~> 1.2) - chef-telemetry (1.1.1) - chef-config - concurrent-ruby (~> 1.0) - chef-utils (17.10.0) - concurrent-ruby - chef-vault (4.1.10) - chef-zero (15.0.11) - ffi-yajl (~> 2.2) - hashie (>= 2.0, < 5.0) - mixlib-log (>= 2.0, < 4.0) - rack (~> 2.0, >= 2.0.6) - uuidtools (~> 2.1) - webrick - coderay (1.1.3) - concurrent-ruby (1.1.10) - connection_pool (2.3.0) - corefoundation (0.3.13) - ffi (>= 1.15.0) - cucumber (8.0.0) - builder (~> 3.2, >= 3.2.4) - cucumber-ci-environment (~> 9.0, >= 9.0.4) - cucumber-core (~> 11.0, >= 11.0.0) - cucumber-cucumber-expressions (~> 15.1, >= 15.1.1) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-html-formatter (~> 19.1, >= 19.1.0) - cucumber-messages (~> 18.0, >= 18.0.0) - diff-lcs (~> 1.5, >= 1.5.0) - mime-types (~> 3.4, >= 3.4.1) - multi_test (~> 1.1, >= 1.1.0) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-ci-environment (9.1.0) - cucumber-core (11.0.0) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-cucumber-expressions (15.2.0) - cucumber-gherkin (23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-html-formatter (19.2.0) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-messages (18.0.0) - cucumber-tag-expressions (4.1.0) - daemons (1.4.1) - database_cleaner (1.99.0) - declarative (0.0.20) - diff-lcs (1.5.0) - docile (1.4.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) - dry-inflector (0.3.0) - durran-validatable (2.0.1) - em-websocket (0.3.8) - addressable (>= 2.1.1) - eventmachine (>= 0.12.9) - erubi (1.11.0) - erubis (2.7.0) - eventmachine (1.2.7) - excon (0.93.1) - factory_girl (4.9.0) - activesupport (>= 3.0.0) - faraday (1.3.1) - faraday-net_http (~> 1.0) - multipart-post (>= 1.2, < 3) - ruby2_keywords (>= 0.0.4) - faraday-net_http (1.0.1) - ffi (1.15.5) - ffi-libarchive (1.1.3) - ffi (~> 1.0) - ffi-yajl (2.4.0) - libyajl2 (>= 1.2) - fission (0.5.0) - CFPropertyList (~> 2.2) - fog (2.3.0) - fog-aliyun (>= 0.1.0) - fog-atmos - fog-aws (>= 0.6.0) - fog-brightbox (>= 0.4, < 2.0) - fog-cloudatcost (~> 0.4) - fog-cloudstack (~> 0.1.0) - fog-core (~> 2.1) - fog-digitalocean (>= 0.3.0) - fog-dnsimple (~> 2.1) - fog-dynect (>= 0.0.2, < 0.6.0) - fog-ecloud (~> 0.1) - fog-google (~> 1.0) - fog-internet-archive - fog-json - fog-local - fog-openstack - fog-ovirt - fog-powerdns (>= 0.1.1) - fog-profitbricks - fog-rackspace - fog-radosgw (>= 0.0.2) - fog-riakcs - fog-sakuracloud (>= 0.0.4) - fog-serverlove - fog-softlayer - fog-storm_on_demand - fog-terremark - fog-vmfusion - fog-voxel - fog-vsphere (>= 0.4.0) - fog-xenserver - fog-xml (~> 0.1.1) - ipaddress (~> 0.5) - json (~> 2.3) - fog-aliyun (0.4.0) - addressable (~> 2.8.0) - aliyun-sdk (~> 0.8.0) - fog-core - fog-json - ipaddress (~> 0.8) - xml-simple (~> 1.1) - fog-atmos (0.1.0) - fog-core - fog-xml - fog-aws (3.15.0) - fog-core (~> 2.1) - fog-json (~> 1.1) - fog-xml (~> 0.1) - fog-brightbox (1.8.0) - dry-inflector - fog-core (>= 1.45, < 3.0) - fog-json - fog-cloudatcost (0.4.0) - fog-core - fog-json - ipaddress - fog-cloudstack (0.1.0) - fog-core (~> 2.1) - fog-json (~> 1.1) - fog-xml (~> 0.1) - fog-core (2.2.4) - builder - excon (~> 0.71) - formatador (~> 0.2) - mime-types - fog-digitalocean (0.4.0) - fog-core - fog-json - fog-xml - ipaddress (>= 0.5) - fog-dnsimple (2.1.0) - fog-core (>= 1.38, < 3) - fog-json - fog-dynect (0.5.0) - fog-core - fog-json - fog-xml - fog-ecloud (0.3.0) - fog-core - fog-xml - fog-google (1.19.0) - fog-core (< 2.3) - fog-json (~> 1.2) - fog-xml (~> 0.1.0) - google-apis-compute_v1 (~> 0.14) - google-apis-dns_v1 (~> 0.12) - google-apis-iamcredentials_v1 (~> 0.6) - google-apis-monitoring_v3 (~> 0.12) - google-apis-pubsub_v1 (~> 0.7) - google-apis-sqladmin_v1beta4 (~> 0.13) - google-apis-storage_v1 (~> 0.6) - google-cloud-env (~> 1.2) - fog-internet-archive (0.0.2) - fog-core - fog-json - fog-xml - fog-json (1.2.0) - fog-core - multi_json (~> 1.10) - fog-local (0.8.0) - fog-core (>= 1.27, < 3.0) - fog-openstack (1.1.0) - fog-core (~> 2.1) - fog-json (>= 1.0) - fog-ovirt (2.0.2) - activesupport - fog-core - fog-json - fog-xml - ovirt-engine-sdk (>= 4.3.1) - fog-powerdns (0.2.0) - fog-core - fog-json - fog-xml - fog-profitbricks (0.0.5) - fog-core - fog-xml - nokogiri - fog-rackspace (0.1.6) - fog-core (>= 1.35) - fog-json (>= 1.0) - fog-xml (>= 0.1) - ipaddress (>= 0.8) - fog-radosgw (0.0.5) - fog-core (>= 1.21.0) - fog-json - fog-xml (>= 0.0.1) - fog-riakcs (0.1.0) - fog-core - fog-json - fog-xml - fog-sakuracloud (1.7.5) - fog-core - fog-json - fog-serverlove (0.1.2) - fog-core - fog-json - fog-softlayer (1.1.4) - fog-core - fog-json - fog-storm_on_demand (0.1.1) - fog-core - fog-json - fog-terremark (0.1.0) - fog-core - fog-xml - fog-vmfusion (0.1.0) - fission - fog-core - fog-voxel (0.1.0) - fog-core - fog-xml - fog-vsphere (3.5.2) - fog-core - rbvmomi (>= 1.9, < 3) - fog-xenserver (1.0.0) - fog-core - fog-xml - xmlrpc - fog-xml (0.1.4) - fog-core - nokogiri (>= 1.5.11, < 2.0.0) - formatador (0.3.0) - fuzzyurl (0.9.0) - google-apis-compute_v1 (0.53.0) - google-apis-core (>= 0.9.0, < 2.a) - google-apis-core (0.9.1) - addressable (~> 2.5, >= 2.5.1) - googleauth (>= 0.16.2, < 2.a) - httpclient (>= 2.8.1, < 3.a) - mini_mime (~> 1.0) - representable (~> 3.0) - retriable (>= 2.0, < 4.a) - rexml - webrick - google-apis-dns_v1 (0.28.0) - google-apis-core (>= 0.9.0, < 2.a) - google-apis-iamcredentials_v1 (0.15.0) - google-apis-core (>= 0.9.0, < 2.a) - google-apis-monitoring_v3 (0.37.0) - google-apis-core (>= 0.9.1, < 2.a) - google-apis-pubsub_v1 (0.30.0) - google-apis-core (>= 0.9.1, < 2.a) - google-apis-sqladmin_v1beta4 (0.38.0) - google-apis-core (>= 0.9.0, < 2.a) - google-apis-storage_v1 (0.20.0) - google-apis-core (>= 0.9.1, < 2.a) - google-cloud-env (1.6.0) - faraday (>= 0.17.3, < 3.0) - googleauth (1.3.0) - faraday (>= 0.17.3, < 3.a) - jwt (>= 1.4, < 3.0) - memoist (~> 0.16) - multi_json (~> 1.11) - os (>= 0.9, < 2.0) - signet (>= 0.16, < 2.a) - gssapi (1.3.1) - ffi (>= 1.0.1) - guard (2.18.0) - formatador (>= 0.2.4) - listen (>= 2.7, < 4.0) - lumberjack (>= 1.0.12, < 2.0) - nenv (~> 0.1) - notiffany (~> 0.0) - pry (>= 0.13.0) - shellany (~> 0.0) - thor (>= 0.18.1) - guard-compat (1.2.1) - guard-rspec (4.7.3) - guard (~> 2.1) - guard-compat (~> 1.1) - rspec (>= 2.99.0, < 4.0) - gyoku (1.4.0) - builder (>= 2.1.2) - rexml (~> 3.0) - hashie (4.1.0) - hooks (0.4.1) - uber (~> 0.0.14) - http-accept (1.7.0) - http-cookie (1.0.5) - domain_name (~> 0.5) - httpclient (2.8.3) - i18n (1.12.0) - concurrent-ruby (~> 1.0) - iniparse (1.5.0) - inspec-core (4.24.32) - addressable (~> 2.4) - chef-telemetry (~> 1.0) - faraday (>= 0.9.0, < 1.4) - hashie (>= 3.4, < 5.0) - license-acceptance (>= 0.2.13, < 3.0) - method_source (>= 0.8, < 2.0) - mixlib-log (~> 3.0) - multipart-post (~> 2.0) - parallel (~> 1.9) - parslet (>= 1.5, < 3.0) - pry (~> 0.13) - rspec (~> 3.10) - rspec-its (~> 1.2) - rubyzip (>= 1.2.2, < 3.0) - semverse (~> 3.0) - sslshake (~> 1.2) - thor (>= 0.20, < 2.0) - tomlrb (>= 1.2, < 2.1) - train-core (~> 3.0) - tty-prompt (~> 0.17) - tty-table (~> 0.10) - ipaddress (0.8.3) - jmespath (1.6.1) - json (2.6.2) - jwt (2.5.0) - leshill-will_paginate (2.3.11) - libyajl2 (2.1.0) - license-acceptance (2.1.13) - pastel (~> 0.7) - tomlrb (>= 1.2, < 3.0) - tty-box (~> 0.6) - tty-prompt (~> 0.20) - listen (3.7.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - little-plugger (1.1.4) - logging (2.3.1) - little-plugger (~> 1.1) - multi_json (~> 1.14) - lumberjack (1.2.8) - memoist (0.16.2) - method_source (1.0.0) - mime-types (3.4.1) - mime-types-data (~> 3.2015) - mime-types-data (3.2022.0105) - mini_mime (1.1.2) - minitest (5.16.3) - mixlib-archive (1.1.7) - mixlib-log - mixlib-authentication (3.0.10) - mixlib-cli (2.1.8) - mixlib-config (3.0.27) - tomlrb - mixlib-log (3.0.9) - mixlib-shellout (3.2.7) - chef-utils - mongo (1.12.5) - bson (= 1.12.5) - mongoid (1.0.6) - activesupport (>= 2.2.2) - durran-validatable (>= 2.0.1) - leshill-will_paginate (>= 2.3.11) - mongo (>= 0.18.2) - multi_json (1.15.0) - multi_test (1.1.0) - multipart-post (2.2.3) - mustermann (3.0.0) - ruby2_keywords (~> 0.0.1) - nenv (0.3.0) - net-scp (4.0.0) - net-ssh (>= 2.6.5, < 8.0.0) - net-sftp (2.1.2) - net-ssh (>= 2.6.5) - net-ssh (7.0.1) - netrc (0.11.0) - nokogiri (1.13.9-arm64-darwin) - racc (~> 1.4) - nori (2.6.0) - notiffany (0.1.3) - nenv (~> 0.1) - shellany (~> 0.0) - ohai (17.9.0) - chef-config (>= 14.12, < 18) - chef-utils (>= 16.0, < 18) - ffi (~> 1.9) - ffi-yajl (~> 2.2) - ipaddress - mixlib-cli (>= 1.7.0) - mixlib-config (>= 2.0, < 4.0) - mixlib-log (>= 2.0.1, < 4.0) - mixlib-shellout (~> 3.2, >= 3.2.5) - plist (~> 3.1) - train-core - wmi-lite (~> 1.0) - optimist (3.0.1) - os (1.1.4) - ovirt-engine-sdk (4.4.1) - json (>= 1, < 3) - parallel (1.22.1) - parslet (2.0.0) - pastel (0.8.0) - tty-color (~> 0.5) - plist (3.6.0) - power_assert (2.0.2) - proxifier (1.0.3) - pry (0.14.1) - coderay (~> 1.1) - method_source (~> 1.0) - public_suffix (5.0.0) - racc (1.6.0) - rack (2.2.4) - rack-accept-media-types (0.9) - rack-protection (3.0.2) - rack - rake (13.0.6) - rb-fsevent (0.11.2) - rb-inotify (0.10.1) - ffi (~> 1.0) - rbvmomi (2.4.1) - builder (~> 3.0) - json (>= 1.8) - nokogiri (~> 1.5) - optimist (~> 3.0) - redis (4.8.0) - representable (3.2.0) - declarative (< 0.1.0) - trailblazer-option (>= 0.1.1, < 0.2.0) - uber (< 0.2.0) - rest-client (2.1.0) - http-accept (>= 1.7.0, < 2.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 4.0) - netrc (~> 0.8) - retriable (3.1.2) - rexml (3.2.5) - rspec (3.12.0) - rspec-core (~> 3.12.0) - rspec-expectations (~> 3.12.0) - rspec-mocks (~> 3.12.0) - rspec-core (3.12.0) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-its (1.3.0) - rspec-core (>= 3.0.0) - rspec-expectations (>= 3.0.0) - rspec-mocks (3.12.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-support (3.12.0) - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - ruby2_keywords (0.0.5) - rubyntlm (0.6.3) - rubyzip (2.3.2) - semverse (3.0.2) - shellany (0.0.1) - sidekiq (6.5.7) - connection_pool (>= 2.2.5) - rack (~> 2.0) - redis (>= 4.5.0, < 5) - signet (0.17.0) - addressable (~> 2.8) - faraday (>= 0.17.5, < 3.a) - jwt (>= 1.5, < 3.0) - multi_json (~> 1.10) - simplecov (0.21.2) - docile (~> 1.1) - simplecov-html (~> 0.11) - simplecov_json_formatter (~> 0.1) - simplecov-html (0.12.3) - simplecov-rcov (0.3.1) - simplecov (>= 0.4.1) - simplecov_json_formatter (0.1.4) - sinatra (3.0.2) - mustermann (~> 3.0) - rack (~> 2.2, >= 2.2.4) - rack-protection (= 3.0.2) - tilt (~> 2.0) - sinatra-contrib (3.0.2) - multi_json - mustermann (~> 3.0) - rack-protection (= 3.0.2) - sinatra (= 3.0.2) - tilt (~> 2.0) - sinatra-websocket (0.3.1) - em-websocket (~> 0.3.6) - eventmachine - thin (>= 1.3.1, < 2.0.0) - sslshake (1.3.1) - strings (0.2.1) - strings-ansi (~> 0.2) - unicode-display_width (>= 1.5, < 3.0) - unicode_utils (~> 1.4) - strings-ansi (0.2.0) - swagger-blocks (3.0.0) - sys-uname (1.2.2) - ffi (~> 1.1) - syslog-logger (1.6.8) - test-unit (3.5.5) - power_assert - thin (1.8.1) - daemons (~> 1.0, >= 1.0.9) - eventmachine (~> 1.0, >= 1.0.4) - rack (>= 1, < 3) - thor (1.2.1) - tilt (2.0.11) - tomlrb (1.3.0) - trailblazer-option (0.1.2) - train-core (3.10.7) - addressable (~> 2.5) - ffi (!= 1.13.0) - json (>= 1.8, < 3.0) - mixlib-shellout (>= 2.0, < 4.0) - net-scp (>= 1.2, < 5.0) - net-ssh (>= 2.9, < 8.0) - train-winrm (0.2.13) - winrm (>= 2.3.6, < 3.0) - winrm-elevated (~> 1.2.2) - winrm-fs (~> 1.0) - tty-box (0.7.0) - pastel (~> 0.8) - strings (~> 0.2.0) - tty-cursor (~> 0.7) - tty-color (0.6.0) - tty-cursor (0.7.1) - tty-prompt (0.23.1) - pastel (~> 0.8) - tty-reader (~> 0.8) - tty-reader (0.9.0) - tty-cursor (~> 0.7) - tty-screen (~> 0.8) - wisper (~> 2.0) - tty-screen (0.8.1) - tty-table (0.12.0) - pastel (~> 0.8) - strings (~> 0.2.0) - tty-screen (~> 0.8) - tzinfo (2.0.5) - concurrent-ruby (~> 1.0) - uber (0.0.15) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (2.3.0) - unicode_utils (1.4.0) - uuidtools (2.2.0) - vault (0.17.0) - aws-sigv4 - webrick (1.7.0) - winrm (2.3.6) - builder (>= 2.1.2) - erubi (~> 1.8) - gssapi (~> 1.2) - gyoku (~> 1.0) - httpclient (~> 2.2, >= 2.2.0.2) - logging (>= 1.6.1, < 3.0) - nori (~> 2.0) - rubyntlm (~> 0.6.0, >= 0.6.3) - winrm-elevated (1.2.3) - erubi (~> 1.8) - winrm (~> 2.0) - winrm-fs (~> 1.0) - winrm-fs (1.3.5) - erubi (~> 1.8) - logging (>= 1.6.1, < 3.0) - rubyzip (~> 2.0) - winrm (~> 2.0) - wisper (2.0.1) - wmi-lite (1.0.7) - xml-simple (1.1.9) - rexml - xmlrpc (0.3.2) - webrick - -PLATFORMS - arm64-darwin-20 - -DEPENDENCIES - activesupport - bson_ext - byebug - chef - cucumber - database_cleaner (~> 1.5) - factory_girl (~> 4.5) - fog - guard-rspec - hooks - httpclient - mime-types - mixlib-shellout - mongo - mongoid - multi_json - net-scp - net-ssh - rack - rack-accept-media-types - rake - rspec (~> 3.3) - rspec_junit_formatter - sidekiq - simplecov - simplecov-rcov - sinatra - sinatra-contrib - sinatra-websocket - swagger-blocks - test-unit - thin - -BUNDLED WITH - 2.2.16 diff --git a/docker/Dockerfile.fluke b/docker/Dockerfile.fluke index db7f99a..81cf882 100644 --- a/docker/Dockerfile.fluke +++ b/docker/Dockerfile.fluke @@ -1,111 +1,59 @@ -FROM alpine:3.4 +FROM gendosu/ruby:2.4-alpine + + LABEL maintainer "Tim Lianov lianovt@gmail.com" # skip installing gem documentation -RUN mkdir -p /usr/local/etc \ - && { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc -# install things globally, for great justice -# and don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_PATH="$GEM_HOME" \ - BUNDLE_BIN="$GEM_HOME/bin" \ - BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $BUNDLE_BIN:$PATH -RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" \ - && chmod 777 "$GEM_HOME" "$BUNDLE_BIN" +# RUN set -ex \ +# \ +# && apk add --no-cache --virtual .ruby-builddeps \ +# autoconf \ +# bison \ +# bzip2 \ +# bzip2-dev \ +# ca-certificates \ +# coreutils \ +# gcc \ +# gdbm-dev \ +# glib-dev \ +# libc-dev \ +# libffi-dev \ +# libxml2-dev \ +# libxslt-dev \ +# make \ +# ncurses-dev \ +# openssl \ +# openssl-dev \ +# procps \ +# readline-dev \ +# ruby \ +# tar \ +# yaml-dev \ +# zlib-dev \ +# xz -ENV RUBY_MAJOR 2.3 -ENV RUBY_VERSION 2.3.1 -ENV RUBY_DOWNLOAD_SHA256 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -ex \ \ - && apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ + && apk update && apk add --no-cache --virtual .ruby-builddeps \ coreutils \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - procps \ - readline-dev \ - ruby \ - tar \ - yaml-dev \ - zlib-dev \ - xz \ -# \ -# && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.xz" \ -# && echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum -c - \ -# \ -# && mkdir -p /usr/src/ruby \ -# && tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1 \ -# && rm ruby.tar.xz \ -# \ -# && cd /usr/src/ruby \ -# \ -# # hack in "ENABLE_PATH_CHECK" disabling to suppress: -# # warning: Insecure world writable dir -# && { \ -# echo '#define ENABLE_PATH_CHECK 0'; \ -# echo; \ -# cat file.c; \ -# } > file.c.new \ -# && mv file.c.new file.c \ -# \ -# && autoconf \ -# # the configure script does not detect isnan/isinf as macros -# && ac_cv_func_isnan=yes ac_cv_func_isinf=yes \ -# ./configure --disable-install-doc --enable-shared \ -# && make -j"$(getconf _NPROCESSORS_ONLN)" \ -# && make install \ -# \ -# && runDeps="$( \ -# scanelf --needed --nobanner --recursive /usr/local \ -# | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ -# | sort -u \ -# | xargs -r apk info --installed \ -# | sort -u \ -# )" \ -# && apk add --virtual .ruby-rundeps $runDeps \ -# bzip2 \ -# ca-certificates \ -# libffi-dev \ -# openssl-dev \ -# yaml-dev \ -# procps \ -# zlib-dev \ -# && apk del .ruby-builddeps \ -# && cd / \ -# && rm -r /usr/src/ruby + build-base \ + libxml2 \ + libxml2-dev \ + libcurl \ + curl-dev -# ENV RUBYGEMS_VERSION 2.6.10 -# RUN gem update --system "$RUBYGEMS_VERSION" +ENV RUBYGEMS_VERSION 2.6.10 +RUN gem update --system "$RUBYGEMS_VERSION" -# ENV BUNDLER_VERSION 1.14.5 -# RUN gem install bundler --version "$BUNDLER_VERSION" +ENV BUNDLER_VERSION 2.2.16 +RUN gem install bundler --version "$BUNDLER_VERSION" -# ADD /devops-service /app/ -# WORKDIR /app -# RUN bundle install +ADD /devops-service/ /app/ +WORKDIR /app +RUN bundle install +EXPOSE 9000 +CMD bundle exec thin -R ./config.ru -e dev -p 9000 -t 600 -u devops --pid ./devops.pid --log ./devops.log start