fix: custom dockerfile location for dockerfile buildpack
fix: able to use custom port for git cloning
This commit is contained in:
		@@ -98,7 +98,6 @@ class GithubPrivateRepositoryDeployKey extends Component
 | 
			
		||||
                    'name' => generate_random_name(),
 | 
			
		||||
                    'git_repository' => $this->git_repository,
 | 
			
		||||
                    'git_branch' => $this->branch,
 | 
			
		||||
                    'git_full_url' => $this->git_repository,
 | 
			
		||||
                    'build_pack' => 'nixpacks',
 | 
			
		||||
                    'ports_exposes' => $this->port,
 | 
			
		||||
                    'publish_directory' => $this->publish_directory,
 | 
			
		||||
@@ -112,7 +111,6 @@ class GithubPrivateRepositoryDeployKey extends Component
 | 
			
		||||
                    'name' => generate_random_name(),
 | 
			
		||||
                    'git_repository' => $this->git_repository,
 | 
			
		||||
                    'git_branch' => $this->branch,
 | 
			
		||||
                    'git_full_url' => "git@$this->git_host:$this->git_repository.git",
 | 
			
		||||
                    'build_pack' => 'nixpacks',
 | 
			
		||||
                    'ports_exposes' => $this->port,
 | 
			
		||||
                    'publish_directory' => $this->publish_directory,
 | 
			
		||||
@@ -158,6 +156,8 @@ class GithubPrivateRepositoryDeployKey extends Component
 | 
			
		||||
            $this->git_host = $this->repository_url_parsed->getHost();
 | 
			
		||||
            $this->git_repository = $this->repository_url_parsed->getSegment(1) . '/' . $this->repository_url_parsed->getSegment(2);
 | 
			
		||||
            $this->git_repository = Str::finish("git@$this->git_host:$this->git_repository", '.git');
 | 
			
		||||
        } else {
 | 
			
		||||
            $this->git_repository = $this->repository_url;
 | 
			
		||||
        }
 | 
			
		||||
        $this->git_source = 'other';
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -510,8 +510,13 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if ($this->application->deploymentType() === 'deploy_key') {
 | 
			
		||||
            $port = 22;
 | 
			
		||||
            preg_match('/(?<=:)\d+(?=\/)/', $this->application->git_repository, $matches);
 | 
			
		||||
            if (count($matches) === 1) {
 | 
			
		||||
                $port = $matches[0];
 | 
			
		||||
            }
 | 
			
		||||
            $private_key = base64_encode($this->application->private_key->private_key);
 | 
			
		||||
            $git_clone_command = "GIT_SSH_COMMAND=\"ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /root/.ssh/id_rsa\" {$git_clone_command} {$this->application->git_full_url} {$this->basedir}";
 | 
			
		||||
            $git_clone_command = "GIT_SSH_COMMAND=\"ssh -p $port -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /root/.ssh/id_rsa\" {$git_clone_command} {$this->application->git_repository} {$this->basedir}";
 | 
			
		||||
            $git_clone_command = $this->set_git_import_settings($git_clone_command);
 | 
			
		||||
            $commands = collect([
 | 
			
		||||
                executeInDocker($this->deployment_uuid, "mkdir -p /root/.ssh"),
 | 
			
		||||
@@ -799,7 +804,7 @@ COPY ./nginx.conf /etc/nginx/conf.d/default.conf");
 | 
			
		||||
            );
 | 
			
		||||
        } else {
 | 
			
		||||
            $this->execute_remote_command([
 | 
			
		||||
                executeInDocker($this->deployment_uuid, "docker build --network host -f {$this->workdir}/Dockerfile {$this->build_args} --progress plain -t $this->production_image_name {$this->workdir}"), "hidden" => true
 | 
			
		||||
                executeInDocker($this->deployment_uuid, "docker build --network host -f {$this->workdir}/{$this->dockerfile_location} {$this->build_args} --progress plain -t $this->production_image_name {$this->workdir}"), "hidden" => true
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@ return new class extends Migration
 | 
			
		||||
            $table->string('git_repository');
 | 
			
		||||
            $table->string('git_branch');
 | 
			
		||||
            $table->string('git_commit_sha')->default('HEAD');
 | 
			
		||||
            // TODO: remove this column, it is not used
 | 
			
		||||
            $table->string('git_full_url')->nullable();
 | 
			
		||||
 | 
			
		||||
            $table->string('docker_registry_image_name')->nullable();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user