Skip to content

Commit 85d5073

Browse files
committed
feature: ReactからNext.jsへの転身、github workflowとk8sのマニフェストを追加、kuma-uiの導入
1 parent 1e1be63 commit 85d5073

40 files changed

+9776
-1907
lines changed

.devcontainer/devcontainer.json

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,22 @@
44
"dockerComposeFile": "docker-compose.yaml",
55
"service": "devcontainer",
66
"remoteUser": "node",
7+
"features": {
8+
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
9+
"ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
10+
"version": "latest",
11+
"helm": "latest",
12+
"minikube": "none"
13+
}
14+
},
715
"customizations": {
816
"jetbrains": {
917
"backend": "WebStorm",
1018
"plugins": [
1119
"Jetbrains TeamCity Plugin",
12-
"Key Promoter X",
20+
// "Key Promoter X",
21+
"com.intellij.kubernetes",
1322
"cn.yiiguxing.plugin.translate",
14-
"com.chylex.intellij.inspectionlens",
1523
"com.dsoftware.ghtoolbar",
1624
"com.github.camork.fileExpander",
1725
"com.github.jk1.ytplugin",
@@ -22,15 +30,13 @@
2230
"com.jetbrains.writerside",
2331
"com.mzyupc.a-redis",
2432
"com.nasller.CodeGlancePro",
25-
"indent-rainbow.indent-rainbow",
2633
"io.plugin.tsnode",
27-
"izhangzhihao.rainbow.brackets",
28-
"izhangzhihao.rainbow.brackets.lite",
2934
"mobi.hsz.idea.gitignore",
3035
"org.intellij.plugins.hcl",
3136
"org.jetbrains.plugins.github",
3237
"org.jetbrains.plugins.gitlab",
33-
"zielu.gittoolbox"
38+
"zielu.gittoolbox",
39+
"com.github.warningimhack3r.intellijshadcnplugin"
3440
]
3541
}
3642
}

.github/workflows/deploy.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Build and Push Docker Image
2+
3+
on:
4+
push:
5+
branches:
6+
- main # メインブランチへのプッシュ時にトリガー
7+
workflow_dispatch: # 手動でトリガー可能
8+
9+
jobs:
10+
build-and-deploy:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
# 1. リポジトリコードをチェックアウト
15+
- name: Checkout Code
16+
uses: actions/checkout@v4
17+
18+
# 2. Node.js 環境をセットアップ
19+
- name: Set up Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: 22
23+
cache: "yarn"
24+
25+
# 3. Yarn を使ってプロジェクトをインストール
26+
- name: Install Dependencies Using Yarn
27+
run: yarn install
28+
29+
# 4. Next.js をビルド(SSG ページの生成)
30+
- name: Build Next.js App
31+
run: yarn build
32+
33+
# 5. ユーザー名とリポジトリ名をフォーマットする
34+
- name: Format Username and Repository Name
35+
id: format
36+
run: |
37+
FORMATTED_USERNAME=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
38+
FORMATTED_REPO_NAME=$(echo "${{ github.event.repository.name }}" | sed -E 's/([a-z])([A-Z])/\1-\2/g' | tr '[:upper:]' '[:lower:]')
39+
40+
echo "FORMATTED_USERNAME=${FORMATTED_USERNAME}" >> $GITHUB_ENV
41+
echo "FORMATTED_REPO_NAME=${FORMATTED_REPO_NAME}" >> $GITHUB_ENV
42+
43+
# 6. Docker にログイン(GitHub Container Registry)
44+
- name: Log in to GitHub Container Registry
45+
uses: docker/login-action@v2
46+
with:
47+
registry: ghcr.io
48+
username: ${{ env.FORMATTED_USERNAME }}
49+
password: ${{ secrets.GITHUB_TOKEN }} # GitHub Actions が自動提供するトークン
50+
51+
# 7. Docker イメージをビルド
52+
- name: Build Docker Image
53+
run: |
54+
docker build -f infra/docker/Dockerfile . -t ghcr.io/${{ env.FORMATTED_USERNAME }}/${{ env.FORMATTED_REPO_NAME }}:latest
55+
56+
# 8. Docker イメージをプッシュ
57+
- name: Push Docker Image
58+
run: |
59+
docker push ghcr.io/${{ env.FORMATTED_USERNAME }}/${{ env.FORMATTED_REPO_NAME }}:latest

.gitignore

