lib/takeltau/ship/project/start.rb in takeltau-0.46.5 vs lib/takeltau/ship/project/start.rb in takeltau-0.46.8
- old
+ new
@@ -1,8 +1,9 @@
# frozen_string_literal: true
# tau ship project start
+# rubocop:disable Metrics/AbcSize
module ShipProjectStart
# Start a takelship
def ship_project_start(project, mute: false)
return false unless _ship_project_start_matrjoschka?
@@ -20,19 +21,20 @@
log.debug 'Writing port configuration to takelage.yml'
_ship_ports_lib_write_ports(ports, project)
log.debug "Starting takelship project \"#{project}\""
- args = project == 'teamcity' ? '--volume /opt/buildagent:/opt/buildagent' : ''
+ args = _ship_project_start_get_args project
ship_status = _ship_container_lib_docker_privileged ports, project, args: args
return false unless _ship_container_lib_started?(ship_status, mute)
_ship_project_start_print_banner project
say
_ship_project_start_print_ports ports
true
end
+ # rubocop:enable Metrics/AbcSize
private
# check if we are inside a takelage container
def _ship_project_start_matrjoschka?
@@ -85,9 +87,16 @@
max_length = _ship_project_start_get_maxlength ports
ports_list = _ship_project_start_get_ports_list ports, max_length
ports_list.sort_by! { |port| port[:port] }
say ports_list.map { |port| port[:string] }.join("\n")
say
+ end
+
+ # get additional volume arguments for the teamcity project
+ def _ship_project_start_get_args(project)
+ return '' unless project == 'teamcity'
+
+ config.active['ship_run_args_teamcity']
end
# get a sortable list of port numbers and strings describing the ports
def _ship_project_start_get_ports_list(ports, max_length)
ports_list = []