本文整理汇总了Golang中github.com/bitrise-io/go-utils/cmdex.RunCommand函数的典型用法代码示例。如果您正苦于以下问题:Golang RunCommand函数的具体用法?Golang RunCommand怎么用?Golang RunCommand使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RunCommand函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: performRunOrTriggerWithCmdBridge
func performRunOrTriggerWithCmdBridge(bitriseCommandToUse, inventoryBase64, configBase64, runParamJSONBase64, workflowNameOrTriggerPattern, workdirPath string) error {
bitriseCallArgs := createBitriseCallArgs(bitriseCommandToUse, inventoryBase64, configBase64, runParamJSONBase64, workflowNameOrTriggerPattern)
log.Debugf("=> (debug) bitriseCallArgs: %s", bitriseCallArgs)
bitriseCmdStr := fmt.Sprintf("bitrise %s", strings.Join(bitriseCallArgs, " "))
args := []string{"-workdir", workdirPath, "-do", bitriseCmdStr}
if err := cmdex.RunCommand("cmd-bridge", args...); err != nil {
log.Debugf("cmd: `%s` failed, error: %s", bitriseCmdStr)
return err
}
return nil
}
示例2: performRunOrTriggerWithDocker
func performRunOrTriggerWithDocker(bridgeConfig config.Model, bitriseCommandToUse, inventoryBase64, configBase64, runParamJSONBase64, workflowNameOrTriggerPattern, workdirPath string) error {
dockerParamImageToUse := bridgeConfig.Docker.Image
if dockerParamImageToUse == "" {
return errors.New("No docker-image-id specified")
}
dockerParamIsAllowAccessToDockerInContainer := bridgeConfig.Docker.IsAllowAccessToDockerInContainer
bitriseCallArgs := createBitriseCallArgs(bitriseCommandToUse, inventoryBase64, configBase64, runParamJSONBase64, workflowNameOrTriggerPattern)
log.Debugf("=> (debug) bitriseCallArgs: %s", bitriseCallArgs)
fullDockerArgs := []string{
"run", "--rm",
}
if dockerParamIsAllowAccessToDockerInContainer {
// mount the docker.sock socker & the docker binary as volumes, to make it
// accessible inside the container
dockerPth, err := cmdex.RunCommandAndReturnStdout("which", "docker")
if err != nil || dockerPth == "" {
return errors.New("Failed to determin docker binary path; required for the 'docker-allow-access-to-docker-in-container' option")
}
fullDockerArgs = append(fullDockerArgs,
"-v", "/var/run/docker.sock:/var/run/docker.sock",
"-v", fmt.Sprintf("%s:%s", dockerPth, "/bin/docker"),
)
}
if len(bridgeConfig.Docker.Volumes) > 0 {
for _, aVolDef := range bridgeConfig.Docker.Volumes {
fullDockerArgs = append(fullDockerArgs, "-v", aVolDef)
}
}
if len(bridgeConfig.Docker.AdditionalRunArguments) > 0 {
fullDockerArgs = append(fullDockerArgs, bridgeConfig.Docker.AdditionalRunArguments...)
}
// these are the docker specific params
fullDockerArgs = append(fullDockerArgs, dockerParamImageToUse)
// append Bitrise specific params
fullDockerArgs = append(fullDockerArgs, "bitrise")
fullDockerArgs = append(fullDockerArgs, bitriseCallArgs...)
log.Debugf("fullDockerArgs: %#v", fullDockerArgs)
if err := cmdex.RunCommand("docker", fullDockerArgs...); err != nil {
log.Debugf("cmd: `docker %s` failed, error: %s", fullDockerArgs)
return err
}
return nil
}
示例3: exportProvisioningProfiles
func exportProvisioningProfiles(provProfileFileInfos []provprofile.ProvisioningProfileFileInfoModel,
exportTargetDirPath string) error {
for idx, aProvProfileFileInfo := range provProfileFileInfos {
if idx != 0 {
fmt.Println()
}
provProfileInfo := aProvProfileFileInfo.ProvisioningProfileInfo
log.Infoln(" "+colorstring.Green("Exporting Provisioning Profile:"), provProfileInfo.Name)
log.Infoln(" App ID Name:", provProfileInfo.AppIDName)
log.Infoln(" App ID:", provProfileInfo.Entitlements.AppID)
log.Infoln(" Expiration Date:", provProfileInfo.ExpirationDate)
log.Infoln(" UUID:", provProfileInfo.UUID)
log.Infoln(" TeamName:", provProfileInfo.TeamName)
log.Infoln(" Team ID:", provProfileInfo.Entitlements.TeamID)
exportFileName := provProfileExportFileName(aProvProfileFileInfo)
exportPth := filepath.Join(exportTargetDirPath, exportFileName)
if err := cmdex.RunCommand("cp", aProvProfileFileInfo.Path, exportPth); err != nil {
return fmt.Errorf("Failed to copy Provisioning Profile (from: %s) (to: %s), error: %s",
aProvProfileFileInfo.Path, exportPth, err)
}
}
return nil
}
示例4: EnvmanInitAtPath
// EnvmanInitAtPath ...
func EnvmanInitAtPath(pth string) error {
logLevel := log.GetLevel().String()
args := []string{"--loglevel", logLevel, "--path", pth, "init", "--clear"}
return cmdex.RunCommand("envman", args...)
}
示例5: EnvmanInit
// EnvmanInit ...
func EnvmanInit() error {
logLevel := log.GetLevel().String()
args := []string{"--loglevel", logLevel, "init"}
return cmdex.RunCommand("envman", args...)
}
示例6: StepmanUpdate
// StepmanUpdate ...
func StepmanUpdate(collection string) error {
logLevel := log.GetLevel().String()
args := []string{"--debug", "--loglevel", logLevel, "update", "--collection", collection}
return cmdex.RunCommand("stepman", args...)
}
示例7: StepmanActivate
// StepmanActivate ...
func StepmanActivate(collection, stepID, stepVersion, dir, ymlPth string) error {
logLevel := log.GetLevel().String()
args := []string{"--debug", "--loglevel", logLevel, "activate", "--collection", collection,
"--id", stepID, "--version", stepVersion, "--path", dir, "--copyyml", ymlPth}
return cmdex.RunCommand("stepman", args...)
}
示例8: StepmanShareStart
// StepmanShareStart ...
func StepmanShareStart(collection string) error {
logLevel := log.GetLevel().String()
args := []string{"--loglevel", logLevel, "share", "start", "--collection", collection, "--toolmode"}
return cmdex.RunCommand("stepman", args...)
}
示例9: StepmanShareFinish
// StepmanShareFinish ...
func StepmanShareFinish() error {
logLevel := log.GetLevel().String()
args := []string{"--loglevel", logLevel, "share", "finish", "--toolmode"}
return cmdex.RunCommand("stepman", args...)
}
示例10: StepmanShareCreate
// StepmanShareCreate ...
func StepmanShareCreate(tag, git, stepID string) error {
logLevel := log.GetLevel().String()
args := []string{"--loglevel", logLevel, "share", "create", "--tag", tag, "--git", git, "stepid", stepID, "--toolmode"}
return cmdex.RunCommand("stepman", args...)
}
示例11: exportCodeSigningFiles
func exportCodeSigningFiles(toolName, absExportOutputDirPath string, codeSigningSettings common.CodeSigningSettings) error {
fmt.Println()
fmt.Println()
utils.Printlnf("=== Required Identities/Certificates (%d) ===", len(codeSigningSettings.Identities))
for idx, anIdentity := range codeSigningSettings.Identities {
utils.Printlnf(" * (%d): %s", idx+1, anIdentity.Title)
}
fmt.Println("============================================")
fmt.Println()
utils.Printlnf("=== Required Provisioning Profiles (%d) ===", len(codeSigningSettings.ProvProfiles))
for idx, aProvProfile := range codeSigningSettings.ProvProfiles {
utils.Printlnf(" * (%d): %s (UUID: %s)", idx+1, aProvProfile.Title, aProvProfile.UUID)
}
fmt.Println("==========================================")
fmt.Println()
utils.Printlnf("=== Team IDs (%d) ===", len(codeSigningSettings.TeamIDs))
for idx, aTeamID := range codeSigningSettings.TeamIDs {
utils.Printlnf(" * (%d): %s", idx+1, aTeamID)
}
fmt.Println("==========================================")
fmt.Println()
utils.Printlnf("=== App/Bundle IDs (%d) ===", len(codeSigningSettings.AppIDs))
for idx, anAppBundleID := range codeSigningSettings.AppIDs {
utils.Printlnf(" * (%d): %s", idx+1, anAppBundleID)
}
fmt.Println("==========================================")
fmt.Println()
//
// --- Code Signing issue checks / report
//
if len(codeSigningSettings.Identities) < 1 {
return printFinishedWithError(toolName, "No Code Signing Identity detected!")
}
if len(codeSigningSettings.Identities) > 1 {
log.Warning(colorstring.Yellow("More than one Code Signing Identity (certificate) is required to sign your app!"))
log.Warning("You should check your settings and make sure a single Identity/Certificate can be used")
log.Warning(" for Archiving your app!")
}
if len(codeSigningSettings.ProvProfiles) < 1 {
return printFinishedWithError(toolName, "No Provisioning Profiles detected!")
}
//
// --- Export
//
if !isAllowExport {
isShouldExport, err := goinp.AskForBoolWithDefault("Do you want to export these files?", true)
if err != nil {
return printFinishedWithError(toolName, "Failed to process your input: %s", err)
}
if !isShouldExport {
printFinished()
return nil
}
} else {
log.Debug("Allow Export flag was set - doing export without asking")
}
exportedProvProfiles, err := collectAndExportProvisioningProfiles(codeSigningSettings, absExportOutputDirPath)
if err != nil {
return printFinishedWithError(toolName, "Failed to export Provisioning Profiles, error: %s", err)
}
if err := collectAndExportIdentities(codeSigningSettings, exportedProvProfiles.CollectTeamIDs(), absExportOutputDirPath); err != nil {
return printFinishedWithError(toolName, "Failed to export identities, error: %s", err)
}
fmt.Println()
fmt.Printf(colorstring.Green("Exports finished")+" you can find the exported files at: %s\n", absExportOutputDirPath)
if err := cmdex.RunCommand("open", absExportOutputDirPath); err != nil {
log.Errorf("Failed to open the export directory in Finder: %s", absExportOutputDirPath)
}
fmt.Println("Opened the directory in Finder.")
fmt.Println()
printFinished()
return nil
}