mirror of
https://code.forgejo.org/forgejo/runner.git
synced 2025-09-15 18:57:01 +00:00
support for container option: --hostname (#809)
This commit is contained in:
parent
cbcc52c438
commit
0e52836daf
4 changed files with 50 additions and 0 deletions
|
@ -11,6 +11,9 @@ import (
|
|||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/google/shlex"
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"github.com/mitchellh/go-homedir"
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
|
@ -96,6 +99,7 @@ func (rc *RunContext) GetBindsAndMounts() ([]string, map[string]string) {
|
|||
|
||||
func (rc *RunContext) startJobContainer() common.Executor {
|
||||
image := rc.platformImage()
|
||||
hostname := rc.hostname()
|
||||
|
||||
return func(ctx context.Context) error {
|
||||
rawLogger := common.Logger(ctx).WithField("raw_output", true)
|
||||
|
@ -136,6 +140,7 @@ func (rc *RunContext) startJobContainer() common.Executor {
|
|||
Privileged: rc.Config.Privileged,
|
||||
UsernsMode: rc.Config.UsernsMode,
|
||||
Platform: rc.Config.ContainerArchitecture,
|
||||
Hostname: hostname,
|
||||
})
|
||||
|
||||
var copyWorkspace bool
|
||||
|
@ -304,6 +309,28 @@ func (rc *RunContext) platformImage() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (rc *RunContext) hostname() string {
|
||||
job := rc.Run.Job()
|
||||
c := job.Container()
|
||||
if c == nil {
|
||||
return ""
|
||||
}
|
||||
|
||||
optionsFlags := pflag.NewFlagSet("container_options", pflag.ContinueOnError)
|
||||
hostname := optionsFlags.StringP("hostname", "h", "", "")
|
||||
optionsArgs, err := shlex.Split(c.Options)
|
||||
if err != nil {
|
||||
log.Warnf("Cannot parse container options: %s", c.Options)
|
||||
return ""
|
||||
}
|
||||
err = optionsFlags.Parse(optionsArgs)
|
||||
if err != nil {
|
||||
log.Warnf("Cannot parse container options: %s", c.Options)
|
||||
return ""
|
||||
}
|
||||
return *hostname
|
||||
}
|
||||
|
||||
func (rc *RunContext) isEnabled(ctx context.Context) bool {
|
||||
job := rc.Run.Job()
|
||||
l := common.Logger(ctx)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue