sources

package
v3.6.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 19, 2018 License: LGPL-3.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllCmds

func AllCmds() []string

AllCmds List all legal cmds in a dockerfile

func CheckFileExist

func CheckFileExist(path string) bool

CheckFileExist CheckFileExist

func CheckTrustedRepositories

func CheckTrustedRepositories(image, user, pass string) error

CheckTrustedRepositories check Repositories is exist ,if not create it.

func CopyFileWithProgress

func CopyFileWithProgress(src, dst string, logger event.Logger) error

CopyFileWithProgress 复制文件,带进度

func CopyToFile

func CopyToFile(outfile string, r io.Reader) error

CopyToFile writes the content of the reader to the specified file

func CopyWithProgress

func CopyWithProgress(srcFile SrcFile, dstFile DstFile, allSize int64, logger event.Logger) (err error)

CopyWithProgress copy file

func EncodeAuthToBase64

func EncodeAuthToBase64(authConfig types.AuthConfig) (string, error)

EncodeAuthToBase64 serializes the auth configuration as JSON base64 payload

func GetCodeSourceDir

func GetCodeSourceDir(RepositoryURL, branch, tenantID string) string

GetCodeSourceDir 获取源码下载目录

func GetLastCommit

func GetLastCommit(re *git.Repository) (*object.Commit, error)

GetLastCommit get last commit info get commit by head reference

func GetPrivateFile

func GetPrivateFile() string

GetPrivateFile 获取私钥文件地址

func GetPublicKey

func GetPublicKey() string

GetPublicKey 获取公钥

func GitClone

func GitClone(csi CodeSourceInfo, sourceDir string, logger event.Logger, timeout int) (*git.Repository, error)

GitClone git clone code

func GitCloneOrPull

func GitCloneOrPull(csi CodeSourceInfo, sourceDir string, logger event.Logger, timeout int) (*git.Repository, error)

GitCloneOrPull if code exist in local,use git pull.

func GitPull

func GitPull(csi CodeSourceInfo, sourceDir string, logger event.Logger, timeout int) (*git.Repository, error)

GitPull git pull code

func Home

func Home() (string, error)

Home returns the home directory for the executing user.

This uses an OS-specific method for discovering the home directory. An error is returned if a home directory cannot be detected.

func ImageBuild

func ImageBuild(dockerCli *client.Client, contextDir string, options types.ImageBuildOptions, logger event.Logger, timeout int) error

ImageBuild ImageBuild

func ImageImport

func ImageImport(dockerCli *client.Client, image, source string, logger event.Logger) error

ImageImport save image to tar file source source file name eg. /tmp/xxx.tar

func ImageInspectWithRaw

func ImageInspectWithRaw(dockerCli *client.Client, image string) (*types.ImageInspect, error)

ImageInspectWithRaw get image inspect

func ImageLoad

func ImageLoad(dockerCli *client.Client, tarFile string, logger event.Logger) error

ImageSave save image to tar file destination destination file name eg. /tmp/xxx.tar

func ImageNameHandle

func ImageNameHandle(imageName string) *model.ImageName

ImageNameHandle 解析imagename

func ImagePull

func ImagePull(dockerCli *client.Client, image string, username, password string, logger event.Logger, timeout int) (*types.ImageInspect, error)

ImagePull 拉取镜像 timeout 分钟为单位

func ImagePush

func ImagePush(dockerCli *client.Client, image, user, pass string, logger event.Logger, timeout int) error

ImagePush 推送镜像 timeout 分钟为单位

func ImageRemove

func ImageRemove(dockerCli *client.Client, image string) error

ImageRemove remove image

func ImageSave

func ImageSave(dockerCli *client.Client, image, destination string, logger event.Logger) error

ImageSave save image to tar file destination destination file name eg. /tmp/xxx.tar

func ImageTag

func ImageTag(dockerCli *client.Client, source, target string, logger event.Logger, timeout int) error

ImageTag 修改镜像tag

func RemoveDir

func RemoveDir(path string) error

RemoveDir RemoveDir

func TrustedImagePush

func TrustedImagePush(dockerCli *client.Client, image, user, pass string, logger event.Logger, timeout int) error

TrustedImagePush push image to trusted registry

Types

type CodeSourceInfo

type CodeSourceInfo struct {
	ServerType    string `json:"server_type"`
	RepositoryURL string `json:"repository_url"`
	Branch        string `json:"branch"`
	User          string `json:"user"`
	Password      string `json:"password"`
	//避免项目之间冲突,代码缓存目录提高到租户
	TenantID string `json:"tenant_id"`
}

CodeSourceInfo 代码源信息

func (CodeSourceInfo) GetCodeCacheDir

func (c CodeSourceInfo) GetCodeCacheDir() string

GetCodeCacheDir 获取代码缓存目录

func (CodeSourceInfo) GetCodeSourceDir

func (c CodeSourceInfo) GetCodeSourceDir() string

GetCodeSourceDir 获取代码下载目录

type Command

type Command struct {
	Cmd       string   // lowercased command name (ex: `from`)
	SubCmd    string   // for ONBUILD only this holds the sub-command
	Json      bool     // whether the value is written in json form
	Original  string   // The original source line
	StartLine int      // The original source line number
	Flags     []string // Any flags such as `--from=...` for `COPY`.
	Value     []string // The contents of the command (ex: `ubuntu:xenial`)
}

