@@ -21,34 +21,41 @@ import (
2121)
2222
2323const (
24- ProdImage = "registry.access.redhat.com/ubi8/openjdk-%s :latest"
24+ ProdImage = "tomcat :latest"
2525 CacheLocation = "/root/.m2/"
2626)
2727
2828//go:embed Dockerfile.*
2929var f embed.FS
3030
3131type MavenContainer struct {
32- App string
33- File string
34- Folder string
35- Image string
36- ImageTag string
37- Platform types.Platform
32+ App string
33+ File u.SrcFile
34+ Folder string
35+ Image string
36+ ImageTag string
37+ Platform types.Platform
38+ ProdImage string
3839
3940 Version string
4041 * container.Container
4142}
4243
4344func New (build * container.Build , version string ) * MavenContainer {
45+ prodImage := build .Custom .String ("image" )
46+ if prodImage == "" {
47+ prodImage = ProdImage
48+ }
4449 return & MavenContainer {
4550 App : build .App ,
4651 Container : container .New (* build ),
4752 Image : build .Image ,
4853 Folder : build .Folder ,
54+ File : u .SrcFile (build .File ),
4955 ImageTag : build .ImageTag ,
5056 Platform : build .Platform ,
5157 Version : version ,
58+ ProdImage : prodImage ,
5259 }
5360}
5461
@@ -80,11 +87,14 @@ func CacheFolder() string {
8087}
8188
8289func (c * MavenContainer ) Pull () error {
83- return c .Container .Pull (fmt .Sprintf (ProdImage , c .Version ))
90+
91+ // return c.Container.Pull(fmt.Sprintf(ProdImage, c.Version))
92+ return c .Container .Pull (c .ProdImage )
8493}
8594
8695func (c * MavenContainer ) Images () []string {
87- return []string {c .MavenImage (), fmt .Sprintf (ProdImage , c .Version )}
96+ // return []string{c.MavenImage(), fmt.Sprintf(ProdImage, c.Version)}
97+ return []string {c .MavenImage (), c .ProdImage }
8898}
8999
90100// TODO: provide a shorter checksum
@@ -254,15 +264,19 @@ func NewProd(arg *container.Build, version string) build.Build {
254264
255265func (c * MavenContainer ) Prod () error {
256266 opts := types.ContainerConfig {}
257- opts .Image = fmt .Sprintf (ProdImage , c .Version )
258- opts .Env = []string {
259- "JAVA_OPTS=-javaagent:/deployments/dd-java-agent.jar -Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" ,
260- "JAVA_APP_JAR=/deployments/quarkus-run.jar" ,
261- }
267+ opts .Image = c .ProdImage
268+ // opts.Image = fmt.Sprintf(ProdImage, c.Version)
269+ // opts.Env = []string{
270+ // "JAVA_OPTS=-javaagent:/deployments/dd-java-agent.jar -Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager",
271+ // "JAVA_APP_JAR=/deployments/quarkus-run.jar",
272+ // }
273+ // opts.Env = []string{
274+ // "JAVA_OPTS=-javaagent:/deployments/dd-java-agent.jar -Djava.util.logging.manager=org.jboss.logmanager.LogManager",
275+ // }
262276 opts .Platform = types .AutoPlatform
263277 opts .Cmd = []string {"sleep" , "300" }
264- opts .User = "185"
265- opts .WorkingDir = "/src"
278+ // opts.User = "185"
279+ // opts.WorkingDir = "/src"
266280
267281 err := c .Create (opts )
268282 if err != nil {
@@ -276,19 +290,19 @@ func (c *MavenContainer) Prod() error {
276290 os .Exit (1 )
277291 }
278292
279- err = c .Exec ("curl" , "-Lo" , "/deployments/dd-java-agent.jar" , "https://dtdg.co/latest-java-tracer" )
280- if err != nil {
281- slog .Error ("Failed to execute command: %s" , "error" , err )
282- os .Exit (1 )
283- }
293+ // err = c.Exec("curl", "-Lo", "/deployments/dd-java-agent.jar", "https://dtdg.co/latest-java-tracer")
294+ // if err != nil {
295+ // slog.Error("Failed to execute command: %s", "error", err)
296+ // os.Exit(1)
297+ // }
284298
285- err = c .CopyDirectoryTo (c .Folder , "/deployments " )
299+ err = c .CopyFileTo (c .File . Host () , "/usr/local/tomcat/webapps/jpetstore.war " )
286300 if err != nil {
287- slog .Error ("Failed to copy directory to container: %s " , "error" , err )
301+ slog .Error ("Failed to copy file to container" , "error" , err , "file" , c . File )
288302 os .Exit (1 )
289303 }
290304
291- imageId , err := c .Commit (fmt .Sprintf ("%s:%s" , c .Image , c .ImageTag ), "Created from container" , "CMD [\" /usr/local/s2i/run \" ]" , "USER 185 " )
305+ imageId , err := c .Commit (fmt .Sprintf ("%s:%s" , c .Image , c .ImageTag ), "Created from container" , "CMD [\" catalina.sh \" , \" run \" ] " )
292306 if err != nil {
293307 slog .Error ("Failed to commit container: %s" , "error" , err )
294308 os .Exit (1 )
0 commit comments