小编Joh*_*ion的帖子

.bat 脚本中的 git clone

是否可以编写一个在脚本中间执行“git clone”的 Windows .bat 脚本,以便脚本继续运行?它总是为我退出。

我在 Windows 7 Enterprise SP1 上使用来自“The Git Development Community”的 64 位 Git 版本 2.8.3。git.exe 在我的路径中 (c:\program files\git\cmd\git.exe) - 它不是通过 git.cmd 或类似文件间接执行的。

我能够运行一系列命令,例如

git init
git add --all
git commit -m "commit message"
Run Code Online (Sandbox Code Playgroud)

使用这些命令,批处理脚本会继续正常执行每个命令。和

git clone {url}
Run Code Online (Sandbox Code Playgroud)

脚本立即退出,通常带有双重提示,提示某种异常退出(即使 %ERRORLEVEL% 为 0):

git clone {url} new
Cloning into 'new'...
remote: Counting objects: 26, done
remote: Compressing objects: 100% (23/23) done.
remote: Total 26 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (26/26) done.
Checking connectivity... done. …
Run Code Online (Sandbox Code Playgroud)

git batch-file

5
推荐指数
1
解决办法
1万
查看次数

Jenkins Git插件停在“ git rev-list”上

在Windows Server 2012从属服务器上运行Jenkins时,作业已成功从Bitbucket本地(在防火墙内)提供服务的Git中获取数据;它的最后一项任务是对刚签出的更改执行“ git rev-list”。此命令大约需要8分钟才能完成。这是可重复的;这是一个相对较新的环境,我没有历史来看看这是否刚刚开始。

在我们的生产环境中,Jenkins本身在没有从属设备的Windows上运行(长达2年),此相同的rev-list命令只需3秒钟即可完成。

我看到过多次提到“ git fetch挂起”的内容,但对我而言,并不是挂起了-鉴于项目的规模,它会在合理的时间内完成。

带时间戳的日志如下。

00:00:00.001 Started by user #####
00:00:00.002 Building remotely on JS-W-01 (msvs ishield win) in workspace c:\jenkins\workspace\MyProject\2.7.11_nightly@2
00:00:00.015 [TemplateProject] Using SCM from: MyProject � 2.7.11_Template
00:00:00.044 Cloning the remote Git repository
00:00:00.049 Cloning repository ssh://vdn-bitbucket:7999/myprojectcore.git
00:00:00.052  > git init c:\jenkins\workspace\MyProject\2.7.11_nightly@2 # timeout=10
00:00:00.153 Fetching upstream changes from ssh://vdn-bitbucket:7999/myprojectcore.git
00:00:00.154  > git --version # timeout=10
00:00:00.200 using GIT_SSH to set credentials Jenkins Builder vdnbuild-bb SSH access key
00:00:00.210  > git fetch --tags …
Run Code Online (Sandbox Code Playgroud)

git jenkins jenkins-slave

5
推荐指数
1
解决办法
1380
查看次数

Jenkins Pipeline:闭包不应该和外部平行地解决变量吗?

我在尝试在Jenkins管道脚本中执行代码时遇到了一些令人困惑的行为.闭包内的值带有一些意外的值.我已经看到了对局部变量技巧的引用,据说可以解决这个问题,但它对我不起作用.

简化示例:创建3个作业'a','b','c'打印其参数 - 传入和复制到本地.首先并行执行作业; 然后执行外部并行以比较结果.定义因为println在我的Jenkins中提供访问异常(我不是管理员).

def say(s) {println(s)} // println gives exception inside create_jobs

def create_jobs() {
  def map = [:]                // needed for parallel
  def jobrunfn = { jobid ->    // return a closure that prints hello from job
    def pid = "$jobid"
    return {
      def xsay = { s -> say("[$pid] $s") }
      xsay "HELLO from $pid"
    }
  }

  map['a'] = jobrunfn('a')
  map['b'] = jobrunfn('b')
  map['c'] = jobrunfn('c')
  return map
}

def jobs = create_jobs()
parallel(jobs)              // for …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-pipeline

4
推荐指数
1
解决办法
2636
查看次数

如何在Jenkins“全局配置”页面中进行更改?(页面是只读的)

我正在运行一个 Jenkins 实例(我拥有所有权限),并尝试创建和添加 Groovy Pipeline 代码的共享库。似乎有一种方法可以通过 UI 执行此操作,方法是单击根 Jenkins 页面左侧的“全局配置”。(这不是“管理 Jenkins”链接 - 该链接工作正常。)

当我点击“全局配置”时,似乎可以配置各种各样的东西,但似乎每个项目都被禁用了。当我在描述框中键入时,没有字符出现。当我选中一个复选框时,它不会更改为选中。“全局管道库”中的“添加”按钮(实际上是所有按钮)已禁用且无法按下。

我确定我遗漏了一些非常明显的东西,但我就是找不到。任何想法为什么全局配置页面对于 Jenkins 管理员来说是只读的?

jenkins

1
推荐指数
1
解决办法
7193
查看次数