Command Represents a single line (layer) in a Dockerfile. For example `FROM ubuntu:xenial`

func ParseFile

func ParseFile(filename string) ([]Command, error)

ParseFile Parse a Dockerfile from a filename. An IOError or ParseError may occur.

func ParseReader

func ParseReader(file io.Reader) ([]Command, error)

ParseReader Parse a Dockerfile from a reader. A ParseError may occur.

type DstFile

type DstFile interface {
	Write([]byte) (int, error)
}

DstFile 目标文件

type IOError

type IOError struct {
	Msg string
}

IOError A failure in opening a file for reading.

func (IOError) Error

func (e IOError) Error() string

type JSONError

type JSONError struct {
	Code    int    `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
}

JSONError wraps a concrete Code and Message, `Code` is is an integer error code, `Message` is the error message.

func (*JSONError) Error

func (e *JSONError) Error() string

type JSONMessage

type JSONMessage struct {
	Stream          string        `json:"stream,omitempty"`
	Status          string        `json:"status,omitempty"`
	Progress        *JSONProgress `json:"progressDetail,omitempty"`
	ProgressMessage string        `json:"progress,omitempty"` //deprecated
	ID              string        `json:"id,omitempty"`
	From            string        `json:"from,omitempty"`
	Time            int64         `json:"time,omitempty"`
	TimeNano        int64         `json:"timeNano,omitempty"`
	Error           *JSONError    `json:"errorDetail,omitempty"`
	ErrorMessage    string        `json:"error,omitempty"` //deprecated
	// Aux contains out-of-band data, such as digests for push signing.
	Aux *json.RawMessage `json:"aux,omitempty"`
}

JSONMessage JSONMessage

func (*JSONMessage) JSONString

func (j *JSONMessage) JSONString() string

JSONString return json string

type JSONProgress

type JSONProgress struct {
	Current int64 `json:"current,omitempty"`
	Total   int64 `json:"total,omitempty"`
	Start   int64 `json:"start,omitempty"`
	// If true, don't show xB/yB
	HideCounts bool `json:"hidecounts,omitempty"`
	// contains filtered or unexported fields
}

JSONProgress describes a Progress. terminalFd is the fd of the current terminal, Start is the initial value for the operation. Current is the current status and value of the progress made towards Total. Total is the end value describing when we made 100% progress for an operation.

type ParseError

type ParseError struct {
	Msg string
}

ParseError A failure in parsing the file as a dockerfile.

func (ParseError) Error

func (e ParseError) Error() string

type Repostory

type Repostory struct {
	ID               int    `json:"id,omitempty"`
	Namespace        string `json:"namespace,omitempty"`
	NamespaceType    string `json:"namespaceType,omitempty"`
	Name             string `json:"name"`
	ShortDescription string `json:"shortDescription"`
	LongDescription  string `json:"longDescription"`
	Visibility       string `json:"visibility"`
	Status           string `json:"status,omitempty"`
}

Repostory repostory info

type RepostoryBuildInfo

type RepostoryBuildInfo struct {
	RepostoryURL string
	BuildPath    string
	CodeHome     string
	// contains filtered or unexported fields
}

RepostoryBuildInfo 源码编译信息

func CreateRepostoryBuildInfo

func CreateRepostoryBuildInfo(repoURL, branch, tenantID string) (*RepostoryBuildInfo, error)

CreateRepostoryBuildInfo 创建源码编译信息

func (*RepostoryBuildInfo) GetCodeBuildAbsPath

func (r *RepostoryBuildInfo) GetCodeBuildAbsPath() string

GetCodeBuildAbsPath 获取代码编译绝对目录

func (*RepostoryBuildInfo) GetCodeBuildPath

func (r *RepostoryBuildInfo) GetCodeBuildPath() string

GetCodeBuildPath 获取代码编译相对目录

func (*RepostoryBuildInfo) GetCodeHome

func (r *RepostoryBuildInfo) GetCodeHome() string

GetCodeHome 获取代码目录

func (*RepostoryBuildInfo) GetProtocol

func (r *RepostoryBuildInfo) GetProtocol() string

GetProtocol 获取协议

type SFTPClient

type SFTPClient struct {
	UserName string `json:"username"`
	PassWord string `json:"password"`
	Host     string `json:"host"`
	Port     int    `json:"int"`
	// contains filtered or unexported fields
}

SFTPClient sFTP客户端

func NewSFTPClient

func NewSFTPClient(username, password, host, port string) (*SFTPClient, error)

NewSFTPClient NewSFTPClient

func (*SFTPClient) Close

func (s *SFTPClient) Close()

Close 关闭啊

func (*SFTPClient) DownloadFile

func (s *SFTPClient) DownloadFile(src, dst string, logger event.Logger) error

DownloadFile DownloadFile

func (*SFTPClient) FileExist

func (s *SFTPClient) FileExist(filepath string) (bool, error)

FileExist 文件是否存在

func (*SFTPClient) MkdirAll

func (s *SFTPClient) MkdirAll(dirpath string) error

MkdirAll 创建目录,递归

func (*SFTPClient) PushFile

func (s *SFTPClient) PushFile(src, dst string, logger event.Logger) error

PushFile PushFile

type SrcFile

type SrcFile interface {
	Read([]byte) (int, error)
}

SrcFile 源文件

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL