diff --git a/app/services/projects/update_pages_service.rb b/app/services/projects/update_pages_service.rb
index ac22628b254ea941f219bc72d1d03f79caccd52d..78ed0536b7e0f5b4f20cb3529f6bcc2e3c073191 100644
--- a/app/services/projects/update_pages_service.rb
+++ b/app/services/projects/update_pages_service.rb
@@ -28,11 +28,7 @@ def execute
 
       return error(deployment_validations.errors.first.full_message) unless deployment_validations.valid?
 
-      if ::Feature.enabled?(:ff_pages_use_open_file, project)
-        handle_deployment_with_open_file
-      else
-        handle_deployment_with_file
-      end
+      handle_deployment_with_open_file
     rescue StandardError => e
       error(e.message)
       raise e
@@ -152,12 +148,6 @@ def handle_deployment_with_open_file
       end
     end
 
-    def handle_deployment_with_file
-      build.artifacts_file.use_file do |artifacts_path|
-        File.open(artifacts_path) { |file| handle_deployment(file) }
-      end
-    end
-
     def handle_deployment(file)
       deployment = create_pages_deployment(file, build)
 
diff --git a/config/feature_flags/beta/ff_pages_use_open_file.yml b/config/feature_flags/beta/ff_pages_use_open_file.yml
deleted file mode 100644
index bc96665537969f8bda05726a54a5e933bfcb1b62..0000000000000000000000000000000000000000
--- a/config/feature_flags/beta/ff_pages_use_open_file.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: ff_pages_use_open_file
-feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/345737
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167150
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/496324
-milestone: '17.5'
-group: group::knowledge
-type: beta
-default_enabled: true
diff --git a/spec/services/projects/update_pages_service_spec.rb b/spec/services/projects/update_pages_service_spec.rb
index 4c783104104949f72f5371a4c98bde67d8e39d94..7e59df0099c2d7331d2ad0df19e4f6b9c1c457f7 100644
--- a/spec/services/projects/update_pages_service_spec.rb
+++ b/spec/services/projects/update_pages_service_spec.rb
@@ -101,7 +101,7 @@
     end
   end
 
-  RSpec.shared_examples 'for new artifacts' do
+  context 'for new artifacts' do
     context "for a valid job" do
       let!(:artifacts_archive) { create(:ci_job_artifact, :correct_checksum, file: file, job: build) }
 
@@ -319,7 +319,7 @@
 
       context "when sha on branch was updated before deployment was uploaded" do
         before do
-          expect(subject).to receive(:create_pages_deployment).and_wrap_original do |m, *args|
+          expect(service).to receive(:create_pages_deployment).and_wrap_original do |m, *args|
             build.update!(ref: 'feature')
             m.call(*args)
           end
@@ -365,18 +365,6 @@
     end
   end
 
-  context 'with ff_pages_use_open_file feature flag disabled' do
-    before do
-      stub_feature_flags(ff_pages_use_open_file: false)
-    end
-
-    it_behaves_like 'for new artifacts'
-  end
-
-  context 'with ff_pages_use_open_file feature flag enabled' do
-    it_behaves_like 'for new artifacts'
-  end
-
   # this situation should never happen in real life because all new archives have sha256
   # and we only use new archives
   # this test is here just to clarify that this behavior is intentional