Skip to content

Commit 529a37e

Browse files
committed
merge: resolved main branch into paython-mcp
2 parents 8e30df6 + 60c57a8 commit 529a37e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+5744
-123
lines changed

.github/workflows/ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
7+
workflow_dispatch:
8+
inputs:
9+
environment:
10+
description: 'Target environment'
11+
required: false
12+
type: string
13+
default: 'dev'
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-node@v4
21+
with:
22+
node-version: 20
23+
- run: npm ci
24+
# - run: npm test
25+
- run: echo "Deploying to ${{ inputs.environment || 'dev' }}..."

Dockerfile

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Jenkins LTS (with JDK 17). The current LTS line (>= 2.492.3) meets the MCP plugin minimum requirement.
2+
FROM jenkins/jenkins:lts-jdk17
3+
4+
USER root
5+
6+
# Install base tools (git, curl, certificates).
7+
# If you use dedicated Jenkins agents, also install git inside your agent images.
8+
RUN apt-get update && apt-get install -y --no-install-recommends \
9+
git curl ca-certificates && \
10+
rm -rf /var/lib/apt/lists/*
11+
12+
# Switch back to jenkins user
13+
USER jenkins
14+
15+
# Preinstall plugins:
16+
# MCP Server, Git, Git Client, GitHub integration, Pipeline, and Credentials
17+
# Note: jenkins-plugin-cli is included in the official Jenkins image.
18+
RUN jenkins-plugin-cli --plugins \
19+
mcp-server \
20+
git \
21+
git-client \
22+
github \
23+
github-branch-source \
24+
workflow-aggregator \
25+
credentials \
26+
ssh-credentials \
27+
configuration-as-code
28+
29+
# Expose ports
30+
EXPOSE 8080 50000
31+
32+
# (Optional) Jenkins startup parameters
33+
# Disable the setup wizard on first startup:
34+
# ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"
35+
36+
# (Optional) Mount JCasC configuration file
37+
# ENV CASC_JENKINS_CONFIG=/var/jenkins_home/casc.yaml

Jenkins dockerfile.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Jenkins Docker
2+
3+
Dockerfile:
4+
5+
```python
6+
# Jenkins LTS (with JDK 17). The current LTS line (>= 2.492.3) meets the MCP plugin minimum requirement.
7+
FROM jenkins/jenkins:lts-jdk17
8+
9+
USER root
10+
11+
# Install base tools (git, curl, certificates).
12+
# If you use dedicated Jenkins agents, also install git inside your agent images.
13+
RUN apt-get update && apt-get install -y --no-install-recommends \
14+
git curl ca-certificates && \
15+
rm -rf /var/lib/apt/lists/*
16+
17+
# Switch back to jenkins user
18+
USER jenkins
19+
20+
# Preinstall plugins:
21+
# MCP Server, Git, Git Client, GitHub integration, Pipeline, and Credentials
22+
# Note: jenkins-plugin-cli is included in the official Jenkins image.
23+
RUN jenkins-plugin-cli --plugins \
24+
mcp-server \
25+
git \
26+
git-client \
27+
github \
28+
github-branch-source \
29+
workflow-aggregator \
30+
credentials \
31+
ssh-credentials \
32+
configuration-as-code
33+
34+
# Expose ports
35+
EXPOSE 8080 50000
36+
37+
# (Optional) Jenkins startup parameters
38+
# Disable the setup wizard on first startup:
39+
# ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"
40+
41+
# (Optional) Mount JCasC configuration file
42+
# ENV CASC_JENKINS_CONFIG=/var/jenkins_home/casc.yaml
43+
```
44+
45+
build:
46+
47+
```python
48+
docker build -t jks:latest .
49+
```
50+
51+
Run: you can change the first 8080 to whatever port you like.
52+
53+
```python
54+
docker run -d --name jks -p 8080:8080 jks:latest
55+
```
56+
57+
login to docker server :
58+
59+
```python
60+
docker exec -it jks bash
61+
cat /var/jenkins_home/secrets/initialAdminPassword # to get admin password.
62+
then don't install anything close all the tag, when you hit
63+
"start to use jenkins" click that one. you will be able to use Jenkins.
64+
it is in localhost:8080
65+
66+
```

client/.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

client/README.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# React + TypeScript + Vite
2+
3+
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4+
5+
Currently, two official plugins are available:
6+
7+
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8+
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9+
10+
## React Compiler
11+
12+
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
13+
14+
## Expanding the ESLint configuration
15+
16+
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
17+
18+
```js
19+
export default defineConfig([
20+
globalIgnores(['dist']),
21+
{
22+
files: ['**/*.{ts,tsx}'],
23+
extends: [
24+
// Other configs...
25+
26+
// Remove tseslint.configs.recommended and replace with this
27+
tseslint.configs.recommendedTypeChecked,
28+
// Alternatively, use this for stricter rules
29+
tseslint.configs.strictTypeChecked,
30+
// Optionally, add this for stylistic rules
31+
tseslint.configs.stylisticTypeChecked,
32+
33+
// Other configs...
34+
],
35+
languageOptions: {
36+
parserOptions: {
37+
project: ['./tsconfig.node.json', './tsconfig.app.json'],
38+
tsconfigRootDir: import.meta.dirname,
39+
},
40+
// other options...
41+
},
42+
},
43+
])
44+
```
45+
46+
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
47+
48+
```js
49+
// eslint.config.js
50+
import reactX from 'eslint-plugin-react-x'
51+
import reactDom from 'eslint-plugin-react-dom'
52+
53+
export default defineConfig([
54+
globalIgnores(['dist']),
55+
{
56+
files: ['**/*.{ts,tsx}'],
57+
extends: [
58+
// Other configs...
59+
// Enable lint rules for React
60+
reactX.configs['recommended-typescript'],
61+
// Enable lint rules for React DOM
62+
reactDom.configs.recommended,
63+
],
64+
languageOptions: {
65+
parserOptions: {
66+
project: ['./tsconfig.node.json', './tsconfig.app.json'],
67+
tsconfigRootDir: import.meta.dirname,
68+
},
69+
// other options...
70+
},
71+
},
72+
])
73+
```

client/eslint.config.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import js from '@eslint/js'
2+
import globals from 'globals'
3+
import reactHooks from 'eslint-plugin-react-hooks'
4+
import reactRefresh from 'eslint-plugin-react-refresh'
5+
import tseslint from 'typescript-eslint'
6+
import { defineConfig, globalIgnores } from 'eslint/config'
7+
8+
export default defineConfig([
9+
globalIgnores(['dist']),
10+
{
11+
files: ['**/*.{ts,tsx}'],
12+
extends: [
13+
js.configs.recommended,
14+
tseslint.configs.recommended,
15+
reactHooks.configs['recommended-latest'],
16+
reactRefresh.configs.vite,
17+
],
18+
languageOptions: {
19+
ecmaVersion: 2020,
20+
globals: globals.browser,
21+
},
22+
},
23+
])

client/index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>client</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.tsx"></script>
12+
</body>
13+
</html>

0 commit comments

Comments
 (0)