You've already forked woodpecker
							
							
				mirror of
				https://github.com/woodpecker-ci/woodpecker.git
				synced 2025-10-30 23:27:39 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			139 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // +build !enterprise
 | |
| 
 | |
| package server
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 
 | |
| 	"github.com/cncd/queue"
 | |
| 	"github.com/drone/drone/model"
 | |
| 	"github.com/drone/drone/plugins/registry"
 | |
| 	"github.com/drone/drone/plugins/secrets"
 | |
| 	"github.com/drone/drone/remote"
 | |
| 	"github.com/drone/drone/remote/bitbucket"
 | |
| 	"github.com/drone/drone/remote/bitbucketserver"
 | |
| 	"github.com/drone/drone/remote/gitea"
 | |
| 	"github.com/drone/drone/remote/github"
 | |
| 	"github.com/drone/drone/remote/gitlab"
 | |
| 	"github.com/drone/drone/remote/gogs"
 | |
| 	"github.com/drone/drone/store"
 | |
| 	"github.com/drone/drone/store/datastore"
 | |
| 
 | |
| 	"github.com/urfave/cli"
 | |
| )
 | |
| 
 | |
| func setupStore(c *cli.Context) store.Store {
 | |
| 	return datastore.New(
 | |
| 		c.String("driver"),
 | |
| 		c.String("datasource"),
 | |
| 	)
 | |
| }
 | |
| 
 | |
| func setupQueue(c *cli.Context, s store.Store) queue.Queue {
 | |
| 	return model.WithTaskStore(queue.New(), s)
 | |
| }
 | |
| 
 | |
| func setupSecretService(c *cli.Context, s store.Store) model.SecretService {
 | |
| 	return secrets.New(s)
 | |
| }
 | |
| 
 | |
| func setupRegistryService(c *cli.Context, s store.Store) model.RegistryService {
 | |
| 	return registry.New(s)
 | |
| }
 | |
| 
 | |
| func setupPubsub(c *cli.Context)        {}
 | |
| func setupStream(c *cli.Command)        {}
 | |
| func setupGatingService(c *cli.Command) {}
 | |
| 
 | |
| // helper function to setup the remote from the CLI arguments.
 | |
| func setupRemote(c *cli.Context) (remote.Remote, error) {
 | |
| 	switch {
 | |
| 	case c.Bool("github"):
 | |
| 		return setupGithub(c)
 | |
| 	case c.Bool("gitlab"):
 | |
| 		return setupGitlab(c)
 | |
| 	case c.Bool("bitbucket"):
 | |
| 		return setupBitbucket(c)
 | |
| 	case c.Bool("stash"):
 | |
| 		return setupStash(c)
 | |
| 	case c.Bool("gogs"):
 | |
| 		return setupGogs(c)
 | |
| 	case c.Bool("gitea"):
 | |
| 		return setupGitea(c)
 | |
| 	default:
 | |
| 		return nil, fmt.Errorf("version control system not configured")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // helper function to setup the Bitbucket remote from the CLI arguments.
 | |
| func setupBitbucket(c *cli.Context) (remote.Remote, error) {
 | |
| 	return bitbucket.New(
 | |
| 		c.String("bitbucket-client"),
 | |
| 		c.String("bitbucket-secret"),
 | |
| 	), nil
 | |
| }
 | |
| 
 | |
| // helper function to setup the Gogs remote from the CLI arguments.
 | |
| func setupGogs(c *cli.Context) (remote.Remote, error) {
 | |
| 	return gogs.New(gogs.Opts{
 | |
| 		URL:         c.String("gogs-server"),
 | |
| 		Username:    c.String("gogs-git-username"),
 | |
| 		Password:    c.String("gogs-git-password"),
 | |
| 		PrivateMode: c.Bool("gogs-private-mode"),
 | |
| 		SkipVerify:  c.Bool("gogs-skip-verify"),
 | |
| 	})
 | |
| }
 | |
| 
 | |
| // helper function to setup the Gitea remote from the CLI arguments.
 | |
| func setupGitea(c *cli.Context) (remote.Remote, error) {
 | |
| 	return gitea.New(gitea.Opts{
 | |
| 		URL:         c.String("gitea-server"),
 | |
| 		Username:    c.String("gitea-git-username"),
 | |
| 		Password:    c.String("gitea-git-password"),
 | |
| 		PrivateMode: c.Bool("gitea-private-mode"),
 | |
| 		SkipVerify:  c.Bool("gitea-skip-verify"),
 | |
| 	})
 | |
| }
 | |
| 
 | |
| // helper function to setup the Stash remote from the CLI arguments.
 | |
| func setupStash(c *cli.Context) (remote.Remote, error) {
 | |
| 	return bitbucketserver.New(bitbucketserver.Opts{
 | |
| 		URL:               c.String("stash-server"),
 | |
| 		Username:          c.String("stash-git-username"),
 | |
| 		Password:          c.String("stash-git-password"),
 | |
| 		ConsumerKey:       c.String("stash-consumer-key"),
 | |
| 		ConsumerRSA:       c.String("stash-consumer-rsa"),
 | |
| 		ConsumerRSAString: c.String("stash-consumer-rsa-string"),
 | |
| 		SkipVerify:        c.Bool("stash-skip-verify"),
 | |
| 	})
 | |
| }
 | |
| 
 | |
| // helper function to setup the Gitlab remote from the CLI arguments.
 | |
| func setupGitlab(c *cli.Context) (remote.Remote, error) {
 | |
| 	return gitlab.New(gitlab.Opts{
 | |
| 		URL:         c.String("gitlab-server"),
 | |
| 		Client:      c.String("gitlab-client"),
 | |
| 		Secret:      c.String("gitlab-secret"),
 | |
| 		Username:    c.String("gitlab-git-username"),
 | |
| 		Password:    c.String("gitlab-git-password"),
 | |
| 		PrivateMode: c.Bool("gitlab-private-mode"),
 | |
| 		SkipVerify:  c.Bool("gitlab-skip-verify"),
 | |
| 	})
 | |
| }
 | |
| 
 | |
| // helper function to setup the GitHub remote from the CLI arguments.
 | |
| func setupGithub(c *cli.Context) (remote.Remote, error) {
 | |
| 	return github.New(github.Opts{
 | |
| 		URL:         c.String("github-server"),
 | |
| 		Context:     c.String("github-context"),
 | |
| 		Client:      c.String("github-client"),
 | |
| 		Secret:      c.String("github-secret"),
 | |
| 		Scopes:      c.StringSlice("github-scope"),
 | |
| 		Username:    c.String("github-git-username"),
 | |
| 		Password:    c.String("github-git-password"),
 | |
| 		PrivateMode: c.Bool("github-private-mode"),
 | |
| 		SkipVerify:  c.Bool("github-skip-verify"),
 | |
| 		MergeRef:    c.BoolT("github-merge-ref"),
 | |
| 	})
 | |
| }
 |