mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-09-13 13:58:34 +00:00
🧑💻 Add support for proxying to existing woodpecker server (#5354)
Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
@@ -4,21 +4,41 @@ import process from 'node:process';
|
||||
import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import vue from '@vitejs/plugin-vue';
|
||||
import dotenv from 'dotenv';
|
||||
import type { Plugin } from 'vite';
|
||||
import prismjs from 'vite-plugin-prismjs';
|
||||
import svgLoader from 'vite-svg-loader';
|
||||
import type { ViteUserConfig } from 'vitest/config';
|
||||
import { defineConfig } from 'vitest/config';
|
||||
|
||||
dotenv.config({ path: path.resolve(__dirname, '../.env'), quiet: true });
|
||||
|
||||
const getEnvString = (envVar: string | undefined) => (envVar != null && envVar !== '' ? envVar : undefined);
|
||||
const viteUserSessCookie = getEnvString(process.env.VITE_DEV_USER_SESS_COOKIE);
|
||||
const viteDevProxy = getEnvString(process.env.VITE_DEV_PROXY);
|
||||
|
||||
function woodpeckerInfoPlugin(): Plugin {
|
||||
return {
|
||||
name: 'woodpecker-info',
|
||||
configureServer() {
|
||||
const info =
|
||||
'1) Please add `WOODPECKER_DEV_WWW_PROXY=http://localhost:8010` to your `.env` file.\n' +
|
||||
'After starting the woodpecker server as well you should now be able to access the UI at http://localhost:8000/\n\n' +
|
||||
'2) If you want to run the vite dev server (`pnpm start`) within a container please set `VITE_DEV_SERVER_HOST=0.0.0.0`.';
|
||||
console.log(info);
|
||||
if (viteDevProxy !== undefined) {
|
||||
console.log(
|
||||
[
|
||||
`Using dev server with proxy to existing Woodpecker server running at: ${viteDevProxy}`,
|
||||
'\n 🚀 Access the UI at http://localhost:8010/',
|
||||
].join('\n'),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(
|
||||
[
|
||||
'1) Please add `WOODPECKER_DEV_WWW_PROXY=http://localhost:8010` to your `.env` file.',
|
||||
'2) Start the Woodpecker server',
|
||||
'3) If you want to run the vite dev server (`pnpm start`) within a container please set `VITE_DEV_SERVER_HOST=0.0.0.0`.',
|
||||
`\n 🚀 Access the UI at http://localhost:8000/`,
|
||||
].join('\n'),
|
||||
);
|
||||
},
|
||||
};
|
||||
}
|
||||
@@ -88,6 +108,29 @@ export default defineConfig({
|
||||
allowedHosts: true,
|
||||
host: process.env.VITE_DEV_SERVER_HOST ?? '127.0.0.1',
|
||||
port: 8010,
|
||||
proxy:
|
||||
viteDevProxy !== undefined
|
||||
? {
|
||||
'/api': {
|
||||
target: viteDevProxy,
|
||||
changeOrigin: true,
|
||||
headers: {
|
||||
cookie: viteUserSessCookie !== undefined ? `user_sess=${viteUserSessCookie}` : '',
|
||||
},
|
||||
},
|
||||
'/web-config.js': {
|
||||
target: viteDevProxy,
|
||||
changeOrigin: true,
|
||||
headers: {
|
||||
cookie: viteUserSessCookie !== undefined ? `user_sess=${viteUserSessCookie}` : '',
|
||||
},
|
||||
},
|
||||
'/authorize': {
|
||||
target: viteDevProxy,
|
||||
changeOrigin: true,
|
||||
},
|
||||
}
|
||||
: undefined,
|
||||
},
|
||||
test: {
|
||||
globals: true,
|
||||
|
Reference in New Issue
Block a user