Skip to content

Commit

Permalink
Refining dockerfile template
Browse files Browse the repository at this point in the history
  • Loading branch information
alvagante committed Mar 29, 2016
1 parent b118267 commit 932156b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 33 deletions.
45 changes: 13 additions & 32 deletions manifests/dockerize.pp
Expand Up @@ -59,32 +59,19 @@
undef => "${os}:${osversion}",
default => $from,
}
$real_path = "${workdir}/${os}/${osversion}/${app}/Dockerfile"
$basedir_path = "${workdir}/${username}/${os}/${osversion}/${app}"

Exec {
path => '/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin',
timeout => 3000,
}

# Dockerfile creation
if $create {
if ! defined(File[$workdir]) {
file { $workdir:
ensure => directory,
}
}
if ! defined(File["${workdir}/${os}"]) {
file { "${workdir}/${os}":
ensure => directory,
}
}
if ! defined(File["${workdir}/${os}/${osversion}"]) {
file { "${workdir}/${os}/${osversion}":
ensure => directory,
}
}
if ! defined(File["${workdir}/${os}/${osversion}/${app}"]) {
file { "${workdir}/${os}/${osversion}/${app}":
ensure => directory,
}
}

file { "${workdir}/${os}/${osversion}/${app}/Dockerfile":
exec { "mkdir -p ${basedir_path}":
creates => $basedir_path,
} ->
file { "${basedir_path}/Dockerfile":
ensure => $ensure,
content => template($template),
}
Expand All @@ -93,22 +80,16 @@
# Image build
if $build and $ensure == 'present' {
exec { "docker build ${build_options} -t ${username}/${real_repository}:${real_repository_tag} .":
cwd => "${workdir}/${os}/${osversion}/${app}",
path => '/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin',
subscribe => File["${workdir}/${os}/${osversion}/${app}/Dockerfile"],
refreshonly => true,
timeout => 0,
cwd => $basedir_path,
subscribe => File["${basedir_path}/Dockerfile"],
}
}

# Image upload to Docker Hub
if $push and $ensure == 'present' {
exec { "docker push ${username}/${real_repository}:${real_repository_tag}":
cwd => "${workdir}/${os}/${osversion}/${app}",
path => '/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin',
cwd => $basedir_path,
subscribe => Exec["docker build ${build_options} -t ${username}/${real_repository}:${repository_tag} ."],
refreshonly => true,
timeout => 0,
}
}

Expand Down
3 changes: 2 additions & 1 deletion templates/dockerize/Dockerfile.erb
Expand Up @@ -18,6 +18,7 @@ RUN apt-get update && \
<% if @settings['repo_url'] -%>
RUN echo "[<%= @app %>]\nname=<%= @app %> repository\nbaseurl=<%= @settings['repo_url'] -%> > /etc/yum.repos.d/<%= @app %>.repo
<% end -%>
RUN yum install -y epel-release
RUN yum install -y <%= @settings['package_name'] %> && yum clean all
<% end -%>
<% if @settings['tcp_port'] -%>
Expand All @@ -31,5 +32,5 @@ VOLUME <%= @settings['log_dir_path'] %>
<% end -%>
ENTRYPOINT [ "<%= @settings['process_name'] %>"<% if @settings['process_extra_name'] -%> , "<%= @settings['process_extra_name'] -%>"<% end -%> ]
<% if @settings['process_args'] -%>
CMD [ <% @settings['process_args'].each do |ar| %>"<%= ar %>",<% end -%> ]
CMD [ <% comma = '' %><% @settings['process_args'].split.each do |ar| %><%= comma %>"<%= ar %>"<% comma = ',' %><% end -%> ]
<% end -%>

0 comments on commit 932156b

Please sign in to comment.