mirror of
https://github.com/mudler/luet.git
synced 2025-09-02 15:54:39 +00:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
6a86bf3f04 | ||
|
265e2371b4 | ||
|
78442c91fc | ||
|
d97e606a31 | ||
|
95da20e366 | ||
|
797a34ba49 |
@@ -40,7 +40,7 @@ var Verbose bool
|
|||||||
var LockedCommands = []string{"install", "uninstall", "upgrade"}
|
var LockedCommands = []string{"install", "uninstall", "upgrade"}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LuetCLIVersion = "0.9.15"
|
LuetCLIVersion = "0.9.16"
|
||||||
LuetEnvPrefix = "LUET"
|
LuetEnvPrefix = "LUET"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -16,9 +16,9 @@ var (
|
|||||||
|
|
||||||
// EventPackagePreBuild is the event fired before a package is being built
|
// EventPackagePreBuild is the event fired before a package is being built
|
||||||
EventPackagePreBuild pluggable.EventType = "package.pre.build"
|
EventPackagePreBuild pluggable.EventType = "package.pre.build"
|
||||||
// EventPackagePreBuildArtifact is the event fired before a package artifact is being built
|
// EventPackagePreBuildArtifact is the event fired before a package tarball is being generated
|
||||||
EventPackagePreBuildArtifact pluggable.EventType = "package.pre.build_artifact"
|
EventPackagePreBuildArtifact pluggable.EventType = "package.pre.build_artifact"
|
||||||
// EventPackagePostBuildArtifact is the event fired after a package artifact was built
|
// EventPackagePostBuildArtifact is the event fired after a package tarball is generated
|
||||||
EventPackagePostBuildArtifact pluggable.EventType = "package.post.build_artifact"
|
EventPackagePostBuildArtifact pluggable.EventType = "package.post.build_artifact"
|
||||||
// EventPackagePostBuild is the event fired after a package was built
|
// EventPackagePostBuild is the event fired after a package was built
|
||||||
EventPackagePostBuild pluggable.EventType = "package.post.build"
|
EventPackagePostBuild pluggable.EventType = "package.post.build"
|
||||||
|
@@ -96,6 +96,7 @@ ENV PACKAGE_CATEGORY=app-admin`))
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
Expect(dockerfile).To(Equal(`
|
Expect(dockerfile).To(Equal(`
|
||||||
FROM luet/base
|
FROM luet/base
|
||||||
|
COPY . /luetbuild
|
||||||
WORKDIR /luetbuild
|
WORKDIR /luetbuild
|
||||||
ENV PACKAGE_NAME=enman
|
ENV PACKAGE_NAME=enman
|
||||||
ENV PACKAGE_VERSION=1.4.0
|
ENV PACKAGE_VERSION=1.4.0
|
||||||
@@ -113,7 +114,10 @@ RUN echo bar > /test2`))
|
|||||||
diffs, err := b.Changes(opts, opts2)
|
diffs, err := b.Changes(opts, opts2)
|
||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
|
||||||
artifacts := []ArtifactNode{}
|
artifacts := []ArtifactNode{{
|
||||||
|
Name: "/luetbuild/LuetDockerfile",
|
||||||
|
Size: 175,
|
||||||
|
}}
|
||||||
if os.Getenv("DOCKER_BUILDKIT") == "1" {
|
if os.Getenv("DOCKER_BUILDKIT") == "1" {
|
||||||
artifacts = append(artifacts, ArtifactNode{Name: "/etc/resolv.conf", Size: 0})
|
artifacts = append(artifacts, ArtifactNode{Name: "/etc/resolv.conf", Size: 0})
|
||||||
}
|
}
|
||||||
|
@@ -87,6 +87,7 @@ ENV PACKAGE_CATEGORY=app-admin`))
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
Expect(dockerfile).To(Equal(`
|
Expect(dockerfile).To(Equal(`
|
||||||
FROM luet/base
|
FROM luet/base
|
||||||
|
COPY . /luetbuild
|
||||||
WORKDIR /luetbuild
|
WORKDIR /luetbuild
|
||||||
ENV PACKAGE_NAME=enman
|
ENV PACKAGE_NAME=enman
|
||||||
ENV PACKAGE_VERSION=1.4.0
|
ENV PACKAGE_VERSION=1.4.0
|
||||||
@@ -102,7 +103,10 @@ RUN echo bar > /test2`))
|
|||||||
Expect(b.ImageDefinitionToTar(opts2)).ToNot(HaveOccurred())
|
Expect(b.ImageDefinitionToTar(opts2)).ToNot(HaveOccurred())
|
||||||
Expect(helpers.Exists(filepath.Join(tmpdir, "output2.tar"))).To(BeTrue())
|
Expect(helpers.Exists(filepath.Join(tmpdir, "output2.tar"))).To(BeTrue())
|
||||||
|
|
||||||
artifacts := []ArtifactNode{}
|
artifacts := []ArtifactNode{{
|
||||||
|
Name: "/luetbuild/LuetDockerfile",
|
||||||
|
Size: 175,
|
||||||
|
}}
|
||||||
if os.Getenv("DOCKER_BUILDKIT") == "1" {
|
if os.Getenv("DOCKER_BUILDKIT") == "1" {
|
||||||
artifacts = append(artifacts, ArtifactNode{Name: "/etc/resolv.conf", Size: 0})
|
artifacts = append(artifacts, ArtifactNode{Name: "/etc/resolv.conf", Size: 0})
|
||||||
}
|
}
|
||||||
|
@@ -50,8 +50,8 @@ var _ = Describe("Compiler", func() {
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer os.RemoveAll(tmpdir) // clean up
|
defer os.RemoveAll(tmpdir) // clean up
|
||||||
|
|
||||||
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "./generate.sh"}))
|
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "chmod +x generate.sh", "./generate.sh"}))
|
||||||
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2", "chmod +x generate.sh"}))
|
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2"}))
|
||||||
|
|
||||||
spec.SetOutputPath(tmpdir)
|
spec.SetOutputPath(tmpdir)
|
||||||
compiler.SetConcurrency(2)
|
compiler.SetConcurrency(2)
|
||||||
|
@@ -203,10 +203,9 @@ func (cs *LuetCompilationSpec) CopyRetrieves(dest string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: docker build image first. Then a backend can be used to actually spin up a container with it and run the steps within
|
func (cs *LuetCompilationSpec) genDockerfile(image string, steps []string) string {
|
||||||
func (cs *LuetCompilationSpec) RenderBuildImage() (string, error) {
|
|
||||||
spec := `
|
spec := `
|
||||||
FROM ` + cs.GetSeedImage() + `
|
FROM ` + image + `
|
||||||
COPY . /luetbuild
|
COPY . /luetbuild
|
||||||
WORKDIR /luetbuild
|
WORKDIR /luetbuild
|
||||||
ENV PACKAGE_NAME=` + cs.Package.GetName() + `
|
ENV PACKAGE_NAME=` + cs.Package.GetName() + `
|
||||||
@@ -231,45 +230,22 @@ ADD ` + s + ` /luetbuild/`
|
|||||||
ENV ` + s
|
ENV ` + s
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, s := range cs.GetPreBuildSteps() {
|
for _, s := range steps {
|
||||||
spec = spec + `
|
spec = spec + `
|
||||||
RUN ` + s
|
RUN ` + s
|
||||||
}
|
}
|
||||||
return spec, nil
|
return spec
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: docker build image first. Then a backend can be used to actually spin up a container with it and run the steps within
|
// RenderBuildImage renders the dockerfile of the image used as a pre-build step
|
||||||
|
func (cs *LuetCompilationSpec) RenderBuildImage() (string, error) {
|
||||||
|
return cs.genDockerfile(cs.GetSeedImage(), cs.GetPreBuildSteps()), nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// RenderStepImage renders the dockerfile used for the image used for building the package
|
||||||
func (cs *LuetCompilationSpec) RenderStepImage(image string) (string, error) {
|
func (cs *LuetCompilationSpec) RenderStepImage(image string) (string, error) {
|
||||||
spec := `
|
return cs.genDockerfile(image, cs.BuildSteps()), nil
|
||||||
FROM ` + image + `
|
|
||||||
WORKDIR /luetbuild
|
|
||||||
ENV PACKAGE_NAME=` + cs.Package.GetName() + `
|
|
||||||
ENV PACKAGE_VERSION=` + cs.Package.GetVersion() + `
|
|
||||||
ENV PACKAGE_CATEGORY=` + cs.Package.GetCategory()
|
|
||||||
|
|
||||||
if len(cs.Retrieve) > 0 {
|
|
||||||
for _, s := range cs.Retrieve {
|
|
||||||
//var file string
|
|
||||||
// if helpers.IsValidUrl(s) {
|
|
||||||
// file = s
|
|
||||||
// } else {
|
|
||||||
// file = cs.Rel(s)
|
|
||||||
// }
|
|
||||||
spec = spec + `
|
|
||||||
ADD ` + s + ` /luetbuild/`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, s := range cs.Env {
|
|
||||||
spec = spec + `
|
|
||||||
ENV ` + s
|
|
||||||
}
|
|
||||||
for _, s := range cs.BuildSteps() {
|
|
||||||
spec = spec + `
|
|
||||||
RUN ` + s
|
|
||||||
}
|
|
||||||
|
|
||||||
return spec, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cs *LuetCompilationSpec) WriteBuildImageDefinition(path string) error {
|
func (cs *LuetCompilationSpec) WriteBuildImageDefinition(path string) error {
|
||||||
|
@@ -96,6 +96,7 @@ ENV test=1`))
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
Expect(dockerfile).To(Equal(`
|
Expect(dockerfile).To(Equal(`
|
||||||
FROM luet/base
|
FROM luet/base
|
||||||
|
COPY . /luetbuild
|
||||||
WORKDIR /luetbuild
|
WORKDIR /luetbuild
|
||||||
ENV PACKAGE_NAME=enman
|
ENV PACKAGE_NAME=enman
|
||||||
ENV PACKAGE_VERSION=1.4.0
|
ENV PACKAGE_VERSION=1.4.0
|
||||||
@@ -169,6 +170,7 @@ ENV test=1`))
|
|||||||
|
|
||||||
Expect(dockerfile).To(Equal(`
|
Expect(dockerfile).To(Equal(`
|
||||||
FROM luet/base
|
FROM luet/base
|
||||||
|
COPY . /luetbuild
|
||||||
WORKDIR /luetbuild
|
WORKDIR /luetbuild
|
||||||
ENV PACKAGE_NAME=a
|
ENV PACKAGE_NAME=a
|
||||||
ENV PACKAGE_VERSION=1.0
|
ENV PACKAGE_VERSION=1.0
|
||||||
|
@@ -60,8 +60,8 @@ var _ = Describe("Installer", func() {
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer os.RemoveAll(tmpdir) // clean up
|
defer os.RemoveAll(tmpdir) // clean up
|
||||||
|
|
||||||
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "./generate.sh"}))
|
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "chmod +x generate.sh", "./generate.sh"}))
|
||||||
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2", "chmod +x generate.sh"}))
|
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2"}))
|
||||||
|
|
||||||
spec.SetOutputPath(tmpdir)
|
spec.SetOutputPath(tmpdir)
|
||||||
c.SetConcurrency(2)
|
c.SetConcurrency(2)
|
||||||
@@ -176,8 +176,8 @@ urls:
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer os.RemoveAll(tmpdir) // clean up
|
defer os.RemoveAll(tmpdir) // clean up
|
||||||
|
|
||||||
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "./generate.sh"}))
|
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "chmod +x generate.sh", "./generate.sh"}))
|
||||||
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2", "chmod +x generate.sh"}))
|
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2"}))
|
||||||
|
|
||||||
spec.SetOutputPath(tmpdir)
|
spec.SetOutputPath(tmpdir)
|
||||||
c.SetConcurrency(2)
|
c.SetConcurrency(2)
|
||||||
@@ -294,8 +294,8 @@ urls:
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer os.RemoveAll(tmpdir) // clean up
|
defer os.RemoveAll(tmpdir) // clean up
|
||||||
|
|
||||||
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "./generate.sh"}))
|
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "chmod +x generate.sh", "./generate.sh"}))
|
||||||
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2", "chmod +x generate.sh"}))
|
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2"}))
|
||||||
|
|
||||||
spec.SetOutputPath(tmpdir)
|
spec.SetOutputPath(tmpdir)
|
||||||
c.SetConcurrency(2)
|
c.SetConcurrency(2)
|
||||||
@@ -412,8 +412,8 @@ urls:
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer os.RemoveAll(tmpdir) // clean up
|
defer os.RemoveAll(tmpdir) // clean up
|
||||||
|
|
||||||
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "./generate.sh"}))
|
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "chmod +x generate.sh", "./generate.sh"}))
|
||||||
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2", "chmod +x generate.sh"}))
|
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2"}))
|
||||||
|
|
||||||
spec.SetOutputPath(tmpdir)
|
spec.SetOutputPath(tmpdir)
|
||||||
c.SetConcurrency(2)
|
c.SetConcurrency(2)
|
||||||
|
@@ -60,8 +60,8 @@ var _ = Describe("Repository", func() {
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer os.RemoveAll(tmpdir) // clean up
|
defer os.RemoveAll(tmpdir) // clean up
|
||||||
|
|
||||||
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "./generate.sh"}))
|
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "chmod +x generate.sh", "./generate.sh"}))
|
||||||
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2", "chmod +x generate.sh"}))
|
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2"}))
|
||||||
|
|
||||||
spec.SetOutputPath(tmpdir)
|
spec.SetOutputPath(tmpdir)
|
||||||
compiler.SetConcurrency(1)
|
compiler.SetConcurrency(1)
|
||||||
@@ -133,8 +133,8 @@ var _ = Describe("Repository", func() {
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer os.RemoveAll(tmpdir) // clean up
|
defer os.RemoveAll(tmpdir) // clean up
|
||||||
|
|
||||||
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "./generate.sh"}))
|
Expect(spec.BuildSteps()).To(Equal([]string{"echo artifact5 > /test5", "echo artifact6 > /test6", "chmod +x generate.sh", "./generate.sh"}))
|
||||||
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2", "chmod +x generate.sh"}))
|
Expect(spec.GetPreBuildSteps()).To(Equal([]string{"echo foo > /test", "echo bar > /test2"}))
|
||||||
|
|
||||||
spec.SetOutputPath(tmpdir)
|
spec.SetOutputPath(tmpdir)
|
||||||
spec2.SetOutputPath(tmpdir)
|
spec2.SetOutputPath(tmpdir)
|
||||||
|
2
tests/fixtures/buildable/cat/b/build.yaml
vendored
2
tests/fixtures/buildable/cat/b/build.yaml
vendored
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /test5
|
- echo artifact5 > /test5
|
||||||
- echo artifact6 > /test6
|
- echo artifact6 > /test6
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /test5
|
- echo artifact5 > /test5
|
||||||
- echo artifact6 > /test6
|
- echo artifact6 > /test6
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
2
tests/fixtures/expansion/cat/b/build.yaml
vendored
2
tests/fixtures/expansion/cat/b/build.yaml
vendored
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /test5
|
- echo artifact5 > /test5
|
||||||
- echo artifact6 > /test6
|
- echo artifact6 > /test6
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
@@ -1,10 +1,10 @@
|
|||||||
image: "alpine"
|
image: "alpine"
|
||||||
prelude:
|
prelude:
|
||||||
- mkdir /foo
|
- mkdir /foo
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /foo/test5
|
- echo artifact5 > /foo/test5
|
||||||
- echo artifact6 > /foo/test6
|
- echo artifact6 > /foo/test6
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
||||||
package_dir: /foo
|
package_dir: /foo
|
||||||
includes:
|
includes:
|
||||||
|
2
tests/fixtures/upgrade/cat/b-1.1/build.yaml
vendored
2
tests/fixtures/upgrade/cat/b-1.1/build.yaml
vendored
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /newc
|
- echo artifact5 > /newc
|
||||||
- echo artifact6 > /newnewc
|
- echo artifact6 > /newnewc
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
||||||
|
2
tests/fixtures/upgrade/cat/b/build.yaml
vendored
2
tests/fixtures/upgrade/cat/b/build.yaml
vendored
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /test5
|
- echo artifact5 > /test5
|
||||||
- echo artifact6 > /test6
|
- echo artifact6 > /test6
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /newc
|
- echo artifact5 > /newc
|
||||||
- echo artifact6 > /newnewc
|
- echo artifact6 > /newnewc
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
||||||
|
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /test5
|
- echo artifact5 > /test5
|
||||||
- echo artifact6 > /test6
|
- echo artifact6 > /test6
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /newc
|
- echo artifact5 > /newc
|
||||||
- echo artifact6 > /newnewc
|
- echo artifact6 > /newnewc
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
||||||
|
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /test5
|
- echo artifact5 > /test5
|
||||||
- echo artifact6 > /test6
|
- echo artifact6 > /test6
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
@@ -2,8 +2,8 @@ image: "alpine"
|
|||||||
prelude:
|
prelude:
|
||||||
- echo foo > /test
|
- echo foo > /test
|
||||||
- echo bar > /test2
|
- echo bar > /test2
|
||||||
- chmod +x generate.sh
|
|
||||||
steps:
|
steps:
|
||||||
- echo artifact5 > /newc
|
- echo artifact5 > /newc
|
||||||
- echo artifact6 > /newnewc
|
- echo artifact6 > /newnewc
|
||||||
|
- chmod +x generate.sh
|
||||||
- ./generate.sh
|
- ./generate.sh
|
||||||
|
Reference in New Issue
Block a user