Merge remote-tracking branch 'origin/dev' into devcontainer-on-k8s

This commit is contained in:
panshuxiao
2025-05-08 10:16:12 +08:00
repo.diff.parent 685878afd1 02baa3b7af
repo.diff.commit d2c2a6e363
repo.diff.stats_desc%!(EXTRA int=2, int=37, int=8)

repo.diff.view_file

@@ -75,8 +75,8 @@ RUN mkdir -p /var/lib/gitea /etc/gitea
RUN chown git:git /var/lib/gitea /etc/gitea
COPY --from=build-env /tmp/local /
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/devcontainer_init.sh /var/lib/gitea/devcontainer_init.sh
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/devcontainer_restart.sh /var/lib/gitea/devcontainer_restart.sh
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/devcontainer_init.sh /app/gitea/devcontainer_init.sh
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/devcontainer_restart.sh /app/gitea/devcontainer_restart.sh
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/environment-to-ini /usr/local/bin/environment-to-ini
COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh

repo.diff.view_file

@@ -643,10 +643,42 @@ func claimDevcontainerResource(ctx *context.Context, newDevContainer *CreateDevc
newURL := parsedURL.String()
// Read the init script from file
initializeScriptContent, err := os.ReadFile("devcontainer_init.sh")
if err != nil {
return fmt.Errorf("读取初始化脚本失败: %v", err)
var initializeScriptContent, restartScriptContent []byte
_, err = os.Stat("devcontainer_init.sh")
if os.IsNotExist(err) {
_, err = os.Stat("/app/gitea/devcontainer_init.sh")
if os.IsNotExist(err) {
return fmt.Errorf("读取初始化脚本失败: %v", err)
} else {
initializeScriptContent, err = os.ReadFile("/app/gitea/devcontainer_init.sh")
if err != nil {
return fmt.Errorf("读取初始化脚本失败: %v", err)
}
}
} else {
initializeScriptContent, err = os.ReadFile("devcontainer_init.sh")
if err != nil {
return fmt.Errorf("读取初始化脚本失败: %v", err)
}
}
_, err = os.Stat("devcontainer_restart.sh")
if os.IsNotExist(err) {
_, err = os.Stat("/app/gitea/devcontainer_restart.sh")
if os.IsNotExist(err) {
return fmt.Errorf("读取初始化脚本失败: %v", err)
} else {
restartScriptContent, err = os.ReadFile("/app/gitea/devcontainer_restart.sh")
if err != nil {
return fmt.Errorf("读取初始化脚本失败: %v", err)
}
}
} else {
restartScriptContent, err = os.ReadFile("devcontainer_restart.sh")
if err != nil {
return fmt.Errorf("读取初始化脚本失败: %v", err)
}
}
cfg, err := setting.NewConfigProviderFromFile(setting.CustomConf)
if err != nil {
log.Error("Failed to load custom conf '%s': %v", setting.CustomConf, err)
@@ -657,9 +689,6 @@ func claimDevcontainerResource(ctx *context.Context, newDevContainer *CreateDevc
initializeScript = strings.ReplaceAll(initializeScript, "$HOST_DOCKER_INTERNAL", cfg.Section("server").Key("DOMAIN").Value())
initializeScript = strings.ReplaceAll(initializeScript, "$WORKDIR", newDevContainer.DevcontainerWorkDir)
initializeScript = strings.ReplaceAll(initializeScript, "$REPO_URL", newURL)
log.Info("devcontainer_init.sh: %s", initializeScript)
restartScriptContent, err := os.ReadFile("devcontainer_restart.sh")
restartScript := strings.ReplaceAll(string(restartScriptContent), "$WORKDIR", newDevContainer.DevcontainerWorkDir)
// 2. 根据配置文件中指定的 DevContainer Agent 派遣创建任务
switch setting.Devcontainer.Agent {