关于Jenkins中构建的问题

关于Jenkins中构建的问题

老师,Jenkins配置源码管理的那部分时,我发现我们的Jenkins没有Multi SCMS这个选项,只有Null,Git,和 SubVersion 这三个选项,我们也是只用了 Git 这一项。里面的多 module 也是通过打包脚本来动态指定的。

我的疑问是:

1、我们的 Jenkins 里面只有 Git 这一项,全都配置好了,也都能用,那么指定了分支以后 Jenkins 是如何工作的呢?指定了分支,Jenkins 每次都会去 pull 指定分支的最新代码吗?如果是,那么 Jenkins 每次 build 的产物用的就都是当前远程分支的最新代码吗?
2、Jenkins 会为每个 Job 在 Jenkins 所在的服务器去创建一个文件夹来单独存放指定分支的代码吗?

3、假如说 Jenkins 会为某一个 build 的 Job 去创建本地文件夹,那么如果我们在打包的时候通过 Gradle 去动态改变某些文件的内容的话,那么我们下一次编译是不是就会使用前一次已经改变过的文件呢?这时又说回到提出的第一个问题,每一次 build,都会把代码变为远程分支的最新代码呢?

(PS:感觉说的有点混乱,说白了,我就想知道如果通过 gradle 动态改变某些文件而且不做还原的话,那么接下来的第二次编译会受到什么样的影响呢?)

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
LovelyChubby 2021-06-05 23:00:32

指定了分支,配置了git

它就是使用git checkout  branch命令拉取分支最新代码。代码存放的位置是固定,可以在Jenkins 后台配置workspace

每次都会拉取一次代码,每次都是完整的构建过程

所以你的三个问题就都解答了。
1.  每次都是拉取最新代码
2. 不能为每次build使用不同的文件存档目录
3. 不会使用之前的文件

  • 提问者 冷色幽默 #1

    好的,明白了,thanks
    还有一个问题,就是在构建 job 的时候想传递参数,但是工程构建的入口是一个 shell 脚本该怎么办呢?这时候配置的参数要如何传递到构建过程中呢?

    2021-06-05 23:03:26
  • gradle构建是支持传参的,gradle哪一章,电子书上有写怎么传递,怎么取出来

    task(type: JavaExec) {

      if (project.hasProperty('myargs')) {
         
      }
    这样在命令行运行:

    % ./gradlew task  '-Pmyargs=1111'

    2021-06-07 16:48:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师