dapp 0.10.2 → 0.36.24
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 +5 -5
- data/bin/dapp +77 -15
- data/config/en/common.yml +20 -11
- data/config/en/net_status.yml +108 -27
- data/lib/dapp/cli/cli.rb +1 -0
- data/lib/dapp/cli/command/base.rb +111 -0
- data/lib/dapp/cli/command/sample/base.rb +28 -0
- data/lib/dapp/cli/command/sample/create.rb +24 -0
- data/lib/dapp/cli/command/sample/list.rb +25 -0
- data/lib/dapp/cli/command/sample.rb +20 -0
- data/lib/dapp/cli/command/slug.rb +26 -0
- data/lib/dapp/cli/command/update.rb +65 -0
- data/lib/dapp/cli/options/ssh.rb +18 -0
- data/lib/dapp/cli/options/tag.rb +51 -0
- data/lib/dapp/cli.rb +11 -3
- data/lib/dapp/config/config.rb +21 -0
- data/lib/dapp/config/directive/base.rb +100 -3
- data/lib/dapp/core_ext/hash.rb +14 -0
- data/lib/dapp/core_ext/pathname.rb +6 -4
- data/lib/dapp/dapp/chef.rb +1 -9
- data/lib/dapp/dapp/command/common.rb +24 -0
- data/lib/dapp/dapp/command/sample/common.rb +54 -0
- data/lib/dapp/dapp/command/sample/create.rb +57 -0
- data/lib/dapp/dapp/command/sample/list.rb +13 -0
- data/lib/dapp/dapp/command/slug.rb +11 -0
- data/lib/dapp/dapp/dapp_config.rb +85 -0
- data/lib/dapp/dapp/dappfile.rb +108 -27
- data/lib/dapp/dapp/deps/base.rb +9 -32
- data/lib/dapp/dapp/deps/common.rb +26 -0
- data/lib/dapp/dapp/deps/gitartifact.rb +2 -20
- data/lib/dapp/dapp/deps/toolchain.rb +11 -0
- data/lib/dapp/dapp/git_artifact.rb +6 -4
- data/lib/dapp/dapp/lock.rb +6 -5
- data/lib/dapp/dapp/logging/base.rb +32 -20
- data/lib/dapp/dapp/logging/i18n.rb +5 -1
- data/lib/dapp/dapp/logging/process.rb +6 -6
- data/lib/dapp/dapp/option_tags.rb +98 -0
- data/lib/dapp/dapp/ruby2go.rb +130 -0
- data/lib/dapp/dapp/sentry.rb +97 -0
- data/lib/dapp/dapp/shellout/base.rb +26 -18
- data/lib/dapp/dapp/shellout/streaming.rb +2 -2
- data/lib/dapp/dapp/slug.rb +12 -0
- data/lib/dapp/dapp/ssh_agent.rb +25 -7
- data/lib/dapp/dapp.rb +192 -41
- data/lib/dapp/deployment.rb +1 -0
- data/lib/dapp/dimg/artifact.rb +12 -4
- data/lib/dapp/dimg/build/stage/artifact_base.rb +26 -30
- data/lib/dapp/dimg/build/stage/artifact_default.rb +50 -28
- data/lib/dapp/dimg/build/stage/base.rb +187 -52
- data/lib/dapp/dimg/build/stage/before_install.rb +4 -15
- data/lib/dapp/dimg/build/stage/before_install_artifact.rb +4 -0
- data/lib/dapp/dimg/build/stage/before_setup.rb +1 -20
- data/lib/dapp/dimg/build/stage/build_artifact.rb +1 -20
- data/lib/dapp/dimg/build/stage/docker_instructions.rb +5 -4
- data/lib/dapp/dimg/build/stage/from.rb +62 -9
- data/lib/dapp/dimg/build/stage/ga_archive.rb +14 -1
- data/lib/dapp/dimg/build/stage/ga_artifact_patch.rb +1 -5
- data/lib/dapp/dimg/build/stage/ga_base.rb +5 -35
- data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +15 -34
- data/lib/dapp/dimg/build/stage/ga_related_base.rb +21 -0
- data/lib/dapp/dimg/build/stage/import_artifact.rb +22 -11
- data/lib/dapp/dimg/build/stage/install/ga_post_install_patch.rb +6 -2
- data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch.rb +6 -2
- data/lib/dapp/dimg/build/stage/install/install.rb +1 -19
- data/lib/dapp/dimg/build/stage/instructions.rb +27 -0
- data/lib/dapp/dimg/build/stage/mod/group.rb +19 -7
- data/lib/dapp/dimg/build/stage/mod/logging.rb +15 -19
- data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch.rb +24 -1
- data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch.rb +6 -2
- data/lib/dapp/dimg/build/stage/setup/setup.rb +1 -19
- data/lib/dapp/dimg/builder/ansible.rb +5 -0
- data/lib/dapp/dimg/builder/chef/cookbook.rb +8 -8
- data/lib/dapp/dimg/builder/chef.rb +29 -16
- data/lib/dapp/dimg/builder/none.rb +1 -34
- data/lib/dapp/dimg/builder/ruby2go.rb +57 -0
- data/lib/dapp/dimg/builder/shell.rb +1 -20
- data/lib/dapp/dimg/cli/cli.rb +2 -1
- data/lib/dapp/dimg/cli/command/base.rb +24 -0
- data/lib/dapp/dimg/cli/command/dimg/bp.rb +60 -0
- data/lib/dapp/dimg/cli/command/dimg/build.rb +43 -0
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/export.rb +9 -4
- data/lib/dapp/dimg/cli/{build_context → command/dimg/build_context}/import.rb +4 -4
- data/lib/dapp/dimg/cli/{build_context.rb → command/dimg/build_context.rb} +5 -5
- data/lib/dapp/dimg/cli/{cleanup.rb → command/dimg/cleanup.rb} +4 -6
- data/lib/dapp/dimg/cli/command/dimg/cleanup_repo.rb +47 -0
- data/lib/dapp/dimg/cli/command/dimg/flush_local.rb +24 -0
- data/lib/dapp/dimg/cli/command/dimg/flush_repo.rb +36 -0
- data/lib/dapp/dimg/cli/{list.rb → command/dimg/list.rb} +6 -3
- data/lib/dapp/dimg/cli/{mrproper.rb → command/dimg/mrproper.rb} +4 -4
- data/lib/dapp/dimg/cli/command/dimg/push.rb +39 -0
- data/lib/dapp/dimg/cli/{run.rb → command/dimg/run.rb} +30 -15
- data/lib/dapp/dimg/cli/{spush.rb → command/dimg/spush.rb} +4 -4
- data/lib/dapp/dimg/cli/{stage_image.rb → command/dimg/stage_image.rb} +12 -3
- data/lib/dapp/dimg/cli/command/dimg/stages/base.rb +13 -0
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_local.rb +13 -9
- data/lib/dapp/dimg/cli/{stages → command/dimg/stages}/cleanup_repo.rb +6 -8
- data/lib/dapp/dimg/cli/command/dimg/stages/flush_local.rb +21 -0
- data/lib/dapp/dimg/cli/command/dimg/stages/flush_repo.rb +28 -0
- data/lib/dapp/dimg/cli/command/dimg/stages/pull.rb +34 -0
- data/lib/dapp/dimg/cli/command/dimg/stages/push.rb +30 -0
- data/lib/dapp/dimg/cli/command/dimg/stages.rb +22 -0
- data/lib/dapp/dimg/cli/command/dimg/tag.rb +24 -0
- data/lib/dapp/dimg/cli/command/dimg.rb +31 -0
- data/lib/dapp/dimg/cli/options/introspection.rb +45 -0
- data/lib/dapp/dimg/config/config.rb +24 -0
- data/lib/dapp/dimg/config/directive/artifact.rb +13 -15
- data/lib/dapp/dimg/config/directive/artifact_base.rb +13 -8
- data/lib/dapp/dimg/config/directive/artifact_dimg.rb +12 -0
- data/lib/dapp/dimg/config/directive/artifact_group.rb +60 -0
- data/lib/dapp/dimg/config/directive/dimg/instance_methods.rb +203 -0
- data/lib/dapp/dimg/config/directive/dimg/validation.rb +217 -0
- data/lib/dapp/dimg/config/directive/dimg.rb +36 -0
- data/lib/dapp/dimg/config/directive/dimg_group.rb +73 -0
- data/lib/dapp/dimg/config/directive/dimg_group_base.rb +46 -0
- data/lib/dapp/dimg/config/directive/docker/artifact.rb +5 -0
- data/lib/dapp/dimg/config/directive/docker/base.rb +2 -3
- data/lib/dapp/dimg/config/directive/docker/dimg.rb +4 -4
- data/lib/dapp/dimg/config/directive/git_artifact_local.rb +24 -5
- data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +23 -12
- data/lib/dapp/dimg/config/directive/mount.rb +11 -3
- data/lib/dapp/dimg/config/directive/shell/dimg.rb +2 -2
- data/lib/dapp/dimg/dapp/command/bp.rb +3 -5
- data/lib/dapp/dimg/dapp/command/build.rb +4 -6
- data/lib/dapp/dimg/dapp/command/build_context/common.rb +2 -2
- data/lib/dapp/dimg/dapp/command/build_context/export.rb +14 -14
- data/lib/dapp/dimg/dapp/command/build_context/import.rb +28 -23
- data/lib/dapp/dimg/dapp/command/cleanup.rb +4 -11
- data/lib/dapp/dimg/dapp/command/cleanup_repo.rb +143 -0
- data/lib/dapp/dimg/dapp/command/common.rb +148 -38
- data/lib/dapp/dimg/dapp/command/flush_local.rb +25 -0
- data/lib/dapp/dimg/dapp/command/flush_repo.rb +25 -0
- data/lib/dapp/dimg/dapp/command/list.rb +1 -1
- data/lib/dapp/dimg/dapp/command/mrproper.rb +16 -63
- data/lib/dapp/dimg/dapp/command/push.rb +11 -16
- data/lib/dapp/dimg/dapp/command/ruby2go_cleanup.rb +48 -0
- data/lib/dapp/dimg/dapp/command/run.rb +4 -4
- data/lib/dapp/dimg/dapp/command/spush.rb +4 -5
- data/lib/dapp/dimg/dapp/command/stage_image.rb +2 -2
- data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +13 -115
- data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +23 -102
- data/lib/dapp/dimg/dapp/command/stages/common.rb +57 -39
- data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +13 -7
- data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +14 -8
- data/lib/dapp/dimg/dapp/command/stages/pull.rb +4 -13
- data/lib/dapp/dimg/dapp/command/stages/push.rb +4 -9
- data/lib/dapp/dimg/dapp/command/tag.rb +4 -6
- data/lib/dapp/dimg/dapp/config_artifact_group.rb +20 -0
- data/lib/dapp/dimg/dapp/dapp.rb +40 -0
- data/lib/dapp/dimg/dapp/dappfile.rb +43 -0
- data/lib/dapp/dimg/dapp/dimg.rb +41 -0
- data/lib/dapp/dimg/dimg/git_artifact.rb +25 -11
- data/lib/dapp/dimg/dimg/path.rb +7 -9
- data/lib/dapp/dimg/dimg/stages.rb +27 -15
- data/lib/dapp/dimg/dimg.rb +172 -69
- data/lib/dapp/dimg/docker_registry/base.rb +31 -74
- data/lib/dapp/dimg/docker_registry/dimg.rb +55 -0
- data/lib/dapp/dimg/docker_registry.rb +5 -23
- data/lib/dapp/dimg/error/build.rb +1 -1
- data/lib/dapp/dimg/error/chef.rb +1 -5
- data/lib/dapp/dimg/error/{command.rb → default.rb} +1 -1
- data/lib/dapp/dimg/error/dimg.rb +1 -1
- data/lib/dapp/dimg/error/lock.rb +1 -1
- data/lib/dapp/dimg/error/registry.rb +1 -1
- data/lib/dapp/dimg/error/rugged.rb +1 -1
- data/lib/dapp/dimg/error/tar_writer.rb +1 -1
- data/lib/dapp/dimg/git_artifact.rb +195 -179
- data/lib/dapp/dimg/git_repo/base.rb +49 -45
- data/lib/dapp/dimg/git_repo/local.rb +45 -0
- data/lib/dapp/dimg/git_repo/own.rb +3 -31
- data/lib/dapp/dimg/git_repo/remote.rb +65 -26
- data/lib/dapp/dimg/image/argument.rb +15 -50
- data/lib/dapp/dimg/image/dimg.rb +15 -0
- data/lib/dapp/dimg/image/scratch.rb +35 -9
- data/lib/dapp/dimg/image/stage.rb +223 -44
- data/lib/dapp/dimg/lock/file.rb +4 -4
- data/lib/dapp/downloader.rb +117 -0
- data/lib/dapp/error/base.rb +1 -5
- data/lib/dapp/error/command.rb +5 -0
- data/lib/dapp/error/config.rb +5 -0
- data/lib/dapp/error/dapp.rb +1 -1
- data/lib/dapp/error/dappfile.rb +1 -1
- data/lib/dapp/error/default.rb +11 -0
- data/lib/dapp/error/mod/user.rb +11 -0
- data/lib/dapp/error/shellout.rb +1 -1
- data/lib/dapp/exception/base.rb +1 -1
- data/lib/dapp/helper/case_conversion.rb +17 -0
- data/lib/dapp/helper/cli.rb +18 -7
- data/lib/dapp/helper/net_status.rb +5 -1
- data/lib/dapp/helper/sha256.rb +1 -1
- data/lib/dapp/helper/tar.rb +31 -0
- data/lib/dapp/helper/trivia.rb +40 -1
- data/lib/dapp/helper/url.rb +23 -0
- data/lib/dapp/helper/yaml.rb +24 -0
- data/lib/dapp/kube/cli/cli.rb +1 -0
- data/lib/dapp/kube/cli/command/base.rb +14 -0
- data/lib/dapp/kube/cli/command/kube/chart_create.rb +19 -0
- data/lib/dapp/kube/cli/command/kube/deploy.rb +80 -0
- data/lib/dapp/kube/cli/command/kube/dismiss.rb +31 -0
- data/lib/dapp/kube/cli/command/kube/lint.rb +53 -0
- data/lib/dapp/kube/cli/command/kube/minikube_setup.rb +19 -0
- data/lib/dapp/kube/cli/command/kube/render.rb +63 -0
- data/lib/dapp/kube/cli/command/kube/secret_edit.rb +30 -0
- data/lib/dapp/kube/cli/command/kube/secret_extract.rb +39 -0
- data/lib/dapp/kube/cli/command/kube/secret_generate.rb +34 -0
- data/lib/dapp/kube/cli/command/kube/secret_key_generate.rb +16 -0
- data/lib/dapp/kube/cli/command/kube/secret_regenerate.rb +29 -0
- data/lib/dapp/kube/cli/command/kube/value_get.rb +47 -0
- data/lib/dapp/kube/cli/command/kube.rb +28 -0
- data/lib/dapp/kube/dapp/command/chart_create.rb +103 -0
- data/lib/dapp/kube/dapp/command/common.rb +379 -0
- data/lib/dapp/kube/dapp/command/deploy.rb +351 -0
- data/lib/dapp/kube/dapp/command/dismiss.rb +50 -0
- data/lib/dapp/kube/dapp/command/lint.rb +69 -0
- data/lib/dapp/kube/dapp/command/minikube_setup.rb +402 -0
- data/lib/dapp/kube/dapp/command/render.rb +54 -0
- data/lib/dapp/kube/dapp/command/ruby2go.rb +17 -0
- data/lib/dapp/kube/dapp/command/secret_edit.rb +21 -0
- data/lib/dapp/kube/dapp/command/secret_extract.rb +17 -0
- data/lib/dapp/kube/dapp/command/secret_generate.rb +21 -0
- data/lib/dapp/kube/dapp/command/secret_key_generate.rb +13 -0
- data/lib/dapp/kube/dapp/command/secret_regenerate.rb +13 -0
- data/lib/dapp/kube/dapp/command/value_get.rb +32 -0
- data/lib/dapp/kube/dapp/dapp.rb +26 -0
- data/lib/dapp/kube/error/default.rb +7 -0
- data/lib/dapp/kube/helm/release.rb +189 -0
- data/lib/dapp/kube/helm/values.rb +148 -0
- data/lib/dapp/kube/helm.rb +5 -0
- data/lib/dapp/kube/kubernetes/client/error.rb +43 -0
- data/lib/dapp/kube/kubernetes/client/resource/base.rb +33 -0
- data/lib/dapp/kube/kubernetes/client/resource/deployment.rb +11 -0
- data/lib/dapp/kube/kubernetes/client/resource/event.rb +8 -0
- data/lib/dapp/kube/kubernetes/client/resource/job.rb +27 -0
- data/lib/dapp/kube/kubernetes/client/resource/pod.rb +62 -0
- data/lib/dapp/kube/kubernetes/client/resource/replicaset.rb +8 -0
- data/lib/dapp/kube/kubernetes/client.rb +314 -0
- data/lib/dapp/kube/kubernetes/config.rb +132 -0
- data/lib/dapp/kube/kubernetes/error.rb +15 -0
- data/lib/dapp/kube/kubernetes/manager/base.rb +15 -0
- data/lib/dapp/kube/kubernetes/manager/container.rb +103 -0
- data/lib/dapp/kube/kubernetes/manager/deployment.rb +212 -0
- data/lib/dapp/kube/kubernetes/manager/job.rb +65 -0
- data/lib/dapp/kube/kubernetes/manager/pod.rb +69 -0
- data/lib/dapp/kube/kubernetes.rb +6 -0
- data/lib/dapp/kube/secret.rb +93 -0
- data/lib/dapp/kube.rb +1 -0
- data/lib/dapp/version.rb +2 -2
- data/lib/dapp.rb +155 -61
- metadata +208 -61
- data/lib/dapp/cli/base.rb +0 -63
- data/lib/dapp/config/base.rb +0 -54
- data/lib/dapp/config/error/config.rb +0 -7
- data/lib/dapp/dimg/build/stage/ga_archive_dependencies.rb +0 -27
- data/lib/dapp/dimg/build/stage/ga_dependencies_base.rb +0 -20
- data/lib/dapp/dimg/build/stage/install/ga_post_install_patch_dependencies.rb +0 -22
- data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch_dependencies.rb +0 -22
- data/lib/dapp/dimg/build/stage/mod/git_artifact_dependencies.rb +0 -23
- data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch_dependencies.rb +0 -32
- data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch_dependencies.rb +0 -22
- data/lib/dapp/dimg/cli/base.rb +0 -16
- data/lib/dapp/dimg/cli/bp.rb +0 -37
- data/lib/dapp/dimg/cli/build.rb +0 -64
- data/lib/dapp/dimg/cli/dimg.rb +0 -30
- data/lib/dapp/dimg/cli/push.rb +0 -61
- data/lib/dapp/dimg/cli/stages/flush_local.rb +0 -23
- data/lib/dapp/dimg/cli/stages/flush_repo.rb +0 -24
- data/lib/dapp/dimg/cli/stages/pull.rb +0 -28
- data/lib/dapp/dimg/cli/stages/push.rb +0 -24
- data/lib/dapp/dimg/cli/stages.rb +0 -22
- data/lib/dapp/dimg/cli/tag.rb +0 -24
- data/lib/dapp/dimg/config/artifact_dimg.rb +0 -17
- data/lib/dapp/dimg/config/artifact_group.rb +0 -43
- data/lib/dapp/dimg/config/base.rb +0 -7
- data/lib/dapp/dimg/config/dimg/instance_methods.rb +0 -179
- data/lib/dapp/dimg/config/dimg/validation.rb +0 -126
- data/lib/dapp/dimg/config/dimg.rb +0 -24
- data/lib/dapp/dimg/config/dimg_group.rb +0 -61
- data/lib/dapp/dimg/config/dimg_group_base.rb +0 -54
- data/lib/dapp/dimg/config/dimg_group_main.rb +0 -22
- data/lib/dapp/dimg/dapp/command.rb +0 -21
- data/lib/dapp/dimg/dimg/tags.rb +0 -65
- data/lib/dapp/dimg/docker_registry/base/authorization.rb +0 -63
- data/lib/dapp/dimg/docker_registry/base/request.rb +0 -34
- data/lib/dapp/dimg/docker_registry/default.rb +0 -18
- data/lib/dapp/dimg/error/base.rb +0 -7
- data/lib/dapp/dimg/error/config.rb +0 -7
- data/lib/dapp/dimg/exception/introspect_image.rb +0 -7
- data/lib/dapp/dimg/image/docker.rb +0 -134
|
@@ -2,30 +2,11 @@ module Dapp
|
|
|
2
2
|
module Dimg
|
|
3
3
|
module Build
|
|
4
4
|
module Stage
|
|
5
|
-
class BuildArtifact <
|
|
6
|
-
include Mod::GitArtifactsDependencies
|
|
7
|
-
|
|
5
|
+
class BuildArtifact < Instructions
|
|
8
6
|
def initialize(dimg)
|
|
9
7
|
@prev_stage = GAArtifactPatch.new(dimg, self)
|
|
10
8
|
@dimg = dimg
|
|
11
9
|
end
|
|
12
|
-
|
|
13
|
-
def empty?
|
|
14
|
-
!dimg.builder.build_artifact?
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def context
|
|
18
|
-
[git_artifacts_dependencies, builder_checksum]
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def builder_checksum
|
|
22
|
-
dimg.builder.build_artifact_checksum
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def prepare_image
|
|
26
|
-
super
|
|
27
|
-
dimg.builder.build_artifact(image)
|
|
28
|
-
end
|
|
29
10
|
end # BuildArtifact
|
|
30
11
|
end # Stage
|
|
31
12
|
end # Build
|
|
@@ -9,13 +9,14 @@ module Dapp
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def dependencies
|
|
12
|
-
[change_options]
|
|
12
|
+
@dependencies ||= [change_options]
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def prepare_image
|
|
16
|
-
super
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
super do
|
|
17
|
+
change_options.each do |k, v|
|
|
18
|
+
image.public_send("add_change_#{k}", v)
|
|
19
|
+
end
|
|
19
20
|
end
|
|
20
21
|
end
|
|
21
22
|
end # DockerInstructions
|
|
@@ -4,30 +4,73 @@ module Dapp
|
|
|
4
4
|
module Stage
|
|
5
5
|
class From < Base
|
|
6
6
|
def dependencies
|
|
7
|
-
[from_image_name, dimg.config._docker._from_cache_version,
|
|
7
|
+
@dependencies ||= [from_image_name, dimg.config._docker._from_cache_version, config_mounts]
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def save_in_cache!
|
|
11
|
+
super
|
|
12
|
+
from_dimg.last_stage.save_in_cache! unless from_dimg.nil?
|
|
8
13
|
end
|
|
9
14
|
|
|
10
15
|
protected
|
|
11
16
|
|
|
12
17
|
def prepare_image
|
|
13
|
-
|
|
14
|
-
|
|
18
|
+
if !from_dimg.nil?
|
|
19
|
+
process = dimg.dapp.t(code: 'process.from_dimg_building', data: { name: from_dimg.name })
|
|
20
|
+
dimg.dapp.log_secondary_process(process) { from_dimg.build! }
|
|
21
|
+
elsif !from_image.tagged?
|
|
22
|
+
try_host_docker_login
|
|
23
|
+
from_image.pull!
|
|
24
|
+
raise Error::Build, code: :from_image_not_found, data: { name: from_image_name } unless from_image.tagged?
|
|
25
|
+
end
|
|
26
|
+
|
|
15
27
|
add_cleanup_mounts_dirs_command
|
|
16
28
|
super
|
|
17
29
|
end
|
|
18
30
|
|
|
31
|
+
def from_dimg
|
|
32
|
+
@from_dimg ||= begin
|
|
33
|
+
if !dimg.config._from_dimg.nil?
|
|
34
|
+
dimg.dapp.dimg_layer(config: dimg.config._from_dimg)
|
|
35
|
+
elsif !dimg.config._from_dimg_artifact.nil?
|
|
36
|
+
dimg.dapp.artifact_dimg_layer(config: dimg.config._from_dimg_artifact)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def try_host_docker_login
|
|
42
|
+
return unless registry_from_image_name?
|
|
43
|
+
dimg.dapp.host_docker_login(ENV['CI_REGISTRY'])
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def registry_from_image_name?
|
|
47
|
+
ENV['CI_REGISTRY'] && from_image_name.start_with?(ENV['CI_REGISTRY'])
|
|
48
|
+
end
|
|
49
|
+
|
|
19
50
|
def add_cleanup_mounts_dirs_command
|
|
20
51
|
return if config_mounts_dirs.empty?
|
|
21
52
|
image.add_service_command ["#{dimg.dapp.rm_bin} -rf %s",
|
|
22
|
-
"#{dimg.dapp.mkdir_bin} -p %s"
|
|
53
|
+
"#{dimg.dapp.mkdir_bin} -p %s",
|
|
54
|
+
"#{dimg.dapp.rm_bin} -rf %s"].map { |c| format(c, config_mounts_dirs.join(' ')) }
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def config_mounts
|
|
58
|
+
{}.tap do |mounts|
|
|
59
|
+
[:tmp_dir, :build_dir].map { |type| mounts[type] = config_mounts_by_type(type) }
|
|
60
|
+
config_custom_dir_mounts.each { |from, to| mounts[from] = to }
|
|
61
|
+
end
|
|
23
62
|
end
|
|
24
63
|
|
|
25
64
|
def config_mounts_dirs
|
|
26
|
-
|
|
65
|
+
config_mounts.values.flatten.uniq
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def image_add_mounts
|
|
69
|
+
image_add_mounts_labels
|
|
27
70
|
end
|
|
28
71
|
|
|
29
|
-
def
|
|
30
|
-
|
|
72
|
+
def image_should_be_untagged_condition
|
|
73
|
+
false
|
|
31
74
|
end
|
|
32
75
|
|
|
33
76
|
def should_not_be_detailed?
|
|
@@ -37,11 +80,21 @@ module Dapp
|
|
|
37
80
|
private
|
|
38
81
|
|
|
39
82
|
def from_image_name
|
|
40
|
-
|
|
83
|
+
if !from_dimg.nil?
|
|
84
|
+
from_dimg.signature
|
|
85
|
+
else
|
|
86
|
+
dimg.config._docker._from
|
|
87
|
+
end
|
|
41
88
|
end
|
|
42
89
|
|
|
43
90
|
def from_image
|
|
44
|
-
@from_image ||=
|
|
91
|
+
@from_image ||= begin
|
|
92
|
+
if !from_dimg.nil?
|
|
93
|
+
from_dimg.last_stage.image
|
|
94
|
+
else
|
|
95
|
+
Image::Stage.image_by_name(name: from_image_name, dapp: dimg.dapp)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
45
98
|
end
|
|
46
99
|
end # Prepare
|
|
47
100
|
end # Stage
|
|
@@ -4,12 +4,25 @@ module Dapp
|
|
|
4
4
|
module Stage
|
|
5
5
|
class GAArchive < GABase
|
|
6
6
|
def initialize(dimg, next_stage)
|
|
7
|
-
@prev_stage =
|
|
7
|
+
@prev_stage = BeforeInstallArtifact.new(dimg, self)
|
|
8
8
|
super
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
+
def dependencies
|
|
12
|
+
@dependencies ||= [dimg.git_artifacts.map(&:paramshash).join, reset_commits, dev_mode_dependencies]
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def dev_mode_dependencies
|
|
16
|
+
return unless dimg.dev_mode?
|
|
17
|
+
dimg.git_artifacts.map(&:latest_commit)
|
|
18
|
+
end
|
|
19
|
+
|
|
11
20
|
protected
|
|
12
21
|
|
|
22
|
+
def reset_commits
|
|
23
|
+
dimg.git_artifacts.map { |git_artifact| git_artifact.repo.find_commit_id_by_message('(\[dapp reset\])|(\[reset dapp\])') }.compact.sort.uniq
|
|
24
|
+
end
|
|
25
|
+
|
|
13
26
|
def apply_command_method
|
|
14
27
|
:apply_archive_command
|
|
15
28
|
end
|
|
@@ -8,12 +8,8 @@ module Dapp
|
|
|
8
8
|
super
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
def empty?
|
|
12
|
-
dimg.git_artifacts.empty? || dependencies_empty?
|
|
13
|
-
end
|
|
14
|
-
|
|
15
11
|
def dependencies
|
|
16
|
-
dimg.stage_by_name(:build_artifact).context
|
|
12
|
+
@dependencies ||= dimg.stage_by_name(:build_artifact).context
|
|
17
13
|
end
|
|
18
14
|
end # GAArtifactPatch
|
|
19
15
|
end # Stage
|
|
@@ -3,51 +3,27 @@ module Dapp
|
|
|
3
3
|
module Build
|
|
4
4
|
module Stage
|
|
5
5
|
class GABase < Base
|
|
6
|
-
def dependencies_stage
|
|
7
|
-
prev_stage
|
|
8
|
-
end
|
|
9
|
-
|
|
10
6
|
def prepare_image
|
|
11
7
|
super do
|
|
12
8
|
image.add_volumes_from dimg.dapp.gitartifact_container
|
|
13
9
|
image.add_volume "#{dimg.tmp_path('archives')}:#{dimg.container_tmp_path('archives')}:ro"
|
|
14
10
|
image.add_volume "#{dimg.tmp_path('patches')}:#{dimg.container_tmp_path('patches')}:ro"
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
dimg.git_artifacts.each do |git_artifact|
|
|
13
|
+
image.add_service_change_label(dimg.dapp.dimgstage_g_a_commit_label(git_artifact.paramshash).to_sym => layer_commit(git_artifact))
|
|
14
|
+
image.add_command git_artifact.send(apply_command_method, self)
|
|
15
|
+
end
|
|
18
16
|
end
|
|
19
17
|
end
|
|
20
18
|
|
|
21
|
-
def prepare_local_git_artifacts_command
|
|
22
|
-
prepare_base_git_artifacts_command(dimg.local_git_artifacts)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def prepare_remote_git_artifacts_command
|
|
26
|
-
prepare_base_git_artifacts_command(dimg.remote_git_artifacts)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def prepare_base_git_artifacts_command(git_artifacts)
|
|
30
|
-
git_artifacts.each { |git_artifact| image.add_command git_artifact.send(apply_command_method, self) }
|
|
31
|
-
end
|
|
32
|
-
|
|
33
19
|
def empty?
|
|
34
|
-
|
|
20
|
+
dimg.git_artifacts.empty? || super
|
|
35
21
|
end
|
|
36
22
|
|
|
37
23
|
def g_a_stage?
|
|
38
24
|
true
|
|
39
25
|
end
|
|
40
26
|
|
|
41
|
-
def layer_commit(git_artifact)
|
|
42
|
-
commits[git_artifact] ||= begin
|
|
43
|
-
if dependencies_stage && dependencies_stage.image.tagged?
|
|
44
|
-
dependencies_stage.image.labels[git_artifact.full_name]
|
|
45
|
-
else
|
|
46
|
-
git_artifact.latest_commit
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
27
|
protected
|
|
52
28
|
|
|
53
29
|
def should_not_be_detailed?
|
|
@@ -61,12 +37,6 @@ module Dapp
|
|
|
61
37
|
def apply_command_method
|
|
62
38
|
:apply_patch_command
|
|
63
39
|
end
|
|
64
|
-
|
|
65
|
-
private
|
|
66
|
-
|
|
67
|
-
def commits
|
|
68
|
-
@commits ||= {}
|
|
69
|
-
end
|
|
70
40
|
end # GABase
|
|
71
41
|
end # Stage
|
|
72
42
|
end # Build
|
|
@@ -8,54 +8,35 @@ module Dapp
|
|
|
8
8
|
super
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
def
|
|
12
|
-
|
|
11
|
+
def renew
|
|
12
|
+
dependencies_discard
|
|
13
|
+
super
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
def dependencies
|
|
16
|
-
[]
|
|
17
|
-
dependencies << commit_list
|
|
18
|
-
dependencies << dimg.local_git_artifacts.map { |git_artifact| git_artifact.dev_patch_hash(self) } if dimg.dapp.dev_mode?
|
|
19
|
-
end
|
|
17
|
+
@dependencies ||= [commit_list, git_artifacts_dev_patch_hashes]
|
|
20
18
|
end
|
|
21
19
|
|
|
22
|
-
def
|
|
23
|
-
|
|
24
|
-
dimg.local_git_artifacts.each { |git_artifact| image.add_command git_artifact.apply_dev_patch_command(self) }
|
|
20
|
+
def empty?
|
|
21
|
+
dimg.git_artifacts.empty? || dependencies_empty?
|
|
25
22
|
end
|
|
26
23
|
|
|
27
24
|
def layer_commit(git_artifact)
|
|
28
|
-
commits[git_artifact] ||=
|
|
29
|
-
git_artifact.latest_commit
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def empty?
|
|
34
|
-
dependencies_empty? || git_artifacts_without_changes?
|
|
25
|
+
commits[git_artifact] ||= git_artifact.latest_commit
|
|
35
26
|
end
|
|
36
27
|
|
|
37
28
|
private
|
|
38
29
|
|
|
39
|
-
def
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def local_git_artifacts_without_changes?
|
|
44
|
-
dimg.local_git_artifacts.all? do |git_artifact|
|
|
45
|
-
from_commit = prev_g_a_stage.layer_commit(git_artifact)
|
|
46
|
-
to_commit = dimg.dev_mode? ? nil : layer_commit(git_artifact)
|
|
47
|
-
!git_artifact.any_changes?(from_commit, to_commit)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def remote_git_artifacts_without_changes?
|
|
52
|
-
dimg.remote_git_artifacts.all? do |git_artifact|
|
|
53
|
-
!git_artifact.any_changes?(prev_g_a_stage.layer_commit(git_artifact), layer_commit(git_artifact))
|
|
54
|
-
end
|
|
30
|
+
def commit_list
|
|
31
|
+
dimg.git_artifacts
|
|
32
|
+
.select { |ga| ga.repo.commit_exists?(prev_stage.layer_commit(ga)) && !ga.is_patch_empty(self) }
|
|
33
|
+
.map(&method(:layer_commit))
|
|
55
34
|
end
|
|
56
35
|
|
|
57
|
-
def
|
|
58
|
-
|
|
36
|
+
def git_artifacts_dev_patch_hashes
|
|
37
|
+
# FIXME: dev-mode support in GitArtifact
|
|
38
|
+
# dimg.git_artifacts.map(&:dev_patch_hash)
|
|
39
|
+
nil
|
|
59
40
|
end
|
|
60
41
|
end # GALatestPatch
|
|
61
42
|
end # Stage
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Dapp
|
|
2
|
+
module Dimg
|
|
3
|
+
module Build
|
|
4
|
+
module Stage
|
|
5
|
+
class GARelatedBase < GABase
|
|
6
|
+
def dependencies
|
|
7
|
+
@dependencies ||= dimg.stage_by_name(related_stage_name).context
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def empty?
|
|
11
|
+
dimg.stage_by_name(related_stage_name).context.compact.empty? || super
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def related_stage_name
|
|
15
|
+
raise
|
|
16
|
+
end
|
|
17
|
+
end # GARelatedBase
|
|
18
|
+
end # Stage
|
|
19
|
+
end # Build
|
|
20
|
+
end # Dimg
|
|
21
|
+
end # Dapp
|
|
@@ -8,20 +8,21 @@ module Dapp
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def signature
|
|
11
|
-
|
|
11
|
+
hashsum [*dependencies.flatten, change_options]
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def image
|
|
15
15
|
@image ||= Image::Scratch.new(name: image_name, dapp: dimg.dapp)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
def
|
|
18
|
+
def image_add_mounts
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def prepare_image
|
|
22
|
-
super
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
super do
|
|
23
|
+
change_options.each do |k, v|
|
|
24
|
+
image.public_send("add_change_#{k}", v)
|
|
25
|
+
end
|
|
25
26
|
end
|
|
26
27
|
end
|
|
27
28
|
|
|
@@ -30,9 +31,9 @@ module Dapp
|
|
|
30
31
|
def apply_artifact(artifact, image)
|
|
31
32
|
return if dimg.dapp.dry_run?
|
|
32
33
|
|
|
33
|
-
artifact_name = artifact[:name]
|
|
34
34
|
artifact_dimg = artifact[:dimg]
|
|
35
35
|
cwd = artifact[:options][:cwd]
|
|
36
|
+
to = artifact[:options][:to]
|
|
36
37
|
include_paths = artifact[:options][:include_paths]
|
|
37
38
|
owner = artifact[:options][:owner]
|
|
38
39
|
group = artifact[:options][:group]
|
|
@@ -44,19 +45,29 @@ module Dapp
|
|
|
44
45
|
credentials += "--group=#{group} " if group
|
|
45
46
|
credentials += '--numeric-owner'
|
|
46
47
|
|
|
47
|
-
archive_path = dimg.tmp_path('artifact',
|
|
48
|
-
container_archive_path = File.join(artifact_dimg.container_tmp_path(
|
|
48
|
+
archive_path = dimg.tmp_path('artifact', artifact_dimg.name, 'archive.tar.gz')
|
|
49
|
+
container_archive_path = File.join(artifact_dimg.container_tmp_path(artifact_dimg.name), 'archive.tar.gz')
|
|
49
50
|
|
|
50
51
|
exclude_paths = artifact[:options][:exclude_paths].map { |path| "--exclude=#{path}" }.join(' ')
|
|
51
52
|
include_paths = include_paths.empty? ? [File.join(cwd, '*')] : include_paths.map { |path| File.join(cwd, path, '*') }
|
|
52
53
|
include_paths.map! { |path| path[1..-1] } # relative path
|
|
53
54
|
|
|
54
|
-
command = "#{sudo} #{dimg.dapp.tar_bin} -czf #{container_archive_path} #{exclude_paths} #{include_paths.join(' ')} #{credentials}"
|
|
55
|
-
run_artifact_dimg(artifact_dimg,
|
|
55
|
+
command = "#{sudo} #{dimg.dapp.tar_bin} #{tar_option_transform(cwd, to)} -czf #{container_archive_path} #{exclude_paths} #{include_paths.join(' ')} #{credentials}"
|
|
56
|
+
run_artifact_dimg(artifact_dimg, command)
|
|
56
57
|
|
|
57
58
|
image.add_archive archive_path
|
|
58
59
|
end
|
|
59
|
-
|
|
60
|
+
|
|
61
|
+
private
|
|
62
|
+
|
|
63
|
+
def tar_option_transform(cwd, to)
|
|
64
|
+
format = proc do |path|
|
|
65
|
+
res = path.chomp('/').reverse.chomp('/').reverse
|
|
66
|
+
res = res.gsub('/', '\/')
|
|
67
|
+
res
|
|
68
|
+
end
|
|
69
|
+
"--transform \"s/^#{format.call(cwd)}/#{format.call(to)}/\""
|
|
70
|
+
end
|
|
60
71
|
end # ImportArtifact
|
|
61
72
|
end # Stage
|
|
62
73
|
end # Build
|
|
@@ -3,13 +3,17 @@ module Dapp
|
|
|
3
3
|
module Build
|
|
4
4
|
module Stage
|
|
5
5
|
module Install
|
|
6
|
-
class GAPostInstallPatch <
|
|
6
|
+
class GAPostInstallPatch < GARelatedBase
|
|
7
7
|
include Mod::Group
|
|
8
8
|
|
|
9
9
|
def initialize(dimg, next_stage)
|
|
10
|
-
@prev_stage =
|
|
10
|
+
@prev_stage = Install.new(dimg, self)
|
|
11
11
|
super
|
|
12
12
|
end
|
|
13
|
+
|
|
14
|
+
def related_stage_name
|
|
15
|
+
:before_setup
|
|
16
|
+
end
|
|
13
17
|
end # GAPostInstallPatch
|
|
14
18
|
end
|
|
15
19
|
end # Stage
|
|
@@ -3,13 +3,17 @@ module Dapp
|
|
|
3
3
|
module Build
|
|
4
4
|
module Stage
|
|
5
5
|
module Install
|
|
6
|
-
class GAPreInstallPatch <
|
|
6
|
+
class GAPreInstallPatch < GARelatedBase
|
|
7
7
|
include Mod::Group
|
|
8
8
|
|
|
9
9
|
def initialize(dimg, next_stage)
|
|
10
|
-
@prev_stage =
|
|
10
|
+
@prev_stage = GAArchive.new(dimg, self)
|
|
11
11
|
super
|
|
12
12
|
end
|
|
13
|
+
|
|
14
|
+
def related_stage_name
|
|
15
|
+
:install
|
|
16
|
+
end
|
|
13
17
|
end # GAPostInstallPatch
|
|
14
18
|
end
|
|
15
19
|
end # Stage
|
|
@@ -3,31 +3,13 @@ module Dapp
|
|
|
3
3
|
module Build
|
|
4
4
|
module Stage
|
|
5
5
|
module Install
|
|
6
|
-
class Install <
|
|
6
|
+
class Install < Instructions
|
|
7
7
|
include Mod::Group
|
|
8
|
-
include Mod::GitArtifactsDependencies
|
|
9
8
|
|
|
10
9
|
def initialize(dimg, next_stage)
|
|
11
10
|
@prev_stage = GAPreInstallPatch.new(dimg, self)
|
|
12
11
|
super
|
|
13
12
|
end
|
|
14
|
-
|
|
15
|
-
def empty?
|
|
16
|
-
!dimg.builder.install?
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def context
|
|
20
|
-
[git_artifacts_dependencies, builder_checksum]
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def builder_checksum
|
|
24
|
-
dimg.builder.install_checksum
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def prepare_image
|
|
28
|
-
super
|
|
29
|
-
dimg.builder.install(image)
|
|
30
|
-
end
|
|
31
13
|
end # Install
|
|
32
14
|
end # Install
|
|
33
15
|
end # Stage
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Dapp
|
|
2
|
+
module Dimg
|
|
3
|
+
module Build
|
|
4
|
+
module Stage
|
|
5
|
+
class Instructions < Base
|
|
6
|
+
def empty?
|
|
7
|
+
!dimg.builder.public_send(:"#{name}?")
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def context
|
|
11
|
+
[git_artifacts_dependencies, builder_checksum]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def builder_checksum
|
|
15
|
+
dimg.builder.public_send(:"#{name}_checksum")
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def prepare_image
|
|
19
|
+
super do
|
|
20
|
+
dimg.builder.public_send(name, image)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end # Instructions
|
|
24
|
+
end # Stage
|
|
25
|
+
end # Build
|
|
26
|
+
end # Dimg
|
|
27
|
+
end # Dapp
|
|
@@ -5,7 +5,6 @@ module Dapp
|
|
|
5
5
|
module Mod
|
|
6
6
|
module Group
|
|
7
7
|
def log_image_build
|
|
8
|
-
return super if should_be_quiet?
|
|
9
8
|
log_group_name if group_should_be_opened?
|
|
10
9
|
dimg.dapp.with_log_indent { super }
|
|
11
10
|
end
|
|
@@ -19,18 +18,31 @@ module Dapp
|
|
|
19
18
|
end
|
|
20
19
|
|
|
21
20
|
def group_should_be_opened?
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
@group_should_be_opened ||= begin
|
|
22
|
+
if empty?
|
|
23
|
+
false
|
|
24
|
+
elsif prev_group_stage.nil?
|
|
25
|
+
true
|
|
26
|
+
else
|
|
27
|
+
prev_group_stages.all? { |s| !s.group_should_be_opened? }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
28
30
|
end
|
|
29
31
|
|
|
30
32
|
def prev_group_stage
|
|
31
33
|
prev_stage if prev_stage.respond_to?(:group_name) && prev_stage.group_name == group_name
|
|
32
34
|
end
|
|
33
35
|
|
|
36
|
+
def prev_group_stages
|
|
37
|
+
@prev_group_stages ||= begin
|
|
38
|
+
if prev_group_stage.nil?
|
|
39
|
+
[]
|
|
40
|
+
else
|
|
41
|
+
prev_group_stage.prev_group_stages + [prev_group_stage]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
34
46
|
def log_name_context
|
|
35
47
|
[super, group_name].join('.')
|
|
36
48
|
end
|
|
@@ -4,19 +4,19 @@ module Dapp
|
|
|
4
4
|
module Stage
|
|
5
5
|
module Mod
|
|
6
6
|
module Logging
|
|
7
|
-
def log_image_build
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
def log_image_build
|
|
8
|
+
case
|
|
9
|
+
when dimg.dapp.dry_run? && image_should_be_untagged? then log_state(:rebuild, styles: { status: :success })
|
|
10
|
+
when image.built? then log_state(:using_cache)
|
|
11
|
+
when should_be_not_present? then log_state(:not_present)
|
|
12
|
+
when dimg.dapp.dry_run? then log_state(:build, styles: { status: :success })
|
|
13
|
+
else yield
|
|
13
14
|
end
|
|
14
15
|
ensure
|
|
15
16
|
log_build
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
def log_build
|
|
19
|
-
return unless dimg.dapp.log_verbose? && !should_be_quiet?
|
|
20
20
|
dimg.dapp.with_log_indent do
|
|
21
21
|
dimg.dapp.log_info dimg.dapp.t(code: 'image.signature', data: { signature: image_name })
|
|
22
22
|
log_image_details unless empty?
|
|
@@ -69,17 +69,9 @@ module Dapp
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
def log_state(state_code, styles: {})
|
|
72
|
-
return if should_be_quiet?
|
|
73
72
|
dimg.dapp.log_state(log_name, state: dimg.dapp.t(code: state_code, context: 'state'), styles: styles)
|
|
74
73
|
end
|
|
75
74
|
|
|
76
|
-
def log_image_build_process
|
|
77
|
-
dimg.dapp.log_process(log_name,
|
|
78
|
-
process: dimg.dapp.t(code: 'status.process.building'),
|
|
79
|
-
short: should_not_be_detailed?,
|
|
80
|
-
quiet: should_be_quiet?) { yield }
|
|
81
|
-
end
|
|
82
|
-
|
|
83
75
|
def ignore_log_commands?
|
|
84
76
|
false
|
|
85
77
|
end
|
|
@@ -88,12 +80,16 @@ module Dapp
|
|
|
88
80
|
image.send(:bash_commands).empty?
|
|
89
81
|
end
|
|
90
82
|
|
|
91
|
-
def
|
|
92
|
-
|
|
83
|
+
def image_should_be_introspected?
|
|
84
|
+
image_should_be_introspected_after_build? || image_should_be_introspected_before_build?
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def image_should_be_introspected_before_build?
|
|
88
|
+
dimg.stage_should_be_introspected_before_build?(name) && !dimg.dapp.dry_run?
|
|
93
89
|
end
|
|
94
90
|
|
|
95
|
-
def
|
|
96
|
-
dimg.
|
|
91
|
+
def image_should_be_introspected_after_build?
|
|
92
|
+
dimg.stage_should_be_introspected_after_build?(name) && !dimg.dapp.dry_run?
|
|
97
93
|
end
|
|
98
94
|
end
|
|
99
95
|
end # Mod
|