Lines changed: 171 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,182 @@
1+
### Example user template template
2+
### Example user template
3+
4+
# IntelliJ project files
5+
.idea
6+
*.iml
7+
out
8+
gen
9+
### Node template
110
# Logs
211
logs
312
*.log
413
npm-debug.log*
514
yarn-debug.log*
615
yarn-error.log*
7-
pnpm-debug.log*
816
lerna-debug.log*
17+
.pnpm-debug.log*
918

10-
node_modules
19+
# Diagnostic reports (https://nodejs.org/api/report.html)
20+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
21+
22+
# Runtime data
23+
pids
24+
*.pid
25+
*.seed
26+
*.pid.lock
27+
28+
# Directory for instrumented libs generated by jscoverage/JSCover
29+
lib-cov
30+
31+
# Coverage directory used by tools like istanbul
32+
coverage
33+
*.lcov
34+
35+
# nyc test coverage
36+
.nyc_output
37+
38+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
39+
.grunt
40+
41+
# Bower dependency directory (https://bower.io/)
42+
bower_components
43+
44+
# node-waf configuration
45+
.lock-wscript
46+
47+
# Compiled binary addons (https://nodejs.org/api/addons.html)
48+
build/Release
49+
50+
# Dependency directories
51+
node_modules/
52+
jspm_packages/
53+
54+
# Snowpack dependency directory (https://snowpack.dev/)
55+
web_modules/
56+
57+
# TypeScript cache
58+
*.tsbuildinfo
59+
60+
# Optional npm cache directory
61+
.npm
62+
63+
# Optional eslint cache
64+
.eslintcache
65+
66+
# Optional stylelint cache
67+
.stylelintcache
68+
69+
# Microbundle cache
70+
.rpt2_cache/
71+
.rts2_cache_cjs/
72+
.rts2_cache_es/
73+
.rts2_cache_umd/
74+
75+
# Optional REPL history
76+
.node_repl_history
77+
78+
# Output of 'npm pack'
79+
*.tgz
80+
81+
# Yarn Integrity file
82+
.yarn-integrity
83+
84+
# dotenv environment variable files
85+
.env
86+
.env.development.local
87+
.env.test.local
88+
.env.production.local
89+
.env.local
90+
91+
# parcel-bundler cache (https://parceljs.org/)
92+
.cache
93+
.parcel-cache
94+
95+
# Next.js build output
96+
.next
97+
98+
# Nuxt.js build / generate output
99+
.nuxt
11100
dist
12-
dist-ssr
13-
*.local
14101

15-
# Editor directories and files
16-
.vscode/*
17-
!.vscode/extensions.json
18-
.idea
102+
# Gatsby files
103+
.cache/
104+
# Comment in the public line in if your project uses Gatsby and not Next.js
105+
# https://nextjs.org/blog/next-9-1#public-directory-support
106+
# public
107+
108+
# vuepress build output
109+
.vuepress/dist
110+
111+
# vuepress v2.x temp and cache directory
112+
.temp
113+
114+
# Docusaurus cache and generated files
115+
.docusaurus
116+
117+
# Serverless directories
118+
.serverless/
119+
120+
# FuseBox cache
121+
.fusebox/
122+
123+
# DynamoDB Local files
124+
.dynamodb/
125+
126+
# TernJS port file
127+
.tern-port
128+
129+
# Stores VSCode versions used for testing VSCode extensions
130+
.vscode-test
131+
132+
# yarn v2
133+
.yarn/cache
134+
.yarn/unplugged
135+
.yarn/build-state.yml
136+
.yarn/install-state.gz
137+
.pnp.*
138+
139+
### react template
140+
.DS_*
141+
**/*.backup.*
142+
**/*.back.*
143+
144+
node_modules
145+
146+
*.sublime*
147+
148+
psd
149+
thumb
150+
sketch
151+
152+
### NextJS template
153+
# dependencies
154+
/node_modules
155+
/.pnp
156+
.pnp.js
157+
158+
# testing
159+
/coverage
160+
161+
# next.js
162+
/.next/
163+
/out/
164+
165+
# production
166+
/build
167+
168+
# misc
19169
.DS_Store
20-
*.suo
21-
*.ntvs*
22-
*.njsproj
23-
*.sln
24-
*.sw?
170+
*.pem
171+
172+
# debug
173+
174+
# local env files
175+
.env*.local
176+
177+
# vercel
178+
.vercel
179+
180+
# typescript
181+
next-env.d.ts
182+

0 commit comments

Comments
 (0)