diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index a06a1263..6c8a702e 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -96,7 +96,8 @@ class ProjectsController < ApplicationController :cluster_id, :docker_build_context_directory, :docker_command, - :dockerfile_path + :dockerfile_path, + :container_registry_url ) end end diff --git a/app/jobs/projects/build_job.rb b/app/jobs/projects/build_job.rb index 44a3bc1b..aafd5f94 100644 --- a/app/jobs/projects/build_job.rb +++ b/app/jobs/projects/build_job.rb @@ -86,7 +86,7 @@ class Projects::BuildJob < ApplicationJob end def push_to_dockerhub(project, build) - docker_push_command = [ "docker", "push", "ghcr.io/#{project.repository_url}:latest" ] + docker_push_command = [ "docker", "push", project.container_registry_url ] build.info("Pushing Docker image to #{docker_push_command.last}", color: :yellow) stdout, stderr, status = Open3.capture3(*docker_push_command) diff --git a/app/models/project.rb b/app/models/project.rb index 9712c252..261b919f 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -5,6 +5,7 @@ # id :bigint not null, primary key # autodeploy :boolean default(TRUE), not null # branch :string default("main"), not null +# container_registry_url :string # docker_build_context_directory :string default("."), not null # docker_command :string # dockerfile_path :string default("./Dockerfile"), not null @@ -92,7 +93,8 @@ class Project < ApplicationRecord end def container_registry_url - "ghcr.io/#{repository_url}:latest" + container_registry = self.attributes["container_registry_url"] || repository_url + "ghcr.io/#{container_registry}:latest" end def deployable? diff --git a/app/views/projects/_edit_form.html.erb b/app/views/projects/_edit_form.html.erb index 4a668615..987071d1 100644 --- a/app/views/projects/_edit_form.html.erb +++ b/app/views/projects/_edit_form.html.erb @@ -58,6 +58,13 @@ <%= form.text_field :predeploy_command, class: "input input-bordered w-full focus:outline-offset-0" %> +