添加删除runner功能
This commit is contained in:
@@ -171,6 +171,16 @@ func RunnerDeletePost(ctx *context.Context, runnerID int64,
|
|||||||
ctx.JSONRedirect(failedRedirectTo)
|
ctx.JSONRedirect(failedRedirectTo)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
runner, err := actions_model.GetRunnerByID(ctx, runnerID)
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("DeleteRunnerPost.DeleteRunnerContainer failed: %v, url: %s", err, ctx.Req.URL)
|
||||||
|
}
|
||||||
|
runnerName := runner.Name
|
||||||
|
|
||||||
|
err = runner_services.DeleteRunnerByName(ctx, runnerName)
|
||||||
|
if err != nil {
|
||||||
|
log.Warn("DeleteRunnerContainer failed")
|
||||||
|
}
|
||||||
|
|
||||||
log.Info("DeleteRunnerPost success: %s", ctx.Req.URL)
|
log.Info("DeleteRunnerPost success: %s", ctx.Req.URL)
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,23 @@ func RegistRunner(ctx context.Context, token string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DeleteRunnerByName(ctx context.Context, runnerName string) error {
|
||||||
|
log.Info("开始停止并删除容器: %s", runnerName)
|
||||||
|
|
||||||
|
// 创建Docker客户端
|
||||||
|
cli, err := docker_module.CreateDockerClient(&ctx)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("Docker client创建失败:%v", err)
|
||||||
|
}
|
||||||
|
log.Info("[StopAndRemoveContainer]Docker client创建成功")
|
||||||
|
defer cli.Close()
|
||||||
|
err = docker_module.DeleteContainer(cli, runnerName)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("Runner创建失败:%v", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func getLocalIP() ([]string, error) {
|
func getLocalIP() ([]string, error) {
|
||||||
var ips []string
|
var ips []string
|
||||||
interfaces, err := net.Interfaces()
|
interfaces, err := net.Interfaces()
|
||||||
|
|||||||
Reference in New Issue
Block a user