diff --git a/.gitlab/ci/release-environments/main.gitlab-ci.yml b/.gitlab/ci/release-environments/main.gitlab-ci.yml
index 731de95722180f16984f729690332111c2e604f9..c02c3b9e0868170a5b26b025a561e82cc529c989 100644
--- a/.gitlab/ci/release-environments/main.gitlab-ci.yml
+++ b/.gitlab/ci/release-environments/main.gitlab-ci.yml
@@ -37,7 +37,7 @@ release-environments-deploy-env:
   variables:
     DEPLOY_ENV: deploy.env
   script:
-    - ./scripts/construct-release-environments-versions.rb > $DEPLOY_ENV
+    - ./scripts/release-environment/construct-release-environments-versions.rb
   artifacts:
     reports:
       dotenv: $DEPLOY_ENV
diff --git a/scripts/construct-release-environments-versions.rb b/scripts/release_environment/construct-release-environments-versions.rb
similarity index 67%
rename from scripts/construct-release-environments-versions.rb
rename to scripts/release_environment/construct-release-environments-versions.rb
index 7f8fa103def84a7adcad086742c15738588fd033..55a2da5d149b8a806daf9205e496f8b2e4215be4 100755
--- a/scripts/construct-release-environments-versions.rb
+++ b/scripts/release_environment/construct-release-environments-versions.rb
@@ -25,13 +25,31 @@ def generate_json(environment)
     end
     JSON.generate(output_json)
   end
+
+  def set_required_env_vars?
+    required_env_vars = %w[DEPLOY_ENV]
+
+    required_env_vars.each do |var|
+      if ENV.fetch(var, nil).to_s.empty?
+        puts "Missing required environment variable: #{var}"
+        return false
+      end
+    end
+  end
 end
 
 # Outputs in `dotenv` format the ENVIRONMENT and VERSIONS to pass to release environments e.g.
 # ENVIRONMENT=15-10-stable
 # VERSIONS={"gitaly":"15-10-stable-c7c5131c","registry":"15-10-stable-c7c5131c","kas":"15-10-stable-c7c5131c", ...
 if $PROGRAM_NAME == __FILE__
+  model = ReleaseEnvironmentsModel.new
+  raise "Missing required environment variable." unless model.set_required_env_vars?
+
   environment = ENV['CI_COMMIT_REF_SLUG'].sub("-ee", "")
-  puts "ENVIRONMENT=#{environment}"
-  puts "VERSIONS=#{ReleaseEnvironmentsModel.new.generate_json(environment)}"
+  File.open(ENV['DEPLOY_ENV'], 'w') do |file|
+    file.puts "ENVIRONMENT=#{environment}"
+    file.puts "VERSIONS=#{model.generate_json(environment)}"
+  end
+
+  puts File.read(ENV['DEPLOY_ENV'])
 end