mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
Merge pull request #854 from DJKnaeckebrot/560-self-hosted-gitlab
560 self hosted gitlab additions
This commit is contained in:
@@ -13,7 +13,7 @@ export default async function handler(
|
|||||||
|
|
||||||
const gitlab = await findGitlabById(gitlabId as string);
|
const gitlab = await findGitlabById(gitlabId as string);
|
||||||
|
|
||||||
const response = await fetch("https://gitlab.com/oauth/token", {
|
const response = await fetch(`${gitlab.gitlabUrl}/oauth/token`, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export const refreshGitlabToken = async (gitlabProviderId: string) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const response = await fetch("https://gitlab.com/oauth/token", {
|
const response = await fetch(`${gitlabProvider.gitlabUrl}/oauth/token`, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
@@ -122,7 +122,7 @@ export const cloneGitlabRepository = async (
|
|||||||
const basePath = isCompose ? COMPOSE_PATH : APPLICATIONS_PATH;
|
const basePath = isCompose ? COMPOSE_PATH : APPLICATIONS_PATH;
|
||||||
const outputPath = join(basePath, appName, "code");
|
const outputPath = join(basePath, appName, "code");
|
||||||
await recreateDirectory(outputPath);
|
await recreateDirectory(outputPath);
|
||||||
const repoclone = `gitlab.com/${gitlabPathNamespace}.git`;
|
const repoclone = `${gitlab?.gitlabUrl.replace(/^https?:\/\//, "")}/${gitlabPathNamespace}.git`;
|
||||||
const cloneUrl = `https://oauth2:${gitlab?.accessToken}@${repoclone}`;
|
const cloneUrl = `https://oauth2:${gitlab?.accessToken}@${repoclone}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -218,7 +218,7 @@ export const getGitlabCloneCommand = async (
|
|||||||
const basePath = isCompose ? COMPOSE_PATH : APPLICATIONS_PATH;
|
const basePath = isCompose ? COMPOSE_PATH : APPLICATIONS_PATH;
|
||||||
const outputPath = join(basePath, appName, "code");
|
const outputPath = join(basePath, appName, "code");
|
||||||
await recreateDirectory(outputPath);
|
await recreateDirectory(outputPath);
|
||||||
const repoclone = `gitlab.com/${gitlabPathNamespace}.git`;
|
const repoclone = `${gitlab?.gitlabUrl.replace(/^https?:\/\//, "")}/${gitlabPathNamespace}.git`;
|
||||||
const cloneUrl = `https://oauth2:${gitlab?.accessToken}@${repoclone}`;
|
const cloneUrl = `https://oauth2:${gitlab?.accessToken}@${repoclone}`;
|
||||||
|
|
||||||
const cloneCommand = `
|
const cloneCommand = `
|
||||||
@@ -244,7 +244,7 @@ export const getGitlabRepositories = async (gitlabId?: string) => {
|
|||||||
const gitlabProvider = await findGitlabById(gitlabId);
|
const gitlabProvider = await findGitlabById(gitlabId);
|
||||||
|
|
||||||
const response = await fetch(
|
const response = await fetch(
|
||||||
`https://gitlab.com/api/v4/projects?membership=true&owned=true&page=${0}&per_page=${100}`,
|
`${gitlabProvider.gitlabUrl}/api/v4/projects?membership=true&owned=true&page=${0}&per_page=${100}`,
|
||||||
{
|
{
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: `Bearer ${gitlabProvider.accessToken}`,
|
Authorization: `Bearer ${gitlabProvider.accessToken}`,
|
||||||
@@ -304,7 +304,7 @@ export const getGitlabBranches = async (input: {
|
|||||||
const gitlabProvider = await findGitlabById(input.gitlabId);
|
const gitlabProvider = await findGitlabById(input.gitlabId);
|
||||||
|
|
||||||
const branchesResponse = await fetch(
|
const branchesResponse = await fetch(
|
||||||
`https://gitlab.com/api/v4/projects/${input.id}/repository/branches`,
|
`${gitlabProvider.gitlabUrl}/api/v4/projects/${input.id}/repository/branches`,
|
||||||
{
|
{
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: `Bearer ${gitlabProvider.accessToken}`,
|
Authorization: `Bearer ${gitlabProvider.accessToken}`,
|
||||||
@@ -352,7 +352,7 @@ export const cloneRawGitlabRepository = async (entity: Compose) => {
|
|||||||
await recreateDirectory(outputPath);
|
await recreateDirectory(outputPath);
|
||||||
const gitlabUrl = gitlabProvider.gitlabUrl;
|
const gitlabUrl = gitlabProvider.gitlabUrl;
|
||||||
// What happen with oauth in self hosted instances?
|
// What happen with oauth in self hosted instances?
|
||||||
const repoclone = `gitlab.com/${gitlabPathNamespace}.git`;
|
const repoclone = `${gitlabUrl.replace(/^https?:\/\//, "")}/${gitlabPathNamespace}.git`;
|
||||||
const cloneUrl = `https://oauth2:${gitlabProvider?.accessToken}@${repoclone}`;
|
const cloneUrl = `https://oauth2:${gitlabProvider?.accessToken}@${repoclone}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -392,7 +392,7 @@ export const cloneRawGitlabRepositoryRemote = async (compose: Compose) => {
|
|||||||
await refreshGitlabToken(gitlabId);
|
await refreshGitlabToken(gitlabId);
|
||||||
const basePath = COMPOSE_PATH;
|
const basePath = COMPOSE_PATH;
|
||||||
const outputPath = join(basePath, appName, "code");
|
const outputPath = join(basePath, appName, "code");
|
||||||
const repoclone = `gitlab.com/${gitlabPathNamespace}.git`;
|
const repoclone = `${gitlabProvider.gitlabUrl.replace(/^https?:\/\//, "")}/${gitlabPathNamespace}.git`;
|
||||||
const cloneUrl = `https://oauth2:${gitlabProvider?.accessToken}@${repoclone}`;
|
const cloneUrl = `https://oauth2:${gitlabProvider?.accessToken}@${repoclone}`;
|
||||||
try {
|
try {
|
||||||
const command = `
|
const command = `
|
||||||
|
|||||||
Reference in New Issue
Block a user