@@ -880,41 +880,37 @@ func (Cloud) Image(ctx context.Context) {
880880// Push builds a cloud image tags it correctly and pushes to remote image repo.
881881// Previous login to elastic registry is required!
882882func (Cloud ) Push () error {
883- snapshot := os . Getenv ( snapshotEnv )
884- defer os . Setenv ( snapshotEnv , snapshot )
885-
886- os . Setenv ( snapshotEnv , "true" )
883+ agentVersion , err := mage . AgentPackageVersion ( )
884+ if err != nil {
885+ return fmt . Errorf ( "failed to get agent package version: %w" , err )
886+ }
887887
888- version := getVersion ()
889- var tag string
888+ var targetTag string
890889 if envTag , isPresent := os .LookupEnv ("CUSTOM_IMAGE_TAG" ); isPresent && len (envTag ) > 0 {
891- tag = envTag
890+ targetTag = envTag
892891 } else {
893- commit := dockerCommitHash ()
894- time := time .Now ().Unix ()
895-
896- tag = fmt .Sprintf ("%s-%s-%d" , version , commit , time )
892+ targetTag = fmt .Sprintf ("%s-%s-%d" , agentVersion , dockerCommitHash (), time .Now ().Unix ())
897893 }
898894
899- sourceCloudImageName := fmt .Sprintf ("docker.elastic.co/beats-ci/elastic-agent-cloud:%s" , version )
895+ sourceCloudImageName := fmt .Sprintf ("docker.elastic.co/beats-ci/elastic-agent-cloud:%s-SNAPSHOT " , agentVersion )
900896 var targetCloudImageName string
901897 if customImage , isPresent := os .LookupEnv ("CI_ELASTIC_AGENT_DOCKER_IMAGE" ); isPresent && len (customImage ) > 0 {
902- targetCloudImageName = fmt .Sprintf ("%s:%s" , customImage , tag )
898+ targetCloudImageName = fmt .Sprintf ("%s:%s" , customImage , targetTag )
903899 } else {
904- targetCloudImageName = fmt .Sprintf (cloudImageTmpl , tag )
900+ targetCloudImageName = fmt .Sprintf (cloudImageTmpl , targetTag )
905901 }
906902
907903 fmt .Printf (">> Setting a docker image tag to %s\n " , targetCloudImageName )
908- err : = sh .RunV ("docker" , "tag" , sourceCloudImageName , targetCloudImageName )
904+ err = sh .RunV ("docker" , "tag" , sourceCloudImageName , targetCloudImageName )
909905 if err != nil {
910- return fmt .Errorf ("Failed setting a docker image tag: %w" , err )
906+ return fmt .Errorf ("failed setting a docker image tag: %w" , err )
911907 }
912908 fmt .Println (">> Docker image tag updated successfully" )
913909
914910 fmt .Println (">> Pushing a docker image to remote registry" )
915911 err = sh .RunV ("docker" , "image" , "push" , targetCloudImageName )
916912 if err != nil {
917- return fmt .Errorf ("Failed pushing docker image: %w" , err )
913+ return fmt .Errorf ("failed pushing docker image: %w" , err )
918914 }
919915 fmt .Printf (">> Docker image pushed to remote registry successfully: %s\n " , targetCloudImageName )
920916
0 commit